快捷导航 上传作品

[c++] vb 按键操作

[复制链接]
梅雷工具箱发表于 2015-6-25 13:34:00 | 显示全部楼层 |阅读模式

SHIFT    +   
CTRL     ^   
ALT      %

SendKeys ("%{E}")   '模拟按下 ALT+E
SendKeys "F4"   '模拟按下 F 和 4
SendKeys "{F4}"   '模拟按下 F4

SendKeys ("%{Z}") '模拟按下 Alt+Z
SendKeys ("{7}") '模拟按下 7
SendKeys ("{Down}") '模拟按下 ↓
SendKeys ("{Enter}") '模拟按下 回车




最简单的:sendkeys "abcde"但这样电脑貌似会死机,
因此我一般都是用shell32的sendkeys.
如下:
set ws=createobject("wscript.shell")
ws.sendkeys "abcde"
============================================================

'运行并激活计算器 按下 1+2=  结果为3
Dim ReturnValue, I
ReturnValue = Shell("Calc.EXE", 1)   ' 运行计算器。
AppActivate ReturnValue              ' 激活计算器。
SendKeys "1{+}2=", True              ' 按下按键给计算器



====新建记事本激活并模拟按下ALT+E=======================================

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Dim HwndVal&, Rtn&



Private Sub Form_Load()

'遇到错误,直接执行下一行。
On Error Resume Next

    Command1.Caption = "模拟按键"
    Rtn = Shell("NotePad.exe", 1)
    HwndVal = FindWindow(vbNullString, "无标题 - 记事本")
    If HwndVal = 0 Then MsgBox "记事本没运行": Unload Me: Exit Sub
    Print "记事本的句柄是: " & CStr(HwndVal): Print
   
End Sub





Private Sub Command1_Click()
'遇到错误,直接执行下一行。
On Error Resume Next

       AppActivate Rtn   '激活
    SendKeys ("%{E}") '激活菜单

End Sub


===============================================================



;'获得所以进程 名称与PID
'通过进程名 获得进程PID
Private Sub Command1_Click()
'遇到错误,直接执行下一行。
On Error Resume Next

Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set ps = objWMIService.ExecQuery("select * from Win32_Process")
s = " PID  进程名"
For Each p In ps

If p.Name = "ugraf.exe" Then
MsgBox Format(p.ProcessId, "@@@@") '通过进程名 获得进程PID
End If

s = s & vbCrLf & Format(p.ProcessId, "@@@@") & "  " & p.Name
Next
MsgBox s ;'获得所以进程 名称与PID

End Sub
_____________________________________________________________________________ _

中磊UG二次开发教程 梅雷著 qq1821117007
学UG就上UG网 http://www.9sug.com/
就上UG网淘宝直营店
回复

使用道具 评分 举报

您需要登录后才可以回帖 登录 | 注册UG网

本版积分规则