Так что я не очень много вызовов Win32, но в последнее время мне пришлось использовать функции GetFileTime()
и SetFileTime()
. Теперь, хотя Win98 и ниже официально не поддерживаются в моей программе, люди все равно используют его там, и я стараюсь держать его как можно более удобным. Мне просто интересно, что произойдет, поскольку эти функции не существуют в системах до NT, будет ли они получать сообщение об ошибке какого-то типа, например, потому что в этом случае я добавлю в проверку ОС? СпасибоВызов функции NT в системе pre-NT
ответ
Если вы вызываете функции напрямую, ваша программа не загружается на 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");
Я считаю, что вы получите сообщение об ошибке вдоль линии «Точка входа в процедуру (имя) не может находиться в (DLL)», похоже й с изображенным:
example http://img266.imageshack.us/img266/3762/error2pm1.png
Вы могли бы назвать FindFirstFile()
вместо GetFileTime()
. Тем не менее, я бы не знал альтернативы для SetFileTime()
.
- 1. Вызов функции Nt из ntdll.dll в среде Win32, C++
- 2. вызов собственного (Nt) API в пользовательском режиме
- 3. переменные в системе() вызов
- 4. Ошибка FSCTL_GET_RETRIEVAL_POINTERS в очень маленьком файле в файловой системе NT
- 5. Получить TextView в родителю Prent Баттона
- 6. Смена уровня звонка в операционной системе на базе Win NT
- 7. Вызов функции-члена prepare() по нулевой точке в системе CRUD
- 8. NT FileManagement functions
- 9. Скрытие окна консоли в системе() вызов
- 10. Вызов базы данных SQL и модуля обработки из служб NT
- 11. Вызов другой точки доступа с пользовательским интерфейсом на сервере NT
- 12. RabbitMQ: setReturnListner handleBasicReturn nt получает вызов для недоставленных сообщений
- 13. Вызов функции в другой функции
- 14. вызов 2 функции в функции
- 15. Вызов функции JQuery в функции
- 16. Вызов функции в другой функции
- 17. Найти текущий регистратор ядра NT
- 18. Тригонометрические функции на встроенной системе
- 19. Ошибка входа в систему NT \ NETWORK SERVICE
- 20. Haskell - вызов функции функции
- 21. вызов функции из функции
- 22. Вызов функции внутри функции
- 23. Вызов функции в функции (вызов) в скрипте Google Apps
- 24. Вызов функции вне функции
- 25. Вызов функции функции указателя в статической функции
- 26. Почему вызов функции быстрее, чем вызов функции?
- 27. Вызов функции-функции члена()
- 28. Вызов функции изнутри функции
- 29. Вызов функции внутри функции?
- 30. Вызов функции из функции
Из исследования, которое я сделал, кажется, что его нет, спасибо! – SteveL 2008-12-09 16:18:24