Einzelnen Beitrag anzeigen

taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
528 Beiträge
 
Delphi 11 Alexandria
 
#1

BlockInput (USER32.DLL) in APPTYPE CONSOLE keine Wirkung

  Alt 14. Okt 2009, 13:30
Hallo Leute,

Ich habe ein eigenartiges Problem mit einer Konsolenapplikation.
Ich habe folgendes deklariert:

Delphi-Quellcode:
function BlockInput(fBlockInput: Boolean): DWORD; stdcall;
  external 'user32.dll';
Der Aufruf der Funktion dann:
Delphi-Quellcode:
  if GetCmdLineSwitch('freeze') then
    Writeln(Format('BlockCursor. Result:%d',[BlockInput(True)]));
Starte ich die Anwendung via IDE mit dem Parameter der diese Funktion aufruft
funkioniert alles wie gewünscht. Der Rückgabewert ist 1 und es können keine Eingaben
mehr gemacht werden (Vorsicht beim testen).
Starte ich die Anwendung ausserhalb mit dem Parameter -freeze wird ebenfalls
"BlockCursor. Result:1" ausgegeben. Aber der Input wird nicht geblockt.

Auch die MSDN hat mich nicht weitergebracht.
http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx

Dies alles auf Windows XP SP3/ Delphi 2007

Hat da jemand eine Idee?

Edit: Crosspost Delphi-Treff
http://forum.delphi-treff.de/showthread.php?t=27641
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat