Einzelnen Beitrag anzeigen

gunSoft

Registriert seit: 19. Jul 2005
Ort: Südtirol
16 Beiträge
 
#1

Programm soll immer den Focus behalten

  Alt 19. Jul 2005, 14:51
Hi,
ich habe ein simples Zeiterfassungsprogramm, welches als Ersatz für eine Stempeluhr fungiert. Es besteht aus einer Form mit Zeitangabe und einem Editfeld welches die Stempelnummer per Barcode einliest.
Das funktioniert natürlich nur wenn das Programm bzw. das Editfeld den Focus hat.

Dazu halte ich mit
SetWindowPos(fmmain.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE)
das Programm immer im Vordergrund, blende mit
ShowWindow( findWindow( 'Shell_TrayWnd',nil), SW_HIDE) die Taskbar aus und sperre per Registry Key die Windowstasten.

Das Problem ist, daß wenn jetzt irgend eine Windowsmeldung kommt (z.B. ein Popup von der Wirelesskarte), dann verliert mein Programm den Focus. Es bleibt zwar wegen dem SetWindowPos-Befehl im Vordergrund, hat aber den Focus nicht mehr.

Hat jemand eine Idee wie man es anstellen kann, dass ein Programm niemals den Focus verliert?

Vielen Dank für jede Hilfe
  Mit Zitat antworten Zitat