Einzelnen Beitrag anzeigen

Gebhard

Registriert seit: 28. Nov 2005
42 Beiträge
 
Delphi 7 Personal
 
#1

BM_CLICK bei deaktivierten Blickschirm

  Alt 1. Sep 2015, 09:49
Guten Morgen,

ich möchte gerne den Parameter "BM_Click" für das Speichern von einer Exceldatei mit dem Dialogfeld "Dateidownload" des Internetexplorers nutzen. Dieses Speichern soll in regelmäßigen Abständen vollautomatisch erfolgen.

Ablauf in Kurzform:
- Aufruf der URL, über die die Exceldatei importiert wird,
- starten einer DLL, die den Schalter "Speichern" anklickt, denn das Dialogfeld "Dateidownload" ist Modal und
- speichern der Datei mit Hilfe des darauffolgenden Dialgfeldes "Speichern unter".

Die DLL ermitteilt mit Hilfe der Funktionen "FindWindow" und "FindWindowEx" die HWND des Schalters. Setzt das Dialogfeld mit "SetForegroundWindow" in den Vordergrund und klickt mit dem Befehl "SendMessage(hSchalter, BM_CLICK, 0, 0);" den Schalter an. Bei einem aktiven Bildschirm funktioniert alles Fehlerfrei. Bei einem deaktivierten Bildschirm (Bildschirmschoner oder gesperrt) wird der Befehl "SetForegroundWindow" nicht angenommen und das Programm steht still. Andere Befehle wie "...WM_Settext...", "...WM_KEYDOWN..." oder das Aktivieren anderer Schalter wie z.B. "Öffnen" werden ohne Probleme ausgeführt. Auf "SendMessage(hSchalter, WM_KEYDORN, VK_RETURN, 0);" erfolgt immer ein Abbruch. Egal, welcher Schalter aktiv ist. Der Befehl "...KEYDOWN, ORD('S'),...) wird ignoriert.

Ich arbeite mit dem BS Win7 und Delhpi 2005. Das Problem liegt sowohl bei "SendMessage..." als auch bei "PostMessage..." vor.

Hat Jemand eine Idee, wie "BM_CLICK" bei deaktivierten Bildschirm funktionieren könnte?

Vielen Dank für Eure Hilfe und Antwort.
Olli
  Mit Zitat antworten Zitat