我想做一个DDE程序,其中要用到“工程.exe”这个程序。
已知这个程序在E盘下的VC文件夹下。
我怎么才能得到这个文件的文件名呢?
请写出代码。

解决方案 »

  1.   

    你的意思是说怎样能得到vc文件夹下文件的文件名?
    filesystemobject有个getfilename方法,但它必须指定文件GetFileName 方法描述返回指定路径中的最后部件,该路径不是驱动器说明的一部分。语法object.GetFileName(pathspec)GetFileName 方法语法有如下几部分:部分 描述 
    object 必需的。始终是一个 FileSystemObject 的名字。 
    pathspec 必需的。到一个指定文件的路径(绝对的或相对的)。 
    说明如果 pathspec 不是以已命名部件结尾,GetFileName 方法返回一个零长度字符串("")。注意   GetFileName 方法仅在提供的路径字符串上起作用。它没有尝试去辨认路径,也不对指定路径是否存在进行检查。
      

  2.   

    问题已经解决了:把文件放在主程序文件夹下,然后再用App.Path + "\服务工程.exe"就可以了。
    Option ExplicitPrivate Sub Form_Load()
    Text1.LinkItem = "txtserver"
    Text1.LinkTopic = "服务工程|DDE_test"
    Label2.LinkItem = "clock"
    Label2.LinkTopic = "服务工程|DDE_test"
    retry:
    On Error GoTo handle
    Label2.LinkMode = 1
    cmdReq.Enabled = False
    cmdUpdate.Enabled = False
    Exit Sub
    handle:
    If Err = 282 Then
    Dim x
    Dim fname As String
    fname = (App.Path + "\服务工程.exe")
    x = Shell(fname, vbNormalFocus)
    Resume retry
    Else
    Error Err
    End IfEnd SubPrivate Sub Label2_Click()
    Label2.LinkTopic = "服务工程|DDE_Test"
    Text1.LinkItem = "txtServer"
    End SubPrivate Sub Text1_Change()
    Text1.LinkTopic = "服务工程|DDE_Test"
    Text1.LinkItem = "txtserver"
    End Sub
    但是我又遇到了新问题:程序运行后出现重复循环,不停地弹出“服务工程.exe”这个被调用程序的窗口。
    请问这是怎么回事?
      

  3.   

    说明在你的form_load中有错出现,单步跟踪查看一下