ShellExecute me.hwnd ,"Open","WinPad.exe c:\dd.txt",vbnullstring,vbnullstring

解决方案 »

  1.   

    ShellExecute me.hwnd ,"Open","WinPad.exe c:\dd.txt",vbnullstring,vbnullstring或者Shell "Start wordPad.exe c:\text.txt"
      

  2.   

    同意楼上,我再继续问一下,怎样实现像windows里打开一个未指定打开程序的文件时弹出一个选择程序对话框
      

  3.   

    Private Sub Command1_Click()
        CommonDialog1.ShowOpen
        Me.Caption = CommonDialog1.filename
    End Sub
      

  4.   

    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 LongPrivate Sub Command4_Click()
    ShellExecute Me.hwnd, "open", "C:\a.txt", "", App.Path, 1
    End Sub
    '或
    '不用API
    Private Sub Command1_Click()
        Shell "start.exe C:\a.txt", vbHide
    End Sub
      

  5.   

    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 LongPrivate Sub Command4_Click()
    ShellExecute Me.hwnd, "open", "C:\a.txt", "", App.Path, 1
    End Sub
    '或
    '不用API
    Private Sub Command1_Click()
        Shell "start.exe C:\a.txt", vbHide
    End Sub
      

  6.   

    加入windows commondialog控件,然后用commondialog1.showopen就行了
      

  7.   

    Const p = "c:\program files\accessories\wordpad.exe"
    Shell p & " c:\text.txt", vbMaximizedFocus
      

  8.   

    1,     Dim RetVal
    RetVal = Shell("C:\WINDOWS\CALC.EXE", 1)   ' 完成Calculator。
    你可以将"C:\WINDOWS\CALC.EXE"换成你用执行的windows/dos的命令.2 ,   也可以用ShellExecute
    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_SHOWNORMAL = 1ShellExecute Me.hwnd, vbNullString, ".notepad.exe", vbNullString, "C:\", SW_SHOWNORMAL3,   还可以用ShellExecuteEX
    Const SEE_MASK_INVOKEIDLIST = &HC
    Const SEE_MASK_NOCLOSEPROCESS = &H40
    Const SEE_MASK_FLAG_NO_UI = &H400
    Private Type SHELLEXECUTEINFO
        cbSize As Long
        fMask As Long
        hwnd As Long
        lpVerb As String
        lpFile As String
        lpParameters As String
        lpDirectory As String
        nShow As Long
        hInstApp As Long
        lpIDList As Long
        lpClass As String
        hkeyClass As Long
        dwHotKey As Long
        hIcon As Long
        hProcess As Long
    End Type
    Private Declare Function ShellExecuteEx Lib "shell32.dll" Alias "ShellExecuteEx" (SEI As SHELLEXECUTEINFO) As Long
      

  9.   

    楼上的全理解错了,帖主的意思如果指定文件是txt则用wordpad,指定是mp3则用wimnap打开,是不是啊
      

  10.   

    何必那么麻烦呢!所有的Windows版本都可以使用command.com(DOS)吧,但win下的DOS比纯DOS要厉害哦,有一个start命令,可以直接打开各种类型的文件,就象用鼠标双击一样。这样的话,你用Common Dialog的OpenFile得到一个文件的路径之后,假定变量为FilePath吧,可以这样做!
       FilePath="'" & FilePath & "'"          '解决长文件名问题
       Shell("Start " & FilePath)
    搞定了,呵呵!
      

  11.   

    可以使用 GetFileOpenName()函数