c – 在NT前系统上调用NT功能
发布时间:2020-12-16 04:58:17 所属栏目:百科 来源:网络整理
导读:所以我没有做很多Win32调用,但最近我不得不使用 GetFileTime() 和 SetFileTime() 函数.虽然我的程序中没有正式支持Win98及以下版本,但无论如何都会在那里使用它,我尽量保持它的可用性.我只是想知道会发生什么,因为这些功能在NT之前的系统中不存在,他们是否会
所以我没有做很多Win32调用,但最近我不得不使用
GetFileTime() 和
SetFileTime() 函数.虽然我的程序中没有正式支持Win98及以下版本,但无论如何都会在那里使用它,我尽量保持它的可用性.我只是想知道会发生什么,因为这些功能在NT之前的系统中不存在,他们是否会收到某种类型的错误消息,例如因为在这种情况下我会添加操作系统检查?谢谢
解决方法
如果直接调用函数,则程序将无法在Win98上加载.
你可以做的是使用LoadLibrary()/ GetProcAddress()来获取指向GetFileTime()/ SetFileTime()的指针.在Win98上,这将失败,为您提供一个空指针,您可以测试并忽略它.在2000年及以后你会得到一个指针,然后你可以使用它. 这是一个痛苦,但它是我所知道的唯一解决方案. 以下是获取UpdateLayeredWindow函数的示例(如果存在): typedef BOOL (WINAPI* UpdateLayeredWinFunc) (HWND,HDC,POINT*,SIZE*,COLORREF,BLENDFUNCTION*,DWORD); UpdateLayeredWinFunc updateLayeredWindow = 0; HMODULE user32Mod = GetModuleHandle (_T("user32.dll")); updateLayeredWindow = (UpdateLayeredWinFunc) GetProcAddress (user32Mod,"UpdateLayeredWindow"); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- c# – 替换第二次出现?与 &
- jsonp实现跨域
- pg_restore - 从一个由 pg_dump 创建的备份文件中恢复 Post
- UWP:Live Tile && Adaptive Tile &&
- SQLite 附加数据库(http://www.w3cschool.cc/sqlite/sqlite
- 裸奔三部曲第0章学习总结
- OpenCV学习笔记(26)自动识别OpenCV版本并添加依赖库
- ios – 配置文件文件中plist周围的二进制数据是什么?
- c# – 在.Net,WinForms中在运行时添加用户控件缩放的问题
- 将一段符合XML格式规范字符串插入已有XML文档当中