VB 中使用SendKeys开启Run 窗口和是用API函数去开启Run
在使用Shell 去调用一个可执行文件是,居然开启程式后自动关闭,不得不寻找其它的方法去解决。
1.使用SendKeys开启Win键,再送键”R”,开启“运行”,等待100us,给运行窗口送一串字符,回车。 OptionExplicit PrivateDeclare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte,ByValbScan As Byte,ByVal dwFlags As Long,ByVal dwExtraInfo As Long) PrivateDeclare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Private Const KEYEVENTF_KEYUP = &H2 Private Const KEYEVENTF_EXTENDEDKEY = &H1 Private Const VK_LWIN = &H5B'左WIN键 Private Const VK_RWIN = &H5C'右WIN键 PrivateSub Form_Load() keybd_eventVK_LWIN,KEYEVENTF_EXTENDEDKEY,0 ' 按下 keybd_event VK_LWIN,KEYEVENTF_KEYUP,0 ' 弹起 Sleep (50) SendKeys "r",True Sleep (50) SendKeys "192.168.2.42",True '此例是登入服务网络,可以使用其它的可执行文件,例如"C:Program FilesGoogleChromeApplicationchrome.exe" Sleep (50) SendKeys"{ENTER}" End Sub 2.使用句柄’开启运行窗口 Dim objshell ‘查找到运行窗口的组合框 ’给TEXT文本框传递字符串,即要执行的程式及路径 SendMessage lTxtHwnd,WM_SETTEXT,255,ByVal "C:Program FilesIntel CorporationIntel(R) Thermal Analysis Tooltat.exe" lCmdHwnd = FindWindowEx(lRunHwnd,vbNullString,"确定") SendMessage lCmdHwnd,WM_LBUTTONDOWN,ByVal 0&,ByVal 0& SendMessage lCmdHwnd,WM_LBUTTONUP,ByVal 0& (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |