我用commondialog控件选取了一个文件,能不能做到一点击打开就把该文件用相应的应用程序把它打开,例如是一个word或excel文件,我双击或按代开就能用word或excel把它打开或者说可以在选取文件之后用代码实现
请各位指教
谢谢

解决方案 »

  1.   

    能具体一点吗??
    因为我没用过shellexecute
      

  2.   

    shell (外部程序)
    可查帮助
      

  3.   

    【VB声明】
      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【别名】
      ShellExecuteA【说明】
        
      查找与指定文件关联在一起的程序的文件名 【返回值】
      Long,非零表示成功,零表示失败。会设置GetLastError 【参数表】
      hwnd -----------  Long,指定一个窗口的句柄,有时候,windows程序有必要在创建自己的主窗口前显示一个消息框  lpOperation ----  String,指定字串“open”来打开lpFlie文档,或指定“Print”来打印它  lpFile ---------  String,想用关联程序打印或打开一个程序名或文件名  lpParameters ---  String,如lpszFlie是可执行文件,则这个字串包含传递给执行程序的参数  lpDirectory ----  String,想使用的完整路径  nShowCmd -------  Long,定义了如何显示启动程序的常数值。参考ShowWindow函数的nCmdShow参数--------------------------------
    Option ExplicitPrivate Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
            ByVal hwnd As Long, _
            ByVal lpszOp As String, _
            ByVal lpszFile As String, _
            ByVal lpszParams As String, _
            ByVal lpszDir As String, _
            ByVal FsShowCmd As Long) _
            As Long
    Private Declare Function GetDesktopWindow Lib "user32" () As Long    Call ShellExecute(GetDesktopWindow, "Open", "c:\1.txt", "", "c:", SW_SHOWNORMAL)
      

  4.   

    Private Const SW_SHOWNORMAL = 1