shell文件只能执行exe文件,其他的一些程序关联文件根本无法打开,比如word文件,excel文件,文本文件根本无法打开

解决方案 »

  1.   

    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 Longprivate sub cmdopen_click()
        call ShellExecute(hwnd, "Open", "c:\text.doc", "", App.Path, 1)
    end sub
      

  2.   

    你也可以用这些TXT,DOC文件当对应EXE程序的参数来打开。
      

  3.   

    shell 只能打开.exe文件 要想打开其它文件只能用 ShellExecute API来实现了。
      

  4.   

    ShellExecute VB声明 
    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 
    说明 
      查找与指定文件关联在一起的程序的文件名 
    返回值 
    Long,非零表示成功,零表示失败。会设置GetLastError 
    参数表 
    参数 类型及说明 
    hwnd Long,指定一个窗口的句柄,有时候,windows程序有必要在创建自己的主窗口前显示一个消息框 
    lpOperation String,指定字串“open”来打开lpFlie文档,或指定“Print”来打印它 
    lpFile String,想用关联程序打印或打开一个程序名或文件名 
    lpParameters String,如lpszFlie是可执行文件,则这个字串包含传递给执行程序的参数 
    lpDirectory String,想使用的完整路径 
    nShowCmd Long,定义了如何显示启动程序的常数值。参考ShowWindow函数的nCmdShow参数 
      

  5.   

    windows下有一个命令start.exe,可以自动调用关联程序来打开文档,你可以试试 把要打开的文档当start.exe 的参数