vb中如何调用.exe文件?具体代码?谢谢

解决方案 »

  1.   

    Shell 函数
          执行一个可执行文件,返回一个 Variant (Double),如果成功的话,代表这个程序的任务 ID,若不成功,则会返回 0。语法Shell(pathname[,windowstyle])Shell 函数的语法含有下面这些命名参数:部分 描述 
    pathname 必要参数。Variant (String),要执行的程序名,以及任何必需的参数或命令行变量,可能还包括目录或文件夹,以及驱动器。 
    Windowstyle 可选参数。Variant (Integer),表示在程序运行时窗口的样式。如果 windowstyle 省略,则程序是以具有焦点的最小化窗口来执行的。 
    windowstyle 命名参数有以下这些值:常量 值 描述 
    vbHide 0 窗口被隐藏,且焦点会移到隐式窗口。 
    VbNormalFocus 1 窗口具有焦点,且会还原到它原来的大小和位置。 
    VbMinimizedFocus 2 窗口会以一个具有焦点的图标来显示。 
    VbMaximizedFocus 3 窗口是一个具有焦点的最大化窗口。 
    VbNormalNoFocus 4 窗口会被还原到最近使用的大小和位置,而当前活动的窗口仍然保持活动。 
    VbMinimizedNoFocus 6 窗口会以一个图标来显示。而当前活动的的窗口仍然保持活动。 
    说明如果 Shell 函数成功地执行了所要执行的文件,则它会返回程序的任务 ID。任务 ID 是一个唯一的数值,用来指明正在运行的程序。如果 Shell 函数不能打开命名的程序,则会产生错误。注意 缺省情况下,Shell 函数是以异步方式来执行其它程序的。也就是说,用 Shell 启动的程序可能还没有完成执行过程,就已经执行到 Shell 函数之后的语句。
      

  2.   

    Public Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
    Public Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
    Public Const PROCESS_QUERY_INFORMATION = &H400
    Public Const STILL_ACTIVE = &H103
    Public strWinDir As String
    Public hProcess As Long
        
        Source = File_Path & "\*.*"
        Target = App.Path & "\" & Save_File_Path & ".rar"
        On Error Resume Next
        Kill Target
        On Error GoTo 0
            
        FileString = Rarexe & " a -ep " & """" & Target & """" & " """ & Source & """"
        
        Result = Shell(FileString, vbHide)
        
        hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, Result)
        Do
            GetExitCodeProcess hProcess, lngExitCode
            DoEvents
        Loop While lngExitCode = STILL_ACTIVE
      

  3.   

    在前面加上:
        Rarexe = App.Path & "\winrar.exe"
        If Dir(Rarexe) = "" Then
           MsgBox "在安装文件夹下无法找到rar文件,请确定后重试!", vbCritical + vbOKOnly
           Exit Sub
        End If整个代码的意思是:将一个文件夹下的所有文件压缩成一个RAR文件
      

  4.   

    Shell 函数语法:
    shell 路径,参数路径可以直接给 也可以是变量
    参数1楼有
    引用:
    vbHide 0 窗口被隐藏,且焦点会移到隐式窗口。 
    VbNormalFocus 1 窗口具有焦点,且会还原到它原来的大小和位置。 
    VbMinimizedFocus 2 窗口会以一个具有焦点的图标来显示。 
    VbMaximizedFocus 3 窗口是一个具有焦点的最大化窗口。 
    VbNormalNoFocus 4 窗口会被还原到最近使用的大小和位置,而当前活动的窗口仍然保持活动。 
    VbMinimizedNoFocus 6 窗口会以一个图标来显示。而当前活动的的窗口仍然保持活动。 
    *********************
    使用shell打开某文件夹 和直接打开文本文件(不是把其内容输入到程序中..) 
    ----------------------------- 
    文件夹: 变量 = Shell("EXPLORER.EXE c:\vb", 1) 或者:    Shell "EXPLORER.EXE c:\vb", 1  文本文件:变量=Shell("c:\windows\notepad.exe d:\dt.log", vbNormalFocus) 或者:    shell "c:\windows\notepad.exe d:\dt.txt", 1 ------------------------------- 
    前者调用系统的 explorer.exe 来打开某文件夹 
    后者调用系统的 记事本程序  来打开指定路径的文本文件*******************
    shell 打开网页例 Shell "C:\Program Files\Internet Explorer\IEXPLORE.EXE http://www.hao123.com/", 1 双引号里前半部是浏览器的路径及名字,http等是要打开的网页网址. 
      

  5.   

    恩不错可以利用他扩展一下,我已经用它实现打开非exe文件。
    直接使用系统的默认程序打开或者调用打开方式。
    就和资源管理器一样了。
    我有一个远程浏览服务器程序刚传到本站。
    开启服务器后客户端就像资源管理器一样浏览操作服务器端的文件和文件夹没有实现的是服务器的程序图标在客户端不能显示,下一步就增加程序图标。
    删除功能暂时有写。