cxylyq
2016-07-30 01:40
采纳率: 100%
浏览 1.0k
已采纳

m_SerialNumber是NULL,求解

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 不存在!");
    }

}

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 鱼弦 2016-07-30 01:54
    已采纳

    GetSerialNumber 这个应该是 函数指针,如果调用的话,应该这样表示:(*GetSerialNumber)(iDrive);

    打赏 评论
  • cxylyq 2016-07-30 11:45

    重新 定义了引用GetDriveInfo 函数,可以正确获取

    打赏 评论

相关推荐 更多相似问题