![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks. |
| |||||||
| |
| | #1 (permalink) |
| | A reliable SENDKEYS for vb 2005 using Windows API Can someone help me please I am disabled and have been working for sometime on an application that will help me interface with my PC better. it involves sending text and commands to third party applications .I have tried appactivate and sendkeys but find this to be unreliable. The best I have come up with so far is Public Class Form2 'Get a handle to an application window. Declare Auto Function FindWindow Lib "USER32.DLL" ( _ ByVal lpClassName As String, _ ByVal lpWindowName As String) As IntPtr '=====needed for 'set to foreground and show ===== Public Const SW_RESTORE As Integer = 9 Public Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As Integer, ByVal nCmdShow As Integer) As Integer ' Activate an application window. Declare Auto Function SetForegroundWindow Lib "USER32.DLL" _ (ByVal hWnd As IntPtr) As Boolean Dim target_title As String = "Untitled - Notepad" Dim send_keys_count As Int16 = 0 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim target_handle As IntPtr = FindWindow(Nothing, target_title) 'set to foreground and show SetForegroundWindow(target_handle) ShowWindow(target_handle, SW_RESTORE) '=== I need to replace the next three lines For n As Int64 = 1 To 5000000 'DELAY IS ESSENTIAL Next SendKeys.SendWait("Hello") '=== replacemet ends End Sub End Class This works fine for applications like notepad and word but gives unreliable results in internet explorer (ie7), Google search page at least, it sends multiple characters at times. I would like to do away with sendkeys altogether, especially as vista does not support it. Information on the web seems to suggest that the sendinput api is probably the api to use or possibly sendmessage. Could someone please show me exactly how to replace the lines indicated above, along with any imports or declarations etc. as I am new to both windows api and vb.net. Alternatively a way of sending paste (and perhaps copy) to internet explorer (ie7) would help. Sendkeys(“^v”) and variations doesn’t work in the code above Many thanks Steve |
My System Specs![]() |
| Thread Tools | |
| |
Similar Threads | ||||
| Thread | Forum | |||
| Strange Sendkeys() problem | PowerShell | |||
| Using sendkeys in a web form | VB Script | |||
| Reliable way to get Windows Version? | PowerShell | |||
| SendKeys to cmd.exe | PowerShell | |||
| Just how reliable is Windows Easy Transfer? | Vista General | |||