|
|
Comments and Discussions
|
|
 |

|
Your code is absolutely reliable and I learned many things from it.
Thanks a lot.
|
|
|
|
|

|
I am a student.
the Demo project that is upon not executed.
What is the reason?
|
|
|
|
|

|
Hello,
Thank you very much for your source, it's really too nice.
There is a little mistake when select item in the combox, this is due to a forgoten "," in the initialisation of Query[NUM_OF_QUERIES][50] in SysInfoDefs.h after
"Hard Disk Features (S.M.A.R.T.)"
Best regards
Aramii.
|
|
|
|

|
Hi Iain Chesworth
Thank you very much for Class CPUinfo
My program , I want to get CPU info with all chip. But I don't
Please help me ?
|
|
|
|

|
hi mr riaz plz help me i post Qustion bt no anser i m lays
plz helpme im student n wants ur help on this project
|
|
|
|

|
system can not execute the projct
|
|
|
|

|
system information hardware.software by abbas riaz;have 32 errors hw can i used it ??????????????????
error list is
ysInfoDefs.cpp(695) : error C2065: 'DRIVE_LAYOUT_INFORMATION_EX' : undeclared identifier
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(695) : error C2146: syntax error : missing ';' before identifier 'dli'
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(695) : error C2065: 'dli' : undeclared identifier
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(709) : error C2065: 'IOCTL_DISK_GET_DRIVE_LAYOUT_EX' : undeclared identifier
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(718) : error C2228: left of '.PartitionCount' must have class/struct/union type
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(721) : error C2228: left of '.PartitionCount' must have class/struct/union type
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(726) : error C2228: left of '.PartitionStyle' must have class/struct/union type
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(728) : error C2065: 'PARTITION_STYLE_MBR' : undeclared identifier
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(728) : error C2051: case expression not constant
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(732) : error C2228: left of '.Mbr' must have class/struct/union type
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(732) : error C2228: left of '.Signature' must have class/struct/union type
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(736) : error C2065: 'PARTITION_STYLE_GPT' : undeclared identifier
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(736) : error C2051: case expression not constant
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(740) : error C2228: left of '.Gpt' must have class/struct/union type
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(740) : error C2228: left of '.DiskId' must have class/struct/union type
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(743) : error C2228: left of '.Gpt' must have class/struct/union type
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(743) : error C2228: left of '.StartingUsableOffset' must have class/struct/union type
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(745) : error C2228: left of '.Gpt' must have class/struct/union type
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(745) : error C2228: left of '.UsableLength' must have class/struct/union type
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(747) : error C2228: left of '.Gpt' must have class/struct/union type
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(747) : error C2228: left of '.MaxPartitionCount' must have class/struct/union type
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(751) : error C2065: 'PARTITION_STYLE_RAW' : undeclared identifier
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(751) : error C2051: case expression not constant
C:\Documents and Settings\amna\Desktop\sys\SysInfoDefs.cpp(761) : warning C4065: switch statement contains 'default' but no 'case' labels
SysInfoDlg.cpp
C:\Documents and Settings\amna\Desktop\sys\SysInfoDlg.cpp(305) : error C2065: 'CSIDL_WINDOWS' : undeclared identifier
C:\Documents and Settings\amna\Desktop\sys\SysInfoDlg.cpp(311) : error C2065: 'CSIDL_SYSTEM' : undeclared identifier
C:\Documents and Settings\amna\Desktop\sys\SysInfoDlg.cpp(359) : error C2065: 'CSIDL_LOCAL_APPDATA' : undeclared identifier
C:\Documents and Settings\amna\Desktop\sys\SysInfoDlg.cpp(365) : error C2065: 'CSIDL_MYDOCUMENTS' : undeclared identifier
C:\Documents and Settings\amna\Desktop\sys\SysInfoDlg.cpp(371) : error C2065: 'CSIDL_PROGRAM_FILES' : undeclared identifier
C:\Documents and Settings\amna\Desktop\sys\SysInfoDlg.cpp(401) : error C2065: 'CSIDL_ADMINTOOLS' : undeclared identifier
C:\Documents and Settings\amna\Desktop\sys\SysInfoDlg.cpp(425) : error C2065: 'CSIDL_PROFILE' : undeclared identifier
C:\Documents and Settings\amna\Desktop\sys\SysInfoDlg.cpp(461) : error C2065: 'CSIDL_COMMON_ADMINTOOLS' : undeclared identifier
C:\Documents and Settings\amna\Desktop\sys\SysInfoDlg.cpp(467) : error C2065: 'CSIDL_COMMON_APPDATA' : undeclared identifier
C:\Documents and Settings\amna\Desktop\sys\SysInfoDlg.cpp(473) : error C2065: 'CSIDL_COMMON_DOCUMENTS' : undeclared identifier
C:\Documents and Settings\amna\Desktop\sys\SysInfoDlg.cpp(479) : error C2065: 'CSIDL_COMMON_TEMPLATES' : undeclared identifier
Generating Code...
Error executing cl.exe.
SysInfo.exe - 34 error(s), 1 warning(s)
|
|
|
|

