|
Hello all,
The following code will retrieve a unique processor ID (for the first processor) using the .NET Frameworks System.Management.ManagementClass class:
public static string GetCPUId()
{
string cpuInfo = string.Empty;
ManagementClass mgr = new ManagementClass("Win32_Processor");
ManagementObjectCollection mgrCollection = mgr.GetInstances();
foreach (ManagementObject mgrItem in mgrCollection)
{
if (cpuInfo == string.Empty)
{
cpuInfo = mgrItem.Properties["ProcessorId"].Value.ToString();
break;
}
}
return cpuInfo;
}
However I need to do the same thing using DllImport/Interop. Does anybody know how to do this?
|
|
|
|
|
MrEyes wrote: The following code will retrieve a unique processor ID
According to
this web page[^] the processorID is not unique at all.
You are confusing with the processor serial number which might be available through the
UniqueID field of WMI, but this feature may be absent or disabled (in which case
WMI returns a null value). The default state is: disabled.
To access such features without WMI you need low-level code, say C + assembly,
that executes the CPUID instruction and returns some register values; plus of course
the necessary P/Invoke stuff to interface to the native code.
For more info on CPUID, search for "Intel CPUID" and you will find utilities and
documentation (Intel App Note 485).
|
|
|
|
|
Hi All,
i have a problem while minimizing a form , actually i have a form and in this form i have a button and on the button click event i m opening a new form but when i minimize the second form it is also minimizing the first form , how can i fix this problem .
Please help me.........
Praveen Sharma
|
|
|
|
|
Just a wild guess.....
topksharma1982 wrote: i m opening a new form but when i minimize the second form it is also minimizing the first form , how can i fix this problem .
If you're using Form.ShowDialog(); , use Form.Show() instead.
Gideon
|
|
|
|
|
thanx a lot,
but is there any way with ShowDialog() also.
Praveen Sharma
|
|
|
|
|
no its not a MDI form .
Praveen Sharma
|
|
|
|
|
I dont think so, ShowDialog() exists to make the second form stay on top of the first;
minimizing the second without minimizing the first would defy that purpose.
|
|
|
|
|
Hi all,
I've seen a lot of posts over the web about this issue but not even one(!) prudent solution.
I'm creating an excel file. Filling in some data, saving the excel and then when i'm trying to delete it i get the following exception:
"The process cannot access the file 'c:\temporaryFiles\ANLsnir_yarom_276200717848.xls' because it is being used by another process. "
Here's a code extract of the problem, a lot of progarammers would appriciate an answer for this riddle:
Excel.Application excelApp = new new Excel.Application();
Excel._Workbook workbook = (Excel._Workbook)excelApp.Workbooks.Add(Type.Missing);
Excel._Worksheet worksheet = (Excel._Worksheet)workbook.ActiveSheet;
//write into the excel and...
workbook.Close(ANL_Excel.vk_true, filePath, ANL_Excel.vk_false);
excelApp.Save(filePath);
excelApp.Quit();
Process[] pProcess;
pProcess = System.Diagnostics.Process.GetProcessesByName("Excel");
pProcess[0].Kill();
File.Delete(filePath);
Many Thanks,
Snir Yarom.
|
|
|
|
|
two observations about your code snippet:
1. only the first process returned by GetProcessesByName is being killed; what if there is more than one EXCEL.exe?
2. none of the Excel COM objects are being released. Don't forget to Marshal.ReleaseComObject(aComObject); all those Excel objects being created.
hope this helps . . .
|
|
|
|
|
Thanks for the reply.
I've implmeneted your observations:
Process[] pProcess;<br />
pProcess = System.Diagnostics.Process.GetProcessesByName("Excel");<br />
foreach(Process prcs in pProcess)<br />
{<br />
if (prcs != null)<br />
prcs.Kill();<br />
} <br />
<br />
Marshal.ReleaseComObject(excelApp);
But still, i get the same exception when i'm trying to delete this file.
Any suggestions?
Thanks.
|
|
|
|
|
// Need this to clean up all refs
workbook.Close(null,null,null);
excelApp.Workbooks.Close();
excelApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject (excelApp);
System.Runtime.InteropServices.Marshal.ReleaseComObject (worksheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject (workbook);
worksheet=null;
workbook=null;
excelApp= null;
GC.Collect(); // final cleanup!
then delete your file
Nav.
|
|
|
|
|
Hi,
How to create Slip Definition Files (.sdf) files in C#. If anybody having samples, please give me. Thanks in advance.
AR Reddy
|
|
|
|
|
A Slip Definition File?
Something like
<Slip>
<Design>Tanga</Design>
<Size>10</Size>
<Color>Red</Color>
<Material>Lace</Material>
</Slip>
SCNR
Regards,
mav
--
Black holes are the places where God divided by 0...
|
|
|
|
|
Hi friends,
I am designing a paint brush type program…..for drawing area where I can draw something then I used pictureBox…..like as
Pen p = new Pen(Color.Red, 5);<br />
g = pictureBox2.CreateGraphics();<br />
g.DrawEllipse(p, e.X, e.Y, 5, 7);
in this program I can draw anything but when I want to save this drawing by the help of this command: pictureBox2.Image.Save(saveFileDialog1.FileName);
then an error occur : “NullReferenceExpection was unhandled !” “Object reference not set to an instance of an object .”
i got the solution of above problem like as:
Bitmap bmp = new Bitmap(pictureBox2.Width, pictureBox2.Height);<br />
Graphics g = Graphics.FromImage(bmp);<br />
Pen p = new Pen(Color.Red, 5);<br />
g.DrawEllipse(p, e.X, e.Y, 5, 7); <br />
pictureBox2.Image = bmp;
follwing code solve just half problem...............means save only last ellipse ,but i want whole drawing
private void pictureBox2_MouseDown(object sender, MouseEventArgs e)<br />
{ <br />
if (e.Button == MouseButtons.Left)<br />
{<br />
Bitmap bmp = new Bitmap(pictureBox2.Width, pictureBox2.Height);<br />
<br />
Graphics g = Graphics.FromImage(bmp);<br />
<br />
Pen p = new Pen(Color.Red, 5);<br />
<br />
g.DrawEllipse(p, e.X, e.Y, 5, 7); <br />
} ---------------------------------------------------------------
and then ......... ... .
if (saveFileDialog1.ShowDialog() == DialogResult.OK)<br />
{<br />
pictureBox2.Image = bmp;<br />
<br />
pictureBox2.Image.Save(saveFileDialog1.FileName);
}-----------------------------------------------------------------
i think, there is something missing in
Graphics g = Graphics.FromImage(bmp);
or
pictureBox2.Image = bmp; (like: pictureBox2.Image += bmp; but illegal )
-----------------------------------------------------------------
bmp or pictureBox does not update with previous condition
it always losing the previous ellipse and save the last drawn
ellipse
i need your help!
thanks
|
|
|
|
|
Hello,
I think you have to do the drawing task in the OnPaint event of the PictureBox.
To force painting of the control you could use "Refresh()" or "Invalidate()".
And you should allways dispose the IDisposable members.
Cause this will cause memory leaks!
Pen p = new Pen(Color.Red, 5);
p.Dispose();
or
using(Pen p = new Pen(Color.Red, 5))
{
}
All the best,
Martin
|
|
|
|
|
Explain more.......
i use
private void pictureBox2_MouseDown(object sender, MouseEventArgs e)<br />
private void pictureBox2_MouseMove(object sender, MouseEventArgs e)<br />
private void pictureBox2_MouseUp(object sender, MouseEventArgs e)
events for drawing onto the pictureBox
how i can use "Refresh()" or "Invalidate()"?
i just want drawing area(pictureBox,bitmap etc..) where i draw something and save this drawing in my hard drive.
i already make the paintbrush type program ,all functions doing well ....also drawing is save onto the my drive but it is incomplete
|
|
|
|
|
Hi Martin,
Martin# wrote: And you should allways dispose the IDisposable members
you should Dispose() the disposable objects you created, either by instantiating
them with the new keyword, or by calling a create method such as CreateGraphics;
but not the ones handed to you, e.g. PaintEventArgs.Graphics or the system objects
such as Pens.Black
|
|
|
|
|
Hello Luc,
Thanks for the additional infos, I didn't explained it propper I guess!
All the best,
Martin
|
|
|
|
|
zeeShan anSari wrote: g = pictureBox2.CreateGraphics();
Out of curiosity, what made you do it like this ? There seem to be a flood of people doing this, and it's totally wrong.
zeeShan anSari wrote: in this program I can draw anything but when I want to save this drawing by the help of this command: pictureBox2.Image.Save(saveFileDialog1.FileName);
This was answered at length for someone else just below. CreateGRaphics is bad, don't use it. If you use a picturebox, put a picture in it, and draw on it first. Then you can save it. CreateGraphics should be used only for drawing things you want to be able to erase, such as rubber bands. It is not for persistent drawing, and certainly it makes your picture box a waste of time, it never does anything.
Christian Graus - Microsoft MVP - C++
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
Christian Graus!
i change my codeing
Bitmap bmp = new Bitmap(pictureBox2.Width, pictureBox2.Height);
Graphics g = Graphics.FromImage(bmp);
Pen p = new Pen(Color.Red, 5);
g.DrawEllipse(p, e.X, e.Y, 5, 7);
pictureBox2.Image = bmp;
here i don't use CreateGraphics();
------------
please read my first post " Problem about bitmap in Visual Studio C Sharp.NET ?"
|
|
|
|
|
Dear All,
I have two grids g1 and g2 and three tables t1,t2,t3. Basically there are only two tables t1 & t3 which have many to many relationship between them for which i have created t2. I want to show the data of t1 in g1 and data of t3 in g2 based on selected row of g1.
Can any body tell me how can i do this? Currently i have created two relationships dr1 (between t1 & t2) and dr2 (between t2 & t3) and have databinding like this:
g1.DataSource=t1;
g2.DataSource=t1;
g2.DataMember="dr1.dr2";
This scheme shows the data in g2 but not all the relevant rows in g2 are displayed. Instead just a single row against one row in g1 is displayed.
Kindly give me some guidance in this regard.
Regards,
Wasif Ehsan.
|
|
|
|
|
I'd go the easy way out & create two datasets that collect the information I want to display & bind the grids to them.
I think I'm going to call my next project "Chuck Norris". It's a sure way to guarantee it's unbreakable.
• • •
But fortunately we have the nanny-state politicians who can step in to protect us poor stupid consumers, most of whom would not know a JVM from a frozen chicken. Bruce Pierson
|
|
|
|
|
I am working on an application in which i save save html files which have ISO-8859-1 encoding (The html files are in spanish).
I use stream writer to save the source of the files as html files.
The problem is the encoding options available in the system.text.Encoding class are
ASCII
UTF7
UTF32
UTF8
Unicode
so when I save the page it changes certain characters.
Can Any 1 suggest which encoding i should use ...
o O º(`'·.,(`'·., ☆,.·''),.·'')º O o°
»·'"`»* *☆ t4ure4n ☆* *«·'"`«
°o O º(,.·''(,.·'' ☆`'·.,)`'·.,)º O o°
|
|
|
|
|
Encoding.Default should do the job
|
|
|
|
|
Thanks it worked for me
o O º(`'·.,(`'·., ☆,.·''),.·'')º O o°
»·'"`»* *☆ t4ure4n ☆* *«·'"`«
°o O º(,.·''(,.·'' ☆`'·.,)`'·.,)º O o°
|
|
|
|