Unter Windows NT wird eine Variable aus dem internen SharedInfo-Block der user32.dll geholt. Diesen Block gibt es in dieser Form unter Windows 9x nicht.
Zitat von
phXql:
falls nein, wie kann ich delphi dazu bringen, keinen fehler bei der funktion auszuspucken, sondern die funktion einfach nich zu benutzen?
Delphi-Quellcode:
function MyGetLastInputInfo(var plii: TLastInputInfo): BOOL; stdcall;
type
TFNGetLastInputInfo = function(var plii: TLastInputInfo): BOOL; stdcall;
var
FNGetLastInputInfo: TFNGetLastInputInfo;
begin
// Dieser Code setzt voraus, dass die user32.dll immer geladen ist
FNGetLastInputInfo := TFNGetLastInputInfo(
GetProcAddress(GetModuleHandle(user32), 'GetLastInputInfo'));
if not Assigned(FNGetLastInputInfo) then
begin
Result := False;
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
end
else
Result := FNGetLastInputInfo(plii);
end;