NT功能,所以我没有做很多的Win32调用,但最近我不得不使用GetFileTime()
和SetFileTime()
功能。现在虽然Win98和下面没有在我的节目的人正式支持做反正用它那里,我尽量保持它可用作可能。我只是想知道会发生什么,因为这些职能不预NT系统的存在,他们会接受某种例如一个错误消息,因为在这种情况下,我会在操作系统中添加检查?由于调用预先-NT系统
6
A
回答
8
如果直接调用的函数,那么你的程序将无法在Win98加载。
你可以做的是使用LoadLibrary()
/GetProcAddress()
得到一个指向GetFileTime()
/SetFileTime()
。在Win98上这将失败,给你一个空指针,你可以测试和忽略。在2000年以后,你会得到一个你可以使用的指针。
这是一个痛苦,但它是我所知道的唯一的解决办法。
这里是得到UpdateLayeredWindow功能,如果它存在的一个例子:
typedef BOOL (WINAPI* UpdateLayeredWinFunc) (HWND, HDC, POINT*, SIZE*, HDC, POINT*, COLORREF, BLENDFUNCTION*, DWORD);
UpdateLayeredWinFunc updateLayeredWindow = 0;
HMODULE user32Mod = GetModuleHandle (_T("user32.dll"));
updateLayeredWindow = (UpdateLayeredWinFunc) GetProcAddress (user32Mod, "UpdateLayeredWindow");
0
我相信你相处的过程入口点(名)的”行一个错误信息不能位于(DLL )”,类似的第一个图所示:
example http://img266.imageshack.us/img266/3762/error2pm1.png
0
你可以称之为FindFirstFile()
而不是GetFileTime()
。不过,我不知道SetFileTime()
的替代方案。
从我已经做了研究似乎没有一个,谢谢您的好意! – SteveL 2008-12-09 16:18:24