Thema: Delphi BlockInput unter Vista?

Einzelnen Beitrag anzeigen

Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#1

BlockInput unter Vista?

  Alt 4. Sep 2007, 09:20
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?
  Mit Zitat antworten Zitat