Hi,
ich hab ein Programm, welches per SetCursorPos und einem mouse_event auf einem anderen Proramm rumklickt und danach eine Texteingabe simuliert. Während dieser Zeit, darf man nirgendwo anders hinklicken, sonst passieren "mysteriöse" Dinge.
Im Klartext hieße das, dass ich den kompletten Input blocken möchte (STRG+ALT+Entf und so weiter muss nicht geblockt werden (ginge ja nur durch
DLL Ersetzung)). Die Hauptsache ist, dass der Benutzer nicht versehentlich irgendwo hin klickt.
Unter Vista jedoch scheint BlockInput nicht mehr zu funktionieren. Ich kann weiterhin die Maus bewegen und Tastatureingaben senden.
function BlockInput(fBlockIt: boolean): boolean; stdcall; external 'user32.dll';
Mein Aufbau vom Code ist ungefähr so:
Delphi-Quellcode:
BlockInput(true);
try
HWND holen;
Schleifenbeginn;
Rechtsklick senden;
Taste senden;
Einige Tastureingaben senden;
OK klicken;
Schleifenende;
finally
BlockInput(false);
end;
Hat jemand eine Idee?