Uygulamaya Gizli Komut Verme ?
-
buldum
-
lalada bunu yazdı:
-----------------------------
hocam calısan bir uygulamada text boxun içine bişey yazdırmak istersek nasıl yapabiliriz...?
-----------------------------Tabiki tüm kontrollere istediğin mesajı yollayabilirsin. Ancak butonlarda kontrolun ismi zaten butonun üzerindeki yazı olduğundan findwindow ile rahatlıkla handle sini alıyoruz. editbox olunca işler biraz değişiyor. Örneğin GetDlgItem ile id numarasından kontrolüm handlesi ele geçirilebilir. Bu işi de reshacker ile kolayca yapabilirsin.
Ya da daha kolay yolu, spy++ ile direkt kontrolün handlesini ele geçirir kodu ona göre yazarsın. Birinci yöntemde benim hesap makinası için kod :
Hesap makinasının textbox una selam yazar.
*************************
#include <windows.h>
int main(){
HWND Hnd,EdtHnd;
Hnd = FindWindow(0, "Hesap Makinesi");
EdtHnd = GetDlgItem(Hnd,403);
SendMessage(EdtHnd, WM_SETTEXT, 0, (LPARAM)"selam");
return 0;
}
*************************Bende hesap makinasının textbox id si 403, bu sizde değişik ise eğer reshacker ile bakıp anlayabilirsiniz.
İkinci yöntemde ise direkt handle ile işlem yapıyoruz, spy++ bizim için handle yi alıyor, daha sonra mesajı gönderiyoruz.
***********************
#include <windows.h>
int main(){
HWND hnd;
printf("Handle : ");
scanf("%x",&hnd);
SendMessage(hnd, WM_SETTEXT, 0, (LPARAM)"selam");
return 0;
}**********************
İkinci kod çok daha rahattır. spy++ ı açarsın, handle yi alırsın, programa başlangıçta girersin, gerisi hayal gücüne kalmış Ancak handle program her çalıştığında farklı olacaktr. . Birinci yolda ise kodu birkez yazarsın ve herzaman çalışır.
Spy++ programı ve örnek kodlar için : http://www.sendspace.com/file/y54we6
Spy++ visual studio ile geliyor, menüden, spy/findwindow diyorsunuz ve çemberi herhangi bir kontrolün üzerine sürükleyerek handleyi alıyorsunuz.
