![]() |
GetLastInputInfo dynamisch laden
hiho leute, ich hab das folgende problem. diesen code
Delphi-Quellcode:
benutze ich bis jetzt. nun möchte ich die funktion aber dynamisch laden. die funktion heisst GetLastInputInfo und befindet sich in der User32.dll. wie mach ich das jetzt? ich hab die dll schon geladen
function LastInput: DWord;
var LInput: TLastInputInfo; begin LInput.cbSize := SizeOf(TLastInputInfo); GetLastInputInfo(LInput); Result := GetTickCount - LInput.dwTime; end;
Delphi-Quellcode:
nun muss irgendwas mit GetProcAdress kommen. nur wie mach ich das? das getlastinputinfo erwartet einen parameter. also wie funktioniert das mit dem GetProcAdress, so dass ich nacher das result der DLL verwerten kann?
DLLHandle := LoadLibrary('user32.dll');
mfg phXql |
Re: GetLastInputInfo dynamisch laden
Standard (kann auch in Packages verwendet werden)
Delphi-Quellcode:
Beschleunigt
function WrappedGetLastInputInfo(var plii: TLastInputInfo): BOOL; stdcall;
type TFNGetLastInputInfo = function(var plii: TLastInputInfo): BOOL; stdcall; var FNGetLastInputInfo: TFNGetLastInputInfo; begin FNGetLastInputInfo := TFNGetLastInputInfo( GetProcAddress(GetModuleHandle(user32), 'GetLastInputInfo')); if not Assigned(FNGetLastInputInfo) then begin SetLastError(ERROR_CALL_NOT_IMPLEMENTED); Result := False; end else Result := FNGetLastInputInfo(plii); end;
Delphi-Quellcode:
type
TFNGetLastInputInfo = function(var plii: TLastInputInfo): BOOL; stdcall; var FNGetLastInputInfo: TFNGetLastInputInfo; function WrappedGetLastInputInfo(var plii: TLastInputInfo): BOOL; stdcall; begin if not Assigned(FNGetLastInputInfo) then begin SetLastError(ERROR_CALL_NOT_IMPLEMENTED); Result := False; end else Result := FNGetLastInputInfo(plii); end; initialization FNGetLastInputInfo := TFNGetLastInputInfo( GetProcAddress(GetModuleHandle(user32), 'GetLastInputInfo')); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:55 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