vb程序要怎么写才能打开当前盘符的某个程序。
我有个u盘里面装了好多游戏,想整一个目录一样的程序,但是u盘的盘符是会变的,我想问问解决方案我想这样,把这个程序添加到autorun.inf里面,打开u盘就运行,出来一个...
我有个u盘里面装了好多游戏,想整一个目录一样的程序,但是u盘的盘符是会变的,我想问问解决方案
我想这样,把这个程序添加到autorun.inf里面,打开u盘就运行,出来一个窗口,里面有多个optionbutton,每个对应一个游戏,有两个commandbutton一个对应上面的游戏,按了打开游戏,一个可以打开u盘目录,但无论按哪个,程序都会关闭,而且如果打开程序15秒无响应会打开u盘目录,求高手做好后把工程文件发过来(vbp,vbw,frm,frx这些)到本id@qq.com这个邮箱来吗,我之后自己改改,半成品也行,只要把运行文件这块解决了就好,对了,如果可以最好在关键地方加些注释,因为我要设定打开的文件的路径之类的,要是找不到就没意义了 展开
我想这样,把这个程序添加到autorun.inf里面,打开u盘就运行,出来一个窗口,里面有多个optionbutton,每个对应一个游戏,有两个commandbutton一个对应上面的游戏,按了打开游戏,一个可以打开u盘目录,但无论按哪个,程序都会关闭,而且如果打开程序15秒无响应会打开u盘目录,求高手做好后把工程文件发过来(vbp,vbw,frm,frx这些)到本id@qq.com这个邮箱来吗,我之后自己改改,半成品也行,只要把运行文件这块解决了就好,对了,如果可以最好在关键地方加些注释,因为我要设定打开的文件的路径之类的,要是找不到就没意义了 展开
3个回答
展开全部
Option Explicit
'用于计算程序运行时间
Dim time As Long
'用于储存程序所在的盘符
Dim AppPath As String
Private Declare Sub Sleep Lib "Kernel32" (ByVal dwMilliseconds 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 Long
Private Sub Command1_Click()
'打开U盘根目录
ShellExecute 0, "open", AppPath + ":\", 0, 0, 1
Unload Me
End Sub
Private Sub Command2_Click()
'使用ShellExecute 函数打开指定路径的程序,这里用工程1.exe代替
ShellExecute 0, "open", AppPath + ":\工程1.exe", 0, 0, 1
End Sub
Private Sub Form_Load()
AppPath = App.Path
AppPath = Left(AppPath, 1)
End Sub
Private Sub Timer1_Timer()
'如果time中的值大于15,则程序运行超过15秒
If time > 15 Then
'打开U盘目录
ShellExecute 0, "open", AppPath + ":\", 0, 0, 1
'延迟1秒
Sleep 1000
'关闭自身
Unload Me
Else
time = time + 1
End If
End Sub
程序如下图:
上面的是Command1,下面的是Command2,有什么不明白的可以再问我。已将工程文件发送到你的邮箱,请查收。
展开全部
VB里有一个参数,在U盘运行时,APP.PATH 就是当前U盘运行的盘符,比如你一个目录是U盘下AAA,执行程序是BBB.EXE,那么按钮代码如下:
shell app.path & "\AAA\BBB.EXE" ‘执行游戏程序
unload me '退出
但无论按哪个,程序都会关闭
而且如果打开程序15秒无响应会打开u盘目录
这两句话本身是无法做到的,关闭后,程序就不执行,不执行,怎么监视程序15秒无响应?还要然后打开U盘目录?怎么样才叫无响应?
要写程序就要想好了一步一步来的,光想拿来改改就成为自己的东西是不现实的。
shell app.path & "\AAA\BBB.EXE" ‘执行游戏程序
unload me '退出
但无论按哪个,程序都会关闭
而且如果打开程序15秒无响应会打开u盘目录
这两句话本身是无法做到的,关闭后,程序就不执行,不执行,怎么监视程序15秒无响应?还要然后打开U盘目录?怎么样才叫无响应?
要写程序就要想好了一步一步来的,光想拿来改改就成为自己的东西是不现实的。
更多追问追答
追问
我说,我的意思是把打开目录这个命令设置在关闭前。。。不过还是要谢谢你,我会弄了
追答
shell app.path & "\AAA\BBB.EXE" ‘执行游戏程序
Shell "explorer.exe " & App.Path '打开当前目录
unload me '退出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
app.path 你懂的 字符串处理一下就是 你要的盘符了........
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询