typedef char* (WINAPI* FGetSerialNumber)(int);
void GetDiskSerial()
{
char* m_SerialNumber ;
//CString m_SerialNumber ="";
//CString m_DriveNumber;
//m_DriveNumber = "0";
int iDrive = atoi("0");
FGetSerialNumber GetSerialNumber;
HMODULE DllInst;
DllInst=NULL;
if (DllInst == NULL)
{ //DllInst = LoadLibrary(TEXT("GetDiskSerial.dll"));
DllInst = LoadLibrary("GetDiskSerial.dll");
}
if (DllInst)
{
GetSerialNumber = (FGetSerialNumber)GetProcAddress(DllInst,"GetSerialNumber");
m_SerialNumber = GetSerialNumber(iDrive);
printf("\n\t\t磁盘物理序列号: %s ",*m_SerialNumber);
}
else
{
printf("\n\t\t GetDiskSerial.dll 不存在!");
}
}
GetSerialNumber 这个应该是 函数指针,如果调用的话,应该这样表示:(*GetSerialNumber)(iDrive);
重新 定义了引用GetDriveInfo 函数,可以正确获取