If KeyCode = 13 ThenFor i = 0 To ListFile.ListCount - 1
    If ListFile.Selected(i) Then
        'MsgBox sFile(i), vbOKOnly, "Msg"
        lr = ShellExecute(Me.hwnd, "open", "e:\1.txt", "", "", SW_SHOW)
     '   Shell "notepad e:\1.txt"  //用这句就可以
        If lr < 0 Or lr > 32 Then
            MsgBox "success"
        End If
        
    End If
NextEnd If

解决方案 »

  1.   

    lr = ShellExecute(Me.hwnd, "open", "e:\1.txt", NULL, NULL, SW_SHOW)
      

  2.   

    谢几位兄弟。
    2楼的哥们,搞不定,用了NULL,程序调试都通不过,为非法使用NULL
      

  3.   

    ShellExecute(Me.hwnd, "open", "e:\1.txt", vbnullstring, vbnullstring, 5)
      

  4.   

    楼上老大的方法也用了,也搞不定。我把我以前搞定的一个程序看了看,和这个一样的就可以。而这个程序唯一不太一样的地方就是我用到了registerhotkey注册了个热键,不知道是不是和这个有关。最后只好用vb里面的shell命令搞定了。现在我又遇到了一个新的问题我用shell打开mediaplayer,直接播放一个媒体文件,但我想打开后,播放器直接全屏不知道该怎么做
    我用Shell sFile(i), vbMaximizedFocus
    也仅仅只是最大化
      

  5.   

    call ShellExecute(Me.hwnd, "open", "e:\1.txt", vbnullstring, vbnullstring, 3)