2007/07/18

PostMessage - ийг баахан ухлаа

Өнөөдөр би ажил дээрээ Delphi - гийн sendmessage-ийг ашиглаад өөр нэг application-руу давхар товчны хослол илгээх гээд баахан ухлаа. Интернэт гэдэг их ахаасаа ч бас баахан шалгаалаа. Ер чадсангүй шүү. Яг юу хийх гээд байсан маань гэвэл notepad-руу CTRL+A гэсэн товч дарагдлаа гэсэн мессэж илгээх гээд л байсан юм. Үүнийг хийж байсан хүн байвал надад нэг тус болооч. Сүүлдээ бүр боломжгүй мэт санагдаад явчихлаа. Өөрийнхөө кодын зарим хэсгийг та бүхэнд үзүүлье.



procedure TForm1.Button2Click(Sender: TObject);
var a: TKeyboardState; h: Cardinal;
begin
h:=FindWindow('notepad', nil);
GetKeyboardState(a);
a[VK_CONTROL]:=128;
SetKeyboardState(a);
PostMessage(h, WM_KEYDOWN, 17, 1900545);
PostMessage(h, WM_KEYDOWN, 65, 1966081);
PostMessage(h, WM_KEYUP, 65, 1966081);
PostMessage(h, WM_KEYUP, 17, 1900545);
Application.ProcessMessages;
GetKeyboardState(a);
a[VK_CONTROL]:=$1;
SetKeyboardState(a);
end;

2 comments:

Anonymous said...

sain uu? minii ner dflakdfjalsdf asdf heroes

Anonymous said...

Who knows where to download XRumer 5.0 Palladium?
Help, please. All recommend this program to effectively advertise on the Internet, this is the best program!