Bu uygulamayı tam anlamda yapmak icin Spy++ programına sahip olmalısınız. Bu programda Visual Studio 6 ile birlikte gelir. Edinmek icin:
http://vbyardim.tk/visual-basic-60-e...-hiz-t6.0.html
---
Oncelikle şunu belirteyim, Sendmessage api'si cok yonlu bir api'dir bu api ile siz coğu şeyi yapabilirsiniz. (Ornek: Sol altta bulunan başlat bolumunu gizleme, sağ altta bulunan saati değiştirme, her hangi bir programın button ındaki yaziyi değiştirme)
Ben size arkaplanda olan uygulama icin tuş gondemeyi gostereceğim.
(NOT: Bu ornekte kullandığım api Postmessage dır ancak Sendmessage ile aynı gorevi gorur Sendmessage cevap beklerken Postmessage beklemez.)
Bir form oluşturun ve şu kodları ekleyin
(Ornek notepad uzerinden anlatılmıştır)
Kod:
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As Long, _ ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Const WM_KEYDOWN = &H100 Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long 'Fatih54102 Private Sub Command1_Click() Dim a, b a = FindWindow("Notepad", vbNullString) 'Buradaki Notepad o pencerenin/uygulamanin class ismidir. Spy++ ile class ismini bulabilirsiniz. Class ismini bulmaniz daha iyi olur cunku pencere ismi degisebilir. Ancak siz yine de pencere ismini kullanmak istiyorsaniz, vbnullstring ile "Notepad" i yer degistirin ve programinizin pencere ismini "Notepad" bolumune yazin. b = FindWindowEx(a, ByVal 0&, "Edit", vbNullString) ' Burasi uygulamanin icindeki her hangi bir kontrolun HWND sini bulmaya yarar. Tam anlamiyla verim almak icin kullanilmalidir. Buradaki "Edit" kontrolun class ismidir. Siz bunu Spy++ ile bulacaksiniz. PostMessage b, WM_KEYDOWN, vbKeyZ, 0 ' Evet api cagriliyor, buradaki vbKeyZ Z tusunun hex degerini belirtir, farkli tus kullanicaksaniz farkli tusu yazin ornegin G vbKeyG olabilir burasi. Eger vbkeyX serisinde belirtilmemisse oraya basina &H koyarak hex degerini girin. Microsoft un sitesinde hex degerleri var. End Sub
Mavi şekilde acıklamaları yazdım.
Spy++ i edinmek icin: http://vbyardim.tk/visual-basic-60-e...-hiz-t6.0.html
__________________
[Sendmessage] [VB6] - Arkaplanda olan uygulamaya tuş gonderme
Programlama0 Mesaj
●27 Görüntüleme
- ReadBull.net
- Programlama ve Yazılım
- Programlama
- [Sendmessage] [VB6] - Arkaplanda olan uygulamaya tuş gonderme