![]() |
WindowsNT prüfen ob ausführbar
Hallo Leute,
funktionen wie LastInputInfo ersfordern WinNT als Plattform. Wenn nun eine App aber auf Me/98 o.ä. gestartet wird bricht alles mit einer Fehlermeldung ab. Geht das irgendwie das dies abgefangen wird die App trotzdem startet und nur die funktion deaktiviert wird? Ich hab grad kein Me/98 zur Hand und kanns nicht testen:
Delphi-Quellcode:
function IsWindowsNT: Boolean;
begin Result:=Win32Platform = VER_PLATFORM_WIN32_NT; end; ... var liInfo: TLastInputInfo; begin if isWindowsNT then begin liInfo.cbSize := SizeOf(TLastInputInfo) ; GetLastInputInfo(liInfo) ; Result := (GetTickCount - liInfo.dwTime) DIV 1000; end else begin Result :=0; end; end; |
Re: WindowsNT prüfen ob ausführbar
Prüf doch ab, ob Du per GetProcAddress auf die user32.dll die Funktion laden kannst.
|
Re: WindowsNT prüfen ob ausführbar
Danke,
hab keinen Plan wie ich das anstellen könnte und vor allem wo genau? |
Re: WindowsNT prüfen ob ausführbar
Lies Dir mal
![]() [edit] Alternativ kannst Du auch mal die Forensuche bemühen, es gab hier irgendwo ein Klasse, die die Windows-Version sehr genau ausliest. Damit könntest Du auf Minimalversion Windows 2000 prüfen. [/edit] |
Re: WindowsNT prüfen ob ausführbar
Guten Abend,
vielleicht schaust Du mal bei den Kollegen von dsdt nach -> ![]() Grüße Klaus |
Re: WindowsNT prüfen ob ausführbar
Hallo,
danke an alle! Ich hätte trotzdem gern gewußt wie GetProcAdress eingesetzt wird um bsp. zu überprüfen ob die dll vorhanden ist. Die OH kennt diese funktion nicht. |
Re: WindowsNT prüfen ob ausführbar
Bei
![]() ![]() |
Re: WindowsNT prüfen ob ausführbar
Hallo,
DeddyH und Klaus01 haben Dir im Beitrag 4 und 5 schon Links gegegeben. Hast Du Dir das ganze auch mal angeschaut ? :twisted: Der Befehl ![]() P.S. So ein Mist Luckie war wieder schneller |
Re: WindowsNT prüfen ob ausführbar
Etwas anders ausgedrückt heißt das:
Versuch, mit LoadLibrary die DLL zu laden. Wenn das klappt, versuchst Du mit GetProcAddress die Adresse der Funktion zu ermitteln. Bekommst Du hier eine gültige Adresse zurück, ist alles klar.
Delphi-Quellcode:
Ungetestet, probier' s mal aus (und schön in der Hilfe nachlesen ;) )
function FunktionVorhanden: Boolean;
var DLLHandle: THandle; begin Result := false; DLLHandle := LoadLibrary('user32.dll'); if DLLHandle <> 0 then begin Result := GetProcAddress(DLLHandle,'GetLastInputInfo') <> nil; FreeLibrary(DLLHandle); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz