VB做个EXE调用另一个EXE
答案:4 悬赏:40 手机版
解决时间 2021-03-19 00:20
- 提问者网友:浩歌待明月
- 2021-03-18 04:29
VB 写个EXE程序 假如着个程序的名字是 myvb.exe 当双击myvb.exe是判断一个绝对路径的目录的下EXE 程序是否在运行,如果没有运行,就运行它。如果程序正在运行,则提示程序正在使用。 这里不要用查找进程来判断,要用绝对路径文件来判断。假如调用的EXE文件在 C:\Program Files\Tencent\qq.exe 请给出代码!
最佳答案
- 五星知识达人网友:愁杀梦里人
- 2021-03-18 05:52
最好安全调用,防止泄露===================函数:Call Shell(PathName,WindowStyle)
或 a = Shell(PathName,WindowStyle) ,不需要声明.
注解:PathName 可以是程序路径(如相对路径 App.path +"\...\*.exe")、Windows 内置代号(如控制面板选项:Appwiz.cpl 即为添加删除程序,不过要结合 RunDLL32);WindowStyle 是窗口初始样式,如最大化、最小化等。
===========
例:
Private Sub Command1_Click()
Call Shell("c:\windows\explorer.exe", vbNormalFocus)
End Sub
或 a = Shell(PathName,WindowStyle) ,不需要声明.
注解:PathName 可以是程序路径(如相对路径 App.path +"\...\*.exe")、Windows 内置代号(如控制面板选项:Appwiz.cpl 即为添加删除程序,不过要结合 RunDLL32);WindowStyle 是窗口初始样式,如最大化、最小化等。
===========
例:
Private Sub Command1_Click()
Call Shell("c:\windows\explorer.exe", vbNormalFocus)
End Sub
全部回答
- 1楼网友:愁杀梦里人
- 2021-03-18 09:09
dim path as stringpath = "C:\Program Files\Tencent\qq.exe "if len(dir(path))>0 then shell "C:\Program Files\Tencent\qq.exe "
- 2楼网友:北城痞子
- 2021-03-18 08:07
比如要按下一个按钮来启动c:\abc.exe程序。 vb6的代码如下: private sub command1_click() shell ("c:\abc.exe") end sub vb.net的代码如下: private sub button1_click(byval sender as system.object, byval e as system.eventargs) handles button1.click process.start("c:\abc.exe") end sub
- 3楼网友:琴狂剑也妄
- 2021-03-18 07:02
楼上的兄台,就算调用的程序正在运行,一样是可以重命名该程序的,类似黑客之门的病毒就是根据这个道理,将这个程序重命名之后,生成了一个与之前同样名称的病毒文件在该目录下,欺骗用户运行。我搞不懂为什么楼主要做这个硬性规定,因为随着QQ的版本不同,它的窗体名称搞不好也会更改。如果非要用这种方法的话,你可以使用FindWindow这个API,相关例子如下: Dim hwd As Long
Dim pid As Long
hwd = FindWindow("FilterGraphWindow", "ActiveMovie Window")
GetWindowThreadProcessId hwd, pid '获取进程标识符
'将进程标识符做为参数,返回目标进程PID的句柄,得到此句柄后
'即可对目标进行读写操,PROCESS_ALL_ACCESS表示完全控制,权限最大
hProcess = OpenProcess(PROCESS_ALL_ACCESS, 0, pid)
If hwd = 0 Or hProcess = 0 Then
MsgBox "未启动游戏或不能打开进程。", vbOKOnly + vbInformation, "提示"
Unload Me
End If
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