Tema: Delphi postmessage
Autorius: ReM
Data: 2009-05-04 23:34:49
Sveiki,

Reikia perduoti keletą klavišų paspaudimų į svetimą langą. Bandau taip:

PostMessage(h, WM_KEYDOWN, VK_BACK, 0);
PostMessage(h, WM_KEYUP, VK_BACK, 0);

Turėtų nutrinti simbolį prieš kursorių, bet kažkodėl nutrina du simbolius.

PostMessage(h, WM_KEYDOWN, VK_LEFT, 0);
PostMessage(h, WM_KEYUP, VK_LEFT, 0);

Veikia teisingai, paslenka kursorių į kairę.

PostMessage(h, WM_KEYDOWN, VK_RIGHT, 0);
PostMessage(h, WM_KEYUP, VK_RIGHT, 0);

irgi teisingai

PostMessage(h, WM_CHAR, ord('a'), 0);

teisingai, spausdina "a".

PostMessage(h, WM_KEYDOWN, VK_BACK, 0);
PostMessage(h, WM_KEYUP, VK_BACK, 0);
PostMessage(h, WM_CHAR, ord('a'), 0);

logiškai galvojant turėtų nutrinti vieną simbolį ir vietoje jo atspausdinti 
"a". Deja, nieko panašaus. Trina "a" ir dar vieną prieš tai esantį simbolį. 
Visai nesuprantu kodėl...
Kitokios kombinacijos su kursoriaus slankiojimais ir simbolių trynimais 
duoda dar keistesnių anomalijų...

Gal kas esat su tuo daugiau dirbę? Gal kokią mintį kame reikalas 
mesteltumėt... Visai užsiknisau... 


__________ Information from ESET NOD32 Antivirus, version of virus signature database 4052 (20090504) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com