-
-
为什么我写的VC++程序在不同的环境下会有不同的结果>?
-
-
为什么我写的VC++程序在不同的环境下会有不同的结果>?
typedef LPCTSTR (*GETDISKID)();
HMODULE hTestDLL = NULL;
HMODULE hEXEInstance;
GETDISKID pFunction;
LPCTSTR strDiskIdPath;
if((hEXEInstance = ::LoadLibrary("HDSerialNumRead.dll"))==NULL)
{
MessageBox("获取硬盘序列号错误!");
return;
}
VERIFY(pFunction = (GETDISKID)::GetProcAddress(hEXEInstance,"HDSerialNumRead"));
strDiskIdPath = pFunction();
while(strDiskIdPath && *strDiskIdPath==' ')
{
strDiskIdPath++;//去除左边的空格
}
MessageBox(strDiskIdPath);
::FreeLibrary(hEXEInstance);
我在调试状态运行,结果没有一点问题.
但是直接运行程序,结果却是这样:
而且再点一次确定,得出的结果却又是正常的.
我在公司的一个X64 WIN2003 EN上运行,根本没有结果,就是跳出一个提示框,什么提示都没有.
是我的程序有问题还是怎么,请高手指导一下.
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!