|
-
May 3rd, 2004, 04:20 PM
#1
Thread Starter
Addicted Member
SendMessage to a window
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Dim ret As Long
Dim lResult As Long
ret = UtilityModule.FindWindow("OSKMainClass", "On-Screen Keyboard")
lResult = UtilityModule.SendMessage(ret, 100, 15, 1)
I am trying to send message to a window with the code above and it does not work. Can someone look at this and give some guidance. I got wMsg,wParam and lParam from Spy++.
-
May 3rd, 2004, 05:51 PM
#2
If you have Spy++ then check the window handels to make sure
your getting the correct one. They are in hex as compared to vb
decimal value. Findwindow only will get the main window. It looks
like you are trying to get a child window? If so use FindWindowEx.
HTH
VB/Office Guru™ (AKA: Gangsta Yoda™ ®)
I dont answer coding questions via PM. Please post a thread in the appropriate forum. 
Microsoft MVP 2006-2011
Office Development FAQ (C#, VB.NET, VB 6, VBA)
Senior Jedi Software Engineer MCP (VB 6 & .NET), BSEE, CET
If a post has helped you then Please Rate it! 
• Reps & Rating Posts • VS.NET on Vista • Multiple .NET Framework Versions • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility •
System: Intel i7 6850K, Geforce GTX1060, Samsung M.2 1 TB & SATA 500 GB, 32 GBs DDR4 3300 Quad Channel RAM, 2 Viewsonic 24" LCDs, Windows 10, Office 2016, VS 2019, VB6 SP6 
-
May 4th, 2004, 08:16 AM
#3
Thread Starter
Addicted Member
RESOLVED
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Long) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Dim ret As Long
Dim lResult As Long
ret = UtilityModule.FindWindow("OSKMainClass", "On-Screen Keyboard")
lResult = UtilityModule.SendMessage(ret, &H403, &H15, &H80000002)
Most of the arguments were pulled from Spy++. This code is used to turn the English characters from c:\windows\system32\osk.exe to Japanese characters.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|