ancak işimi tam olarak görebilecek birşey bulamadım..
benim sorunum tam olarak şu;
ben programımdan winexec komutu ile bir oyunu çalıştırıyorum.
oyun çalıştıktan sonra kullanıcı adı - şifre bölümünü programın yazmasını istiyorum.
Kod: Tümünü seç
SendMessage(whand, WM_SETTEXT, 0, Integer(pchar(edit2.Text)));
ama findwindowex komutuyla şifre kutusunu bulamıyorum..
mouse ile şifre kutusunu seçtikten sonra findwindowex ile şifre kutusunu bulabiliyorum. (bu sefer de kullanıcı adı kutusunu bulamıyor..)
(yani hem kullanıcı adı hem de şifre kutusu aynı anda aktif olmuyor)
Normalde kullanıcı adı ile şifre arasına "Tab" tuşuyla geçiyor.
Programdan postmessage ve sndkeys32tr unit'i ile "Tab" tuşunu göndermeyi denedim.Ama yine de İki kutu arasında geçiş yapmadı..
önerilerinizi bekliyorum...
(tam olarak kullandığım kod)
Kod: Tümünü seç
SendMessage(whand, WM_SETTEXT, 0, Integer(pchar(edit2.Text)));
if PostMessage(findwindow(nil,'Knight Online Client'), WM_KEYDOWN, vk_tab, 0) then
begin
showmessage('tmm');
sleep(2000);
SendMessage(whand, WM_SETTEXT, 0, Integer(pchar(edit3.Text)));
end;
Kod: Tümünü seç
appactivate('Knight Online Client');
sleep(1000);
sendkeys('{Tab}',false);
SendMessage(whand, WM_SETTEXT, 0, Integer(pchar(edit3.Text)));