Sendmessage problem help!

P

paraidy

Hi all, reading some examples in this group i'm trying to send a text
to notepad, but it doesn't work, can someone to correct my code? Thx

Private Declare Function FindWindow Lib "user32.dll" Alias
"FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As
String) As Long
Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA"
(ByVal hwnd As Int32, ByVal wMsg As Int32, ByVal wParam As Int32, ByRef
lParam As String) As Int32
Declare Function FindWindowEx Lib "user32.dll" Alias
"FindWindowExA" (ByVal hWnd1 As Int32, ByVal hWnd2 As Int32, ByVal
lpsz1 As String, ByVal lpsz2 As String) As Int32
Const WM_GETTEXT As Int32 = &HD
Const WM_GETTEXTLENGTH As Int32 = &HE
Const WM_SETTEXT As Int32 = &HC

Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button10.Click
Dim Handle As Long
Dim Handlex As Int32
Handle = FindWindow("Notepad", "")
Handlex = FindWindowEx(Handle, 0, "Edit", "")
SendMessage(Handlex, WM_SETTEXT, 0, ("Hello!!"))
End Sub
 
C

Claes Bergefall

See inline

/claes

paraidy said:
Hi all, reading some examples in this group i'm trying to send a text
to notepad, but it doesn't work, can someone to correct my code? Thx

Private Declare Function FindWindow Lib "user32.dll" Alias
"FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As
String) As Long

Declare Auto Function FindWindow Lib "user32.dll" (ByVal lpClassName As
String, ByVal lpWindowName As String) As IntPtr

Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA"
(ByVal hwnd As Int32, ByVal wMsg As Int32, ByVal wParam As Int32, ByRef
lParam As String) As Int32

Declare Auto Function SendMessage Lib "user32.dll" (ByVal hwnd As IntPtr,
ByVal wMsg As IntPtr, ByVal wParam As Int32, ByVal lParam As String) As
Int32

Declare Function FindWindowEx Lib "user32.dll" Alias
"FindWindowExA" (ByVal hWnd1 As Int32, ByVal hWnd2 As Int32, ByVal
lpsz1 As String, ByVal lpsz2 As String) As Int32

Declare Auto Function FindWindowEx Lib "user32.dll" (ByVal hWnd1 As IntPtr,
ByVal hWnd2 As IntPtr, ByVal lpsz1 As String, ByVal lpsz2 As String) As
IntPtr

Const WM_GETTEXT As Int32 = &HD
Const WM_GETTEXTLENGTH As Int32 = &HE
Const WM_SETTEXT As Int32 = &HC

Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button10.Click
Dim Handle As Long
Dim Handlex As Int32
Handle = FindWindow("Notepad", "")
Handlex = FindWindowEx(Handle, 0, "Edit", "")
SendMessage(Handlex, WM_SETTEXT, 0, ("Hello!!"))
End Sub


Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button10.Click
Dim Handle As IntPtr
Dim Handlex As IntPtr
Handle = FindWindow("Notepad", Nothing)
Handlex = FindWindowEx(Handle, 0, "EDIT", Nothing)
SendMessage(Handlex, WM_SETTEXT, 0, ("Hello!!"))
End Sub
 
P

paraidy

Great, it work, Thx a lot!, there is only a thing, why with Wordpad it
doesn't work?
 
C

Claes Bergefall

You need to change the class names:

Handle = FindWindow("WordPadClass", Nothing)
Handlex = FindWindowEx(Handle, 0, "RICHEDIT50W", Nothing)

/claes
 
P

paraidy

Claes said:
You need to change the class names:

Handle = FindWindow("WordPadClass", Nothing)
Handlex = FindWindowEx(Handle, 0, "RICHEDIT50W", Nothing)

/claes

Thx a lot, you helped me a lot :)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Top