VB6.0中如何启动一个文本文件或其他格式的数据文件(例如***.txt,***.doc,***dat,***.vmp等)? 我用returnID = Shell("D:\run.txt", vbNormalFocus) 启动run.txt文件为什么出错?

解决方案 »

  1.   

    Shell打开的是EXE文件,若打开的不是EXE文件,需要先打开能打开这种文件的EXE 程序,由这种EXE 程序打开你要打开的文件,比如notepad.EXE能打开D:\run.txt,所以写成:
    returnID = Shell("notepad D:\run.txt", vbNormalFocus)
      

  2.   

    Shell打开EXE格式的文件比较直接,打开非EXE格式的文件就有绕一个弯.ShellExecute打开EXE格式的文件与非打开EXE格式的文件都比较直接.
      

  3.   


    这样打开.txt可以,但要打开.doc、.dat以及自己注册定义的文件怎么办?也是一样的先打开这个可执行程序吗?可执行的路径有什么要求? 随便放在那里都可以?
    谢谢
      

  4.   


    VB6.0里面怎么没有ShellExecute 这个函数呀? 谢
      

  5.   

    打开.doc要先打开Word,打开.dat要先打开 一个能打开视频软件的EXE,其它类似,我已经说了ShellExecute更直接一些,学会用API,我给你一个打开.doc例子:
    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 Const SW_SHOW = 5
    Private Sub Command1_Click()
    ShellExecute Me.hwnd, "open", "c:\11.doc", "", "", SW_SHOW
    End Sub
      

  6.   

    ShellExecute 是API函数,就是Windows的函数引入VB来用,从外接程序管理器中加载API浏览器后可调用.
      

  7.   

    Attribute VB_Name = "ModOpenFile"Option ExplicitPublic 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
    Public Enum ShowStyle
        vbHide
        vbMaximizedFocus
        vbMinimizedFocus
        vbMinimizedNoFocus
        vbNormalFocus
        vbNormalNoFocus
    End EnumPublic Function OpenFile(ByVal OpenName As String, Optional ByVal InitDir As String = vbNullString, Optional ByVal msgStyle As ShowStyle = vbNormalFocus)
        ShellExecute 0&, vbNullString, OpenName, vbNullString, InitDir, msgStyle
    End Function这个是论坛上一个朋友提供的...(具体谁忘啦..)
    可以作为一个模块,调用函数openfile
      

  8.   

    用命令行最简单不过了!
    a = Shell("cmd /c "start D:\run.txt"", vbNormalFocus)
      

  9.   

    Shell也可以,但是需要目前可执行文件支持命令行
    比如打开某个txt文件可以使用:
    shell "notepad c:\boot.ini"