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 Longhttp://ygyuan.go.163.com/
http://ygyuan.3322.net/
有源程序有中文说明

解决方案 »

  1.   

    1.用VB自己的函数 SHELL
        Call Shell("C:\WINDOWS\NOTEPAD.EXE d:\temp\0827.txt", 1)
        这条语句的意思就是用目录C:\WINDOWS下的NOTEPAD.EXE 来打开
        d:\temp\0827.txt这个文件。缺点是不能保证这个NOTEPAD.EXE
        在任何机器上都存在,因此较好的做法是把NOTEPAD.EXE随同自己
        的程序一起发布,这样就能万无一失。
    2.用WINDOWS的函数 ShellExecute
        这不是VB自带的函数,所以必须在程序里对这函数进行声明。
        Public 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
        
        ShellExecute(Me.hwnd, vbNullString, "d:\temp\0827.txt", 
        vbNullString, vbNullString, 1)
        这个函数并不关心文件被什么程序打开,如果WINDOWS中现在把.TXT的
        文件和NOTEPAD.EXE关联,那自动就会用NOTEPAD.EXE来打开这个文本文
        件,如果是和其他的文字处理程序关联的,就会用所关联的程序来打开
        这个文件。
        优点,比如当知道客户机器上一定安装了EXCEL这个软件,但并不知道
        客户把它安装到哪儿了,这时候用第一种方法就力不从心了,而用这条
        函数就显得极为方便。缺点,如果打开文件的格式和任何程序都没关联
        起来,这时系统就不知道该如何打开它了。