System Delphi

//Murat Turan
var
i:HWND;
begin
i:=FindWindowEx(
FindWindowEx(FindWindow('Tana', 'DenemeFormu'), 0, 'TGroupBox', 'GroupBox1'),
0, 'TEdit', 'Edit4' );
SendMessage(i, WM_CLOSE ,0,0);
{
ana formun adı :ana tabi tip olara Tana olmuş oluyor.
başlığı DenemeFormu
bu formun altında
GroupBox1 adıda bir bileşen var.
bu bileşenin de tipi TGroupBox ve Başlığıda GroupBox1
bu GroupBox1 içerisinde
TEdit tipinde adı Edit4 ve içeriğide Edit4 olan bir bileşen var
işte o bileşen kapatılıyor.
FindWindowEx fonksiyonunu da kullanım amacı da iç içe geçmiş kontrolleri
yönlendirmek. aslında bu sayede sabit olan
kontroller rahatlıkla idare edilebilir.
direkt HWND bilgisiyle bu işi yapmak zor. biliyorsunuz ki. uygulama her
açıldığında içerisindeki bütün bileşenler yeniden windows tarafından
numaralandırılır.
Microsoft Spy++ kullanılarak açık uygulamaların HWND,ClassName vs.. bilgilerine
rahatlıkla erişebilirsiniz.
//* * * * * * * *
i:=$000103E0;
//* * * * * * * *
mesela o an işlem yapmak istediğim Edit4 ün o anki HWND numarası üsteki
gibi idi. aslında i değişkenine sadece bu değer atayıp da bu kontrolü
yönlendirebilirdim. ama üste belirttiğin gibi bu numara programın bir sonraki
başlatılışında değişeceği için o anlık sonuç verecektir.
üste uzunca yazdığım kod ise uygulama ne zaman başlatılırsa başlatılsın
işe yarayacaktır.
Aklıma gelmişken başka bir öenek daha vereyim. mesela hesap makinesinin
Geri tuşunu kapatalım. Bunuda yapabiliriz. Tabi bu işlemler sadece kapatmak için değildir
Ben WM_CLOSE parametresini kullandım. böype epeyce parametre mevcut.
}
i:=FindWindowEx(FindWindow('SciCalc', 'Hesap Makinesi'),0,'Button','Geri tuşu');
{
Unutmayın bu isimleri Microsoft Spy++ ile buluyorum.
Bu programı nereden bulurum diyorsanız
Microsoft Visual Studio .NET 2003 kurulum paketi
veya Microsoft Visual Studio 6 Paketinde mevcut.
}