So mache ich nicht viele Win32-Aufrufe, aber in letzter Zeit musste ich die GetFileTime()
und SetFileTime()
Funktionen verwenden. Nun, obwohl Win98 und unten in meinem Programm nicht offiziell unterstützt werden, benutzen sie es dort trotzdem und ich versuche, es so gut wie möglich zu nutzen. Ich habe mich nur gefragt, was passieren wird, da diese Funktionen in Pre-NT-Systemen nicht existieren. Werden sie eine Fehlermeldung erhalten, weil ich in diesem Fall einen OS-Check hinzufügen werde? DankeNT-Funktion auf Pre-NT-System aufrufen
Antwort
Wenn Sie die Funktionen direkt aufrufen, wird Ihr Programm nicht auf Win98 geladen.
Sie können LoadLibrary()
/GetProcAddress()
verwenden, um einen Zeiger auf GetFileTime()
/SetFileTime()
zu erhalten. Auf Win98 schlägt dies fehl und gibt Ihnen einen Nullzeiger, den Sie testen und ignorieren können. Ab 2000 erhalten Sie einen Zeiger, den Sie verwenden können.
Es ist ein Schmerz, aber es ist die einzige Lösung, die ich kenne. Hier
ist ein Beispiel des Erhaltens der UpdateLayeredWindow Funktion, wenn es vorhanden ist:
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");
Ich glaube, Sie eine Fehlermeldung nach dem Vorbild des „Prozedur Einstiegspunkt (Name) konnte nicht in (dll befinden)“, ähnlich th der gezeigten:
example http://img266.imageshack.us/img266/3762/error2pm1.png
Sie FindFirstFile()
statt GetFileTime()
nennen könnte. Ich würde jedoch keine Alternative für SetFileTime()
wissen.
- 1. GetObjectData auf Serialisierung aufrufen
- 2. Nullpointer auf die ProgressDialog() aufrufen
- 3. Methoden dynamisch auf Java aufrufen
- 4. Wie gespeicherte Prozedur auf Laravel aufrufen?
- 5. Soll man .close() auf HttpServletResponse.getOutputStream() /. GetWriter() aufrufen?
- 6. JavaScript Array.prototype.sort() kann nicht auf DOM.HTMLLIElements aufrufen
- 7. Aufrufen von jQuery auf Ajax Request
- 8. Kann ich löschen auf Primitiven aufrufen?
- 9. Wordpress - wp_get_recent_post zweimal auf einer Seite aufrufen
- 10. Python: 'Liste' auf einem Kartenobjekt zweimal aufrufen
- 11. Java Typ Hinweise auf generische Methode aufrufen
- 12. Wie Python-Skript auf Excel VBA aufrufen?
- 13. User-Standort auf Facebook aufrufen Tab
- 14. Kann Methoden auf Nvarchar nicht aufrufen
- 15. eine JavaScript-Funktion auf unterschiedliche Weise aufrufen
- 16. Sofort Funktion aufrufen und in $ scope aufrufen
- 17. Sie müssen enableActiveRecord() auf Ihrem Client aufrufen, bevor Sie diese Methode aufrufen
- 18. Vorhandene Aktivität aufrufen
- 19. Warum viewdidlayoutsubviews mehrmals aufrufen?
- 20. jQuery-Erweiterungsfunktionen extern aufrufen
- 21. UserForm beim Speichern aufrufen
- 22. Aufrufen/Aufrufen einer sogar in einem anderen Thread
- 23. Kann 'saveInBackgroundWithBlock' nicht aufrufen
- 24. Camel ErrorHandler nicht aufrufen
- 25. Workflow-Aktivität aufrufen
- 26. Ereignisse Cross-Threads aufrufen?
- 27. "Freigabe" zu oft aufrufen?
- 28. Aufrufen externer Typen, die Dateien über den relativen Pfad aufrufen
- 29. JSON-Hierarchie aufrufen/lesen
- 30. Wann sem_unlink() aufrufen?
Von der Forschung, die ich getan habe, scheint es, dass es nicht einen gibt, danke, obwohl! – SteveL