例如,有一程序abc.exe裡有5個textbox,而我要實現從自己的程序裡輸入數據後,依次向abc.exe裡的5個textbox發送數據,思想是:在自己的程序的文本框裡輸入數據,按Enter鍵後copy,然後在abc.exe裡的某一個textbox裡貼上,自己程序重新獲得焦點。
請求各路好手幫忙,實在是無法忍受沒有TabIndex窗體的數據輸入了,小弟是個數據錄入員當然是想快一點了。
請求各路好手幫忙,實在是無法忍受沒有TabIndex窗體的數據輸入了,小弟是個數據錄入員當然是想快一點了。
2个text控件,1个command控件. 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
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongOption Explicit
Private Const WM_SETTEXT = &HC
Private Const BM_CLICK = &HF5Private Sub Command1_Click()
ShellExecute Me.hwnd, "open", "D:\Tencent\QQ\QQ.exe", vbNullString, vbNullString, vbNormalFocus
Dim QQHwnd As Long, QHwnd As Long, PHwnd As Long, RHwnd As Long
Do While RHwnd = 0
QQHwnd = FindWindow("#32770", vbNullString)
QHwnd = FindWindowEx(QQHwnd, 0, "ComboBox", vbNullString)
PHwnd = FindWindowEx(QQHwnd, 0, "Edit", vbNullString)
RHwnd = FindWindowEx(QQHwnd, 0, "Button", "怬")
DoEvents
Loop
SendMessage QHwnd, WM_SETTEXT, 0, ByVal Text1.Text 'text1内为QQ号码.
SendMessage PHwnd, WM_SETTEXT, 0, ByVal Text2.Text 'Text2内为密码.
SendMessage RHwnd, BM_CLICK, 0, 0 '点击登录按钮
End
End Sub
只是我要的不是這樣的結果,我要的是對一個數據庫的窗口的數據錄入(需循環使用),要做一個自己的程序,程序的主窗口有4個文本框,和一個command按鈕。目的是,在自己的程序的4個文本框裡分別輸入數據,按command按鈕後,將這4個數據分別輸入公司數據庫的窗口裡的對應的4個文本框,然後,繼續重做上一步(即新增一筆記錄),有沒有辦法實現,誰能夠指點一下,因為這個問題需用到API函數,而API又不是一下就能搞懂的,所以求各路英雄不吝賜教。若有興趣可留下Email,我可以把窗口圖像發過去,明白些!
Const BM_CLICK = &HF5