|
Hi Razi,
Your source for retrieving system informations is very good and very clear!
It helped me a lot with a small project (getting status and notifications of a server, when something is not working properly). The other acrticles of yours are also very good, especially the one about GPS. I just want to say thank you for your good help.
**We are an example of helping each other**
|
|
|
|

|
Can you give me any tips to create a new partition in Hard Disk?
|
|
|
|

|
I have some questions about HD Physical information. Can you help me in this regard.
Questions:
1)Where the Physical information( say Cylinder, Head, Sector)reside?
2) How can I get these information?
|
|
|
|

|
Dear All,
When I try to download the source,
A pop-up window displayed asking for username and password.
I have provided my code project username and password and clicked ok - still I am unable to download the source.. help me..
|
|
|
|

|
Hi, great program.
Any code or thoughts on how to detect S.M.A.R.T. info for SCSI drives?
Thanks,
Will
|
|
|
|

|
I tried to retrive the CPU serial number of the AMD 64 but it doesn't work . What must I do to get the 64 bit procesor serial number.
Thanks
|
|
|
|

|
Hi Abbas
I compiled and executed your sample, I recieved a error in the edit box when I chose Partitions from the combo. So I took a look a your source code.
Heres what I discovered:
In QueryPartitions funtion, the call to DeviceIoControl will sometimes fail with the error code ERROR_INSUFFICIENT_BUFFER. This is because the struct DRIVE_LAYOUT_INFORMATION_EX that needs to be passed to DeviceIoControl is variable length, the size of the data returned depends on the number of drives, and partitions.
In addition, some driver implementations will return a partial buffer, they will simply write whatever data they can fit into the buffer. DeviceIoControl will fail with error code ERROR_MORE_DATA in this case.
These conditions can be handled by doing the following:
First change variable dli declaration to:
DRIVE_LAYOUT_INFORMATION_EX* dli = NULL;
Here is the code to insert:
DWORD dwbytes=0;
DWORD dwlastErr = 0;
int i=0;
do
{
if(NULL != dli)
{
delete[] (char*)dli;
dli = NULL;
}
DWORD datasize = sizeof(DRIVE_LAYOUT_INFORMATION_EX) + i * sizeof(PARTITION_INFORMATION_EX);
dli = (DRIVE_LAYOUT_INFORMATION_EX*)new char[datasize];
if(dli)
{
bResult=DeviceIoControl(hDevice,IOCTL_DISK_GET_DRIVE_LAYOUT_EX,NULL,0,dli, datasize,&dwbytes,(LPOVERLAPPED) NULL);
dwlastErr = GetLastError();
i++;
}
}
while((dwbytes == 0 && dwlastErr == ERROR_INSUFFICIENT_BUFFER) || dwlastErr == ERROR_MORE_DATA);
The code needs to be modified here:
while (hDevice!=INVALID_HANDLE_VALUE)
{
***DELETE OLD CODE HERE***
***INSERT NEW CODE HERE***
if (bResult)
{
Then at the bottom of the QueryPartitions function add:
if(NULL != dli)
{
delete[] (char*)dli;
dli = NULL;
}
I believe something similar is required for each function where you are calling DeviceIoControl. Additional error handling is required.
Thanks for your articles, I look forward to your future contributions!
-Randor (Dave Delaune)
|
|
|
|

|
Hi A.Riazi, can I call you like that.I'm a student from Viet Nam and I'm doing a project to get system information but it's hard to find document about this topic.I have seen your code but I don't know how it's work .Can you give or introduce me some document about getting system information.
-- modified at 6:34 Tuesday 11th April, 2006
|
|
|
|

|
Can you please include a function to retrieve hard Drive serial number (atleast first drive). It would be very helpful.
Thanks
nomi
knowmi@gmail.com
|
|
|
|

|
i am getting compilation error
CSIDL_WINDOWS etc.
as undeclared identifier.
i read the solution for it posted.but i couldn'g understand that.
can u just explain how and what i have to add breifly.
|
|
|
|

|
At line 286 in SysInfoDefs.cpp you wrote:
ceil(memoryStatus.dwTotalPhys/1024/1024)
It should be:
ceil(memoryStatus.dwTotalPhys/1024.0/1024.0)
if you want the ceil function to have an effect.
The best would be:
ceil(memoryStatus.dwTotalPhys/1048576.0)
One division less
Crayon
|
|
|
|

|
is it possible for a certain drive name (for example "C:\") on which IDE Hard drive. For computers that have more than one harddrive.
Thanks Ugur Basak
|
|
|
|

|
Hi,
i know it is not that serious but maybe someone will get disturbed by a Detected Memory Leaks message during debugger mode.
It is caused by a missing delete Speed; in the CPUInfo deconstructor. The Speed member is allocated using the new operator.
Greetings,
Juri
|
|
|
|

|
Hi!
I like this small app.
I'm wondering if it's possible to also display the OS Language used, User language, keyboard settings etc.
Are there any API's for this?
Thanks!
|
|
|
|

|
You need to add the pack paragma to your code. I noticed that the data in your structures was misaligned when I was modifying your code to retrieve the temperature of the hard drive.
#pragma pack(1)
//---------------------------------------------------------------------
// The following structure defines the structure of a Drive Attribute
//---------------------------------------------------------------------
typedef struct _DRIVEATTRIBUTE {
BYTE bAttrID; // Identifies which attribute
WORD wStatusFlags; // see bit definitions below
BYTE bAttrValue; // Current normalized value
BYTE bWorstValue; // How bad has it ever been?
BYTE bRawValue[6]; // Un-normalized value
BYTE bReserved; // ...
} DRIVEATTRIBUTE, *PDRIVEATTRIBUTE, *LPDRIVEATTRIBUTE;
//---------------------------------------------------------------------
// The following structure defines the structure of a Warranty Threshold
// Obsoleted in ATA4!
//---------------------------------------------------------------------
typedef struct _ATTRTHRESHOLD {
BYTE bAttrID; // Identifies which attribute
BYTE bWarrantyThreshold; // Triggering value
BYTE bReserved[10]; // ...
} ATTRTHRESHOLD, *PATTRTHRESHOLD, *LPATTRTHRESHOLD;
//---------------------------------------------------------------------
// The following struct defines the interesting part of the IDENTIFY
// buffer:
//---------------------------------------------------------------------
typedef struct _IDSECTOR {
USHORT wGenConfig;
USHORT wNumCyls;
USHORT wReserved;
USHORT wNumHeads;
USHORT wBytesPerTrack;
USHORT wBytesPerSector;
USHORT wSectorsPerTrack;
USHORT wVendorUnique[3];
CHAR sSerialNumber[20];
USHORT wBufferType;
USHORT wBufferSize;
USHORT wECCSize;
CHAR sFirmwareRev[8];
CHAR sModelNumber[40];
USHORT wMoreVendorUnique;
USHORT wDoubleWordIO;
USHORT wCapabilities;
USHORT wReserved1;
USHORT wPIOTiming;
USHORT wDMATiming;
USHORT wBS;
USHORT wNumCurrentCyls;
USHORT wNumCurrentHeads;
USHORT wNumCurrentSectorsPerTrack;
ULONG ulCurrentSectorCapacity;
USHORT wMultSectorStuff;
ULONG ulTotalAddressableSectors;
USHORT wSingleWordDMA;
USHORT wMultiWordDMA;
BYTE bReserved[128];
} IDSECTOR, *PIDSECTOR;
#pragma pack()
*** The following might be useful updates too:
ULONGLONG PrintSmartAttribRawValue(PCHAR szOut, PDRIVEATTRIBUTE attribute)
{
ULONGLONG rawvalue;
BYTE word[3];
int j;
// convert the six individual bytes to a long long (8 byte) integer.
// This is the value that we'll eventually return.
rawvalue = 0;
for (j = 0; j < 6; j++)
{
// This looks a bit roundabout, but is necessary. Don't
// succumb to the temptation to use raw[j]<<(8*j) since under
// the normal rules this will be promoted to the native type.
// On a 32 bit machine this might then overflow.
ULONGLONG temp;
temp = attribute->bRawValue[j];
temp <<= 8*j;
rawvalue |= temp;
}
// convert quantities to three two-byte words
for(j = 0; j < 3; j++)
{
word[j] = attribute->bRawValue[2*j+1];
word[j] <<= 8;
word[j] |= attribute->bRawValue[2*j];
}
// This switch statement is where we handle Raw attributes
// that are stored in an unusual vendor-specific format,
switch (attribute->bAttrID)
{
// Spin-up time
case 3:
szOut += sprintf(szOut, "%d", word[0]);
// if second nonzero then it stores the average spin-up time
if(word[1])
szOut += sprintf(szOut, " (Average %d)", word[1]);
break;
// Power on time
case 9:
szOut += sprintf(szOut, "%I64u", rawvalue); //stored in hours
break;
// Load unload cycles
case 193:
szOut += sprintf(szOut, "%I64u", rawvalue);
break;
// Temperature
case 194:
szOut += sprintf(szOut, "%d", word[0]);
if (!(rawvalue==word[0]))
{
int min = word[1] < word[2]? word[1]: word[2];
int max = word[1] > word[2]? word[1]: word[2];
// The other bytes are in use. Try IBM's model
szOut += sprintf(szOut, " (Lifetime Min/Max %d/%d)", min, max);
}
break;
default:
szOut += sprintf(szOut, "%I64u", rawvalue);
break;
}
// Return the full value
return rawvalue;
}
// Note some attribute names appear redundant because different
// manufacturers use different attribute IDs for an attribute with the
// same name. The variable val should contain a non-zero value if a particular
// attributes has a non-default interpretation.
PCHAR GetSmartAttribName(BYTE id)
{
PCHAR szName = "Unknown_Attribute";
switch(id)
{
case 1: szName = "Raw Read Error Rate"; break;
case 2: szName = "Throughput Performance"; break;
case 3: szName = "Spin Up Time"; break;
case 4: szName = "Start Stop Count"; break;
case 5: szName = "Reallocated Sector Ct"; break;
case 6: szName = "Read Channel Margin"; break;
case 7: szName = "Seek Error Rate"; break;
case 8: szName = "Seek Time Performance"; break;
case 9: szName = "Power On Hours"; break;
case 10: szName = "Spin Retry Count"; break;
case 11: szName = "Calibration Retry Count"; break;
case 12: szName = "Power Cycle Count"; break;
case 13: szName = "Read Soft Error Rate"; break;
case 191: szName = "G-Sense Error Rate"; break;
case 192: szName = "Power-Off Retract Count"; break;
case 193: szName = "Load Cycle Count"; break;
case 194: szName = "Temperature Celsius"; break;
case 195: szName = "Hardware ECC Recovered"; break;
case 196: szName = "Reallocated Event Count"; break;
case 197: szName = "Current Pending Sector"; break;
case 198: szName = "Offline Uncorrectable"; break;
case 199: szName = "UDMA CRC Error Count"; break;
case 200: szName = "Write Error Count"; break;
case 201: szName = "Detected TA Count"; break;
case 202: szName = "TA Increase Count"; break;
case 203: szName = "Run Out Cancel"; break;
case 204: szName = "Shock Count Write Opern"; break;
case 205: szName = "Shock Rate Write Opern"; break;
case 206: szName = "Flying Height"; break;
case 207: szName = "Spin High Current"; break;
case 208: szName = "Spin Buzz"; break;
case 209: szName = "Offline Seek Performnce"; break;
case 220: szName = "Disk Shift"; break;
case 221: szName = "G-Sense Error Rate"; break;
case 222: szName = "Loaded Hours"; break;
case 223: szName = "Load Retry Count"; break;
case 224: szName = "Load Friction"; break;
case 225: szName = "Load Cycle Count"; break;
case 226: szName = "Load-in Time"; break;
case 227: szName = "Torq-amp Count"; break;
case 228: szName = "Power-off Retract Count"; break;
case 230: szName = "Head Amplitude"; break;
case 231: szName = "Temperature Celsius"; break;
case 240: szName = "Head Flying Hours"; break;
case 250: szName = "Read Error Retry Rate"; break;
default: szName = "Unknown Attribute"; break;
}
return szName;
}
/****************************************************************************
*
* DoPrintData
*
* FUNCTION: Display the SMART Attributes and Thresholds
*
****************************************************************************/
CString DoPrintData(PCHAR pAttrBuffer, PCHAR pThrsBuffer, BYTE bDriveNum)
{
int i;
PDRIVEATTRIBUTE pDA;
PATTRTHRESHOLD pAT;
BYTE Attr;
CString Result;
//
// Print the drive number
//
char Temp[512]="";
sprintf(Temp,"\r\nData for Drive Number %d\n", bDriveNum);
Result+=Temp;
//
// Print the revisions of the data structures
//
sprintf(Temp, "Attribute Structure Revision Threshold Structure Revision\r\n");
Result+=Temp;
sprintf(Temp," %d %d\r\n\r\n",
(WORD)pAttrBuffer[0],
(WORD)pThrsBuffer[0]);
Result+=Temp;
//
// Print the header and loop through the structures, printing
// the structures when the attribute ID is known.
//
sprintf(Temp, " -Attribute Name- -Attribute Value- -Threshold Value- -Raw Value-\r\n");
Result+=Temp;
pDA = (PDRIVEATTRIBUTE)&pAttrBuffer[2];
pAT = (PATTRTHRESHOLD)&pThrsBuffer[2];
for (i = 0; i < NUM_ATTRIBUTE_STRUCTS; i++)
{
Attr = pDA->bAttrID;
char szOut[64] = {0};
PrintSmartAttribRawValue(szOut, pDA);
if (Attr)
{
sprintf(Temp,"%2X %-29s%d%20c%d %s\r\n",
pDA->bAttrID,
GetSmartAttribName(pDA->bAttrID),
pDA->bAttrValue,
' ',
pAT->bWarrantyThreshold, szOut);
Result+=Temp;
}
pDA++;
pAT++;
}
return Result;
}
|
|
|
|

|
hi, im getting 102 errors in the file SysInfoDefs.cpp
D:\Programming\game programming\LEARNING\MFC\1\SysInfoDefs.cpp(7) : error C2065: 'SENDCMDOUTPARAMS' : undeclared identifier
D:\Programming\game programming\LEARNING\MFC\1\SysInfoDefs.cpp(14) : error C2061: syntax error : identifier 'PSENDCMDINPARAMS'
D:\Programming\game programming\LEARNING\MFC\1\SysInfoDefs.cpp(22) : error C2065: 'PSENDCMDINPARAMS' : undeclared identifier
D:\Programming\game programming\LEARNING\MFC\1\SysInfoDefs.cpp(695) : error C2065: 'DRIVE_LAYOUT_INFORMATION_EX' : undeclared identifier
D:\Programming\game programming\LEARNING\MFC\1\SysInfoDefs.cpp(695) : error C2146: syntax error : missing ';' before identifier 'dli'
D:\Programming\game programming\LEARNING\MFC\1\SysInfoDefs.cpp(695) : error C2065: 'dli' : undeclared identifier
D:\Programming\game programming\LEARNING\MFC\1\SysInfoDefs.cpp(709) : error C2065: 'IOCTL_DISK_GET_DRIVE_LAYOUT_EX' : undeclared identifier
D:\Programming\game programming\LEARNING\MFC\1\SysInfoDefs.cpp(718) : error C2228: left of '.PartitionCount' must have class/struct/union type
D:\Programming\game programming\LEARNING\MFC\1\SysInfoDefs.cpp(721) : error C2228: left of '.PartitionCount' must have class/struct/union type
etc...
what could be wrong? thx
|
|
|
|

|
hi all,
this is a great app. however, i noticed that for windows xp, the o.s. query returns windows 2000. is there a way to modify the program, so it will return xp as well?
|
|
|
|

|
The current code seems to be unable to get centrino cpu speed. I have a 1.5GHz, and the returned CPU speed always varies from 500MHz to 1000MHz. What's scoop? Also, a 1.5GHz centrino is said equivalent to 2.4GHz regular cpu(more or less). How do we formally reflect this in the cpu speed?
|
|
|
|

|
All around a good package but. 1. there are missing code to handle *ALL* SMART HD details, because other ID codes are like 0xC2 for temperature. So the code needs to be changed to loop through all values, not just 12. To get the rest download hdtune.com's program, it lists them all. The code could also do with a function to read a specific AttrID of the SMART data but return the rawvalue, NOT THE AttrValue. I did that my self, and added a GetAttrIDValue( id, &result ) function.
2. one structure used a BYTE, then a WORD which stuffed up the auto padding with visual C++. I suggest that you ALWAYS use a BYTE halfs if your WORD is on an ODD boundary. structure in question should be; (in smartdefs.h) typedef struct _DRIVEATTRIBUTE { BYTE bAttrID; // Identifies which attribute BYTE wStatusFlagsL; // see bit definitions below BYTE wStatusFlagsH; // see bit definitions below BYTE bAttrValue; // Current normalized value BYTE bWorstValue; // How bad has it ever been? BYTE bRawValue[6]; // Un-normalized value BYTE bReserved; // ... } DRIVEATTRIBUTE, *PDRIVEATTRIBUTE, *LPDRIVEATTRIBUTE;
This GURANTEES it to work no matter what compiler you have, besides you dont even use that status flags any how. Thats all... Enjoy the fix. Hows the skiing in IRAN btw? _______________________________ Raul Software Engineer (www.ac3dec.com
|
|
|
|

|
is it possible that the check gives a wrong value when you want to know the CPU speed of a centrino. And any idea how you can get the correct one? Thanx.
|
|
|
|

|
Hi all,
I am a student, at Staffordshire University, UK, my
area of interest is mobile agent at wireless environment (mobile
computing). I would like to ask whether you have any information how
to use MATLAB tools to simulate a mobile computing system. In other
words, I want to build a wireless system (client/server) where data(an object user-defined) can be sent between mobile terminal and a server in order to carry out some tasks at the server and return with some results.
Any help would be appreciated
Regards,
Adel
|
|
|
|
|

|
hi !
How can i modify your code to retrieve hardware info about removable disks like USB disks ? is there an API available for that ?
thx
Kane
"Some guys hack just to get themselves a girkfriend.What a pathetic reason huh ? "
|
|
|
|

|
Hello folks.
I downloaded the example, installed the latest platform sdk for Windows 2000 and I have service pack 6 installed for Visual Studio. Unfortunately I'm still getting compile errors. I've read through all of the board messages for hints but I still can't get it working. Any help would be appreciated.
For Instance:
SysInfoDefs.cpp(695) : error C2065: 'DRIVE_LAYOUT_INFORMATION_EX' : undeclared identifier
And also:
SysInfoDlg.cpp(305) : error C2065: 'CSIDL_WINDOWS' : undeclared identifier
Jeff
|
|
|
|

|
Need help on getting manufacturer info from memory chip.
|
|
|
|

|
My was missing the following defines. I added these at the top of SysInfoDlg.cpp and now it compiles and runs. Am I missing a service pack for VC6 C++ or some SDK update?
#define CSIDL_WINDOWS 0x0024
#define CSIDL_SYSTEM 0x0025
#define CSIDL_LOCAL_APPDATA 0x001c
#define CSIDL_MYDOCUMENTS 0x000c
#define CSIDL_PROGRAM_FILES 0x0026
#define CSIDL_ADMINTOOLS 0x0030
#define CSIDL_PROFILE 0x0028
#define CSIDL_COMMON_ADMINTOOLS 0x002f
#define CSIDL_COMMON_APPDATA 0x0023
#define CSIDL_COMMON_DOCUMENTS 0x002e
#define CSIDL_COMMON_TEMPLATES 0x002d
|
|
|
|

|
How to get Hard Disk's serial number?
|
|
|
|

|
When I try to compile the program I get the following error message:
fatal error C1083: Cannot open include file: 'OXVerInfo.h'
The header is listed under the SysInfoDefs.h.
I am using Visual C++ 6.0.
Can someone please help!
|
|
|
|

|
Hi,
I have this problem, I need to get serial number of a monitor connected to a given machine, and I don't even know if it is at all possible. Maybe You have some experience with that ?
|
|
|
|

|
Systems have different major languages to display its interface in different countries, like English、Japanese and Chinese, etc. Can I get the major language information of the computer?
|
|
|
|

|
Hello auther
Its such a nice article . but i have 32 errors when compiled .what should i download to run this app ? my system is 2000 with vc 6 . another problem in addition to ur info i need to find the following also
Components
-Network
-Adapter
-Protocol
-WinSock
Software Environment
-Running Tasks
Internet Settings
Internet Explorer
-Summary
-File Versions
-Connectivity
-Cache
-List of Objects
could u plz throw some light on these ?
thanks in advance
with regards
dharani
|
|
|
|

|
I retrieve the system information for my application using WMI. It works very well in Windows XP. Though when it comes to Windows 2000, WMI is not able to provide the mainbord information. The same is the problem in Windows 98, even after installing the WMI patch WmiCore.exe provided by MicroSoft to support WMI in Windows 98.
Is there any other method to retrieve the mainboard information in Win 2K other that WMI? If anybody knows about this, please do share your views.
SKGayatri
|
|
|
|

|
Using VC++/MFC.
Quite a appreciation!
Hello World
|
|
|
|

|
I've tried building executable, and get similar errors to those mentioned by other users. I am running Visual Studio 6 with the full Platform SDK, as well as SP5. The errors are of the general form:
c:\program files\microsoft sdk\include\shtypes.h(102) : error C2011: '_SHITEMID' : 'struct' type redefinition
or
C:\Beta_Orionis\sysinfo\SysInfoDefs.cpp(35) : error C2065: 'DLLGETVERSIONPROC' : undeclared identifier
It's clearly seeing the Platform SDK include files, and even though I've moved the include directory to the top in Tools | Options | Directories, the error persists. Any suggestions?
|
|
|
|

|
hi there,
iam a newbie programer... i have a question. How can i get information about mainboard. So like name, typ and so on..
plz help me
kind regards
|
|
|
|

|
Question...
Is there a way to detect DVD optical drives & determine their type (either DVD-ROM, DVD-Combo, DVD+RW, or DVD-RW drives)?
I have been searching for away to detect drives for a setup routine to distinguish between a CD-ROM and DVD (as well as to determine whether the DVD is a DVD rewritable drive or just DVD-ROM).
Thanks.
|
|
|
|

|
34 error(s), 1 warning(s)
[It is possible to represent everything in this universe by using 0 and 1]
|
|
|
|

|
hello Abbas
i'm mahmood from tehran.
please contact me with mahmoodkomeily@yahoo.com
and tell me your e-mail if possible.
best regards,m.komeily
|
|
|
|

|
HI there!
I want to add a routine in my Visual C program to read CPU temperature. Is it possible?
Faisal Shafait
Technical University Hamburg-Harburg,
Germany
|
|
|
|

|
First of all, thank you for your great work.
There is a problem with the function SHGetSpecialFolderPath. It doesn't exist in my version of Shell32.dll (WinNT, SP6). Looking in SHLOBJ.h. line 2225, it seems to depend on having at least Internet Explorer 4, but I have version 5.5, so I think it's just a problem of WinNT.
MS
|
|
|
|

|
Help me please....
I want VB Code or VB Sample to Serial Number Of Harddisk (have from factory) or Serial Number of Mainboard or Serial Number of CPU
Thank You For Answers
... Natuch ...
|
|
|
|
 |
|
|
General News Suggestion Question Bug Answer Joke Rant Admin
|
Obtaining Information from Computer Hardware/Software
| Type | Article |
| Licence | |
| First Posted | 3 Jan 2003 |
| Views | 320,804 |
| Bookmarked | 143 times |
|
|