'宣告API
'此API是要查找窗口句柄
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'此API 是要 設定視窗名稱
Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long
'程式碼
Private Sub Command1_Click()
Dim hwnd As Long
hwnd = FindWindow(vbNullString, Text1.Text) 'Text1 = 要改的窗口名稱
If hwnd = 0 Then '偵測是否窗口有開啟
MsgBox "未找到窗口", 0 + 48, "錯誤" '如果沒有就顯示MsgBox
End If
SetWindowText hwnd, Text2.Text '設定Text2為名稱
End Sub
開源專案: 點此下載
Visual Basic 6.0 簡單Code
2017年11月15日 星期三
2017年11月14日 星期二
VB6 利用FindWidows查找窗口句柄!
在後台按鍵 或是 對窗口做某些動作時 很長需要用到 句柄( hwnd )
接下來就用最簡單的 「FindWindows查找窗口句柄!」
'宣告API
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
接下來就用最簡單的 「FindWindows查找窗口句柄!」
'宣告API
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub Command1_Click()
Dim Hwnd As Long
Hwnd = FindWindow(vbNullString, "窗口名稱")
MsgBox Hwnd
VB6 Sleep & Delay 設定程式碼延遲!
1. Sleep
這個延遲呢,聽說造成整體程式延遲 看起來會LAG
本人無感,所以呢各位自行選擇
'宣告API
Private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
使用方法:
'單位:毫秒
'1000毫秒 = 1秒
Sleep 100 '100為延遲
2. Delay
Private Sub Delay(ASecond As Integer)
Dim before
before = Timer
Do
DoEvents
Loop Until (Int(Timer - before) = ASecond)
End Sub
Call Delay(1) '1 = 延遲1秒 如果是0.5 就改0.5就好
這個延遲呢,聽說造成整體程式延遲 看起來會LAG
本人無感,所以呢各位自行選擇
'宣告API
Private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
使用方法:
'單位:毫秒
'1000毫秒 = 1秒
Sleep 100 '100為延遲
2. Delay
Private Sub Delay(ASecond As Integer)
Dim before
before = Timer
Do
DoEvents
Loop Until (Int(Timer - before) = ASecond)
End Sub
Call Delay(1) '1 = 延遲1秒 如果是0.5 就改0.5就好
FB: 陳小逆
RC:DreamAnonymous
VB6 模擬鍵盤
1. SendKeys
這是一個最簡單的方式,不須要宣告API就可使用
使用方法:
SendKeys {"K"} '按下K鍵
但這無法設定說要 按下 或 彈起,所以是它的一個缺點
2. Keybd_event
這個方式就可以設定 按下 & 放開
'宣告API
Private Declare Sub keybd_event Lib "user32" Alias "keybd_event" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
這是一個最簡單的方式,不須要宣告API就可使用
使用方法:
SendKeys {"K"} '按下K鍵
但這無法設定說要 按下 或 彈起,所以是它的一個缺點
2. Keybd_event
這個方式就可以設定 按下 & 放開
'宣告API
Private Declare Sub keybd_event Lib "user32" Alias "keybd_event" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
使用方法:
keybd_event vbKeyA, 0, 0, 0 '按下A鍵
keybd_event vbKeyA, 0, 2, 0 '彈起A鍵
這些兩個方法都是最簡單前台按鍵的教學!
希望各位會學會
FB: 陳小逆
RC:DreamAnonymous
2017年11月13日 星期一
VB6熱鍵 GetAsyncKeyState
'宣告API
Private Declare Function GetAsyncKeyState Lib “user32″ (ByVal vKey As Long) As Integer
'加入一個Timer
Private Sub Timer1_Timer()
If GetAsyncKeyState(vbKeyF3) Then '如果按下F3
Msgbox "test" '彈出訊息
End If '結束如果
End Sub
'如果要 F3開啟 F4關閉
Private Sub Timer1_Timer()
If GetAsyncKeyState(vbKeyF3) Then '如果按下F3
Msgbox "你按下了F3" '彈出訊息
ElseIf GetAsyncKeyState(vbKeyF4) Then '如果按下F4
Msgbox "你按下了F4" '彈出訊息
End If ''結束如果
End Sub
Private Declare Function GetAsyncKeyState Lib “user32″ (ByVal vKey As Long) As Integer
'加入一個Timer
Private Sub Timer1_Timer()
If GetAsyncKeyState(vbKeyF3) Then '如果按下F3
Msgbox "test" '彈出訊息
End If '結束如果
End Sub
'如果要 F3開啟 F4關閉
Private Sub Timer1_Timer()
If GetAsyncKeyState(vbKeyF3) Then '如果按下F3
Msgbox "你按下了F3" '彈出訊息
ElseIf GetAsyncKeyState(vbKeyF4) Then '如果按下F4
Msgbox "你按下了F4" '彈出訊息
End If ''結束如果
End Sub
FB: 陳小逆
RC:DreamAnonymous
訂閱:
文章 (Atom)