API problem

YuryE

New member
Joined
May 25, 2005
Messages
2
Location
In the russian section of beautiful NY with my mom
Programming Experience
Beginner
I have an app with a text box, the value is "hello"

I have another app that needs to get a the value "hello" from the other apps text box.

here is the code


VB.NET:
[size=2][color=#0000ff]Public[/color][/size][size=2] [/size][size=2][color=#0000ff]Class[/color][/size][size=2] API

[/size][size=2][color=#0000ff]Public[/color][/size][size=2] [/size][size=2][color=#0000ff]Declare[/color][/size][size=2] [/size][size=2][color=#0000ff]Auto[/color][/size][size=2] [/size][size=2][color=#0000ff]Function[/color][/size][size=2] SendMessageByString [/size][size=2][color=#0000ff]Lib[/color][/size][size=2] "user32" [/size][size=2][color=#0000ff]Alias[/color][/size][size=2] "SendMessageA" ([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] hwnd [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Long[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] wMsg [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Long[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] wParam [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Long[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] lParam [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2]) [/size][size=2][color=#0000ff]As[/color][/size][size=2] IntPtr

[/size][size=2][color=#0000ff]Public[/color][/size][size=2] [/size][size=2][color=#0000ff]Declare[/color][/size][size=2] [/size][size=2][color=#0000ff]Auto[/color][/size][size=2] [/size][size=2][color=#0000ff]Function[/color][/size][size=2] SendMessage [/size][size=2][color=#0000ff]Lib[/color][/size][size=2] "user32.dll" [/size][size=2][color=#0000ff]Alias[/color][/size][size=2] "SendMessageA" ([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] hwnd [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Integer[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] wMsg [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Integer[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] wParam [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Integer[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] lParam [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Integer[/color][/size][size=2]) [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Integer

[/color][/size][size=2][/size][size=2][color=#0000ff]Public[/color][/size][size=2] [/size][size=2][color=#0000ff]Declare[/color][/size][size=2] [/size][size=2][color=#0000ff]Auto[/color][/size][size=2] [/size][size=2][color=#0000ff]Function[/color][/size][size=2] FindWindow [/size][size=2][color=#0000ff]Lib[/color][/size][size=2] "user32.dll" ([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] lpClassName [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] lpWindowName [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2]) [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Integer

[/color][/size][size=2][/size][size=2][color=#0000ff]Public[/color][/size][size=2] [/size][size=2][color=#0000ff]Declare[/color][/size][size=2] [/size][size=2][color=#0000ff]Auto[/color][/size][size=2] [/size][size=2][color=#0000ff]Function[/color][/size][size=2] FindWindowEx [/size][size=2][color=#0000ff]Lib[/color][/size][size=2] "user32.dll" ([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] hWnd1 [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Integer[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] hWnd2 [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Integer[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] lpsz1 [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] lpsz2 [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2]) [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Integer

[/color][/size][size=2][color=#0000ff]Public[/color][/size][size=2] [/size][size=2][color=#0000ff]Declare[/color][/size][size=2] [/size][size=2][color=#0000ff]Auto[/color][/size][size=2] [/size][size=2][color=#0000ff]Function[/color][/size][size=2] GetWindowTextLength [/size][size=2][color=#0000ff]Lib[/color][/size][size=2] "user32.dll" ([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] hwnd [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Integer[/color][/size][size=2]) [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Integer

[/color][/size][size=2][/size][size=2][color=#0000ff]Public[/color][/size][size=2] [/size][size=2][color=#0000ff]Declare[/color][/size][size=2] [/size][size=2][color=#0000ff]Auto[/color][/size][size=2] [/size][size=2][color=#0000ff]Function[/color][/size][size=2] GetWindowText [/size][size=2][color=#0000ff]Lib[/color][/size][size=2] "user32.dll" ([/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] hwnd [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Integer[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] lpString [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2], [/size][size=2][color=#0000ff]ByVal[/color][/size][size=2] cch [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Integer[/color][/size][size=2]) [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Integer

[/color][/size][size=2]

[/size][size=2][color=#0000ff]Public[/color][/size][size=2] [/size][size=2][color=#0000ff]Const[/color][/size][size=2] WM_SETTEXT [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Long[/color][/size][size=2] = &HD

[/size][size=2][color=#0000ff]Public[/color][/size][size=2] [/size][size=2][color=#0000ff]Const[/color][/size][size=2] WM_GETTEXT [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Long[/color][/size][size=2] = &HE

[/size][size=2][color=#0000ff]Public[/color][/size][size=2] [/size][size=2][color=#0000ff]Const[/color][/size][size=2] WM_GETTEXTLENGTH = &HE

[/size][size=2][color=#0000ff]Public[/color][/size][size=2] [/size][size=2][color=#0000ff]Function[/color][/size][size=2] GetText() [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String

[/color][/size][size=2][color=#0000ff]Dim[/color][/size][size=2] WindowsFormsEDITappTxt [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String

[/color][/size][size=2][/size][size=2][color=#0000ff]Dim[/color][/size][size=2] TextLen [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Long

[/color][/size][size=2][/size][size=2][color=#0000ff]Dim[/color][/size][size=2] WindowsFormsEDITapp [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Long

[/color][/size][size=2][/size][size=2][color=#0000ff]Dim[/color][/size][size=2] WindowsFormsWindowapp [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]Long

[/color][/size][size=2][/size][size=2][color=#0000ff]Dim[/color][/size][size=2] s [/size][size=2][color=#0000ff]As[/color][/size][size=2] [/size][size=2][color=#0000ff]String

[/color][/size][size=2]WindowsFormsWindowapp = FindWindow("WindowsForms10.Window.8.app3", vbNullString)

WindowsFormsEDITapp = FindWindowEx(WindowsFormsWindowapp, 0, "WindowsForms10.EDIT.app3", vbNullString)

TextLen = SendMessage(WindowsFormsEDITapp, WM_GETTEXTLENGTH, 0, 0)

[/size][size=2]WindowsFormsEDITappTxt = [/size][size=2][color=#0000ff]New[/color][/size][size=2] [/size][size=2][color=#0000ff]String[/color][/size][size=2]("xxxxxxxxxxxxxx")

SendMessageByString(WindowsFormsEDITapp&, WM_GETTEXT, TextLen& + 1&, WindowsFormsEDITappTxt$)[/size][size=2][color=#008000]

[/color][/size][size=2][/size][size=2][color=#0000ff]Return[/color][/size][size=2] s

[/size][size=2][color=#0000ff]End[/color][/size][size=2] [/size][size=2][color=#0000ff]Function[/color][/size]
[size=2][color=#0000ff][/color][/size] 
[size=2][color=#0000ff]end class[/color][/size]
[size=2][color=#0000ff]
[/color][/size]



My problem is that WindowsFormsEDITappTxt doesnt get filled in with "hello" after passed in to SendMessageByString()

Same code works in VB6

 
Back
Top