Einzelnen Beitrag anzeigen

veio

Registriert seit: 9. Nov 2007
6 Beiträge
 
#6

Re: STRG+C Simluation führt nicht KopierFunktion aus

  Alt 10. Nov 2007, 05:20
Ja, die ms doku habe ich mir angesehen, leider hat es mir keine neuen Erkenntnisse beschert.
Die Ergebnisse der Boardsuche beziehen sich leider alle auf aktive fenster und nutzen meist keybd_event().

mein aktueller verdacht ist, dass beim WM_KeyDown; Virtual Key: C schicken der Status der CTRL taste abgefragt wird.
Denn wenn ich mit nem Timer immer wieder
PostMessage(Handle, WM_KEYDOWN,Ord('C'),3014657); abschicke und die CTRL taste gedrückt halte sowie das Fenster, aus dem kopiert werden soll, aktiv ist,
funktioniert das kopieren.

Allerdings müsste es auch mit unaktiviertem Fenster gehen, wenn nur geprüft wird, ob die CTRL taste gedrückt ist.
Nochmal der Unterschied zwischen Simulation und Manuell, was der Winspector herausfiltert:
Simulation:
Delphi-Quellcode:
WM_KEYDown; Virtual Key: VK_Control
WM_KEYDown; Virtual Key: C
WM_Char; wParam:0x63 lParam: 0x2E0001
WM_KeyUp; Virtual Key: C
WM_KeyUp; Virtual Key: VK_Control
Manuell:
Delphi-Quellcode:
WM_KEYDown; Virtual Key: VK_Control
WM_KEYDown; Virtual Key: C
->WM_DESTROYCLIPBOARD; wParam: 0 lParam: 0
<-WM_DESTROYCLIPBOARD; Return: 0
WM_Char; wParam:0x3 lParam: 0x2E0001
WM_KeyUp; Virtual Key: C
WM_KeyUp; Virtual Key: VK_Control
Man beachte bei wm_char die 3 statt 63
das WM_destroyclipboard wird nicht immer aufgerufen, ahtl nur wenn wa in der zwischenablage ist

Sieht ja eig. recht gleich aus, nur dass aus "WM_KEYDown; Virtual Key: C" ein anderer WM_Char übersetzt wird, nur warum und wie mache ich das nach? :p
  Mit Zitat antworten Zitat