色漫画之火影忍者红豆:如何在vb中启动winrar程序??

来源:百度文库 编辑:高校问答 时间:2024/05/09 20:30:37
简单的说:在我的程序里添加一个按钮,点击按钮,自动启动winrar程序,并打开指定的*.rar文件。
高手指点。谢谢。

这个问题需要调用名为ShellExecute的API函数。
----------------------------------------------------------
要调用这个函数,首先要在窗体层(或模块)中声明,声名如下:
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
----------------------------------------------------------
函数功能说明:
查找与指定文件关联在一起的程序的文件名。关联的方式要么是运行程序,要么是打印文件。可用Windows注册表编辑器将特定的文件类型同应用程序关联起来。例如,扩展名为.TXT的文本文件通常与Windows记事本(NOTEPAD.EXE)关联到一起。如在文件管理器中双击含.TXT扩展名的一个文件,就会自行启动记事本程序,并在其中载入文本文件;或者将指定的文件打印出来。
----------------------------------------------------------
函数返回值说明:
返回值类型为Long,若返回值大于32,则表明成功。
----------------------------------------------------------
函数参数说明:
1、hwnd
类型为Long,指定一个窗口的句柄,有些时候,Windows程序有必要在创建自己的主窗口前显示一个消息框。如果发生这种情况,由这个参数指定的窗口就会作为消息框的父窗口使用。在VB环境中,通常将活动窗体的窗口句柄作为这个参数使用

2、lpOperation
类型为String,指定字串“Open”来打开lpFlie文档;或指定“Print”来打印它。也可设为vbNullString,表示默认“Open”

3、lpFile
类型为String,想用关联的程序打印或打开的一个程序名或文件名

4、lpParameters
类型为String,如lpFile是一个可执行文件,则这个字串包含了传递给执行程序的参数。如lpFile引用的是一个文档文件,或者不需要使用参数,则设为vbNullString

5、lpDirectory
类型为String,想使用的默认路径完整路径

6、nShowCmd
类型为Long,定义了如何显示启动程序的常数值。
----------------------------------------------------------
函数调用示例:
设窗体Form1上有两个按钮控件Command1,Command2,其Caption属性分别为“浏览”,“打开”。另外还有一个文本框Text1和一个通用对话框CommonDialog1

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
Const SW_SHOW = 5 '显示窗口
'以上代码写在窗体的通用层.
'--------------------------
Private Sub Command1_Click()
'选择文件
CommonDialog1.ShowOpen
Text1.Text = CommonDialog1.FileName
End Sub

Private Sub Command2_Click()
'执行API函数
ShellExecute Me.hwnd, "open", Text1.Text, "", "", SW_SHOW
End Sub

直接用 Shell "你的程序" 就行了。