RT。有没有什么方法。

解决方案 »

  1.   

    IDE 环境中的工程和EXE 运行时没什么区别 只是所处的内存空间不同
      

  2.   

    用app.hInstance可以吗,我试了在IDE和EXE下,是不同的数值。能不能以此做为判断?
      

  3.   

    不妥,不如用app.EXEName:Property EXEName As String
        只读
        VB.App 的成员
        返回当前工程的可执行文件名,如果是在开发环境中运行,则返回工程名。
      

  4.   

    用app.EXEName返回的是dll的文件名,我问的是;如何知道调用它的是已经编译的EXE文件,还是在IDE环境中的工程。
    返回这个DLL的文件名有什么用啊
      

  5.   

    将你的工程名和exe文件名设为不同不就知道了另外,在98下,编译后,返回的字串为大写
      

  6.   

    可以用条件编译参数来做。
    #Const AppType="DLL"如果你是编译成DLL的话,就设置成DLL,如果编译成EXE,就设置成EXE,后面的程序只要调用这个参数就可以了。#if AppType="DLL" Then 
        'DLL时运行的代码
    #Else
      

  7.   

    上面没完就按了发出回复。
    可以用条件编译参数来做。
    #Const AppType="DLL"#if AppType="DLL" Then 
        'DLL时运行的代码
    #Else
        'EXE时运行的代码
    #ENDIF
    如果你是编译成DLL的话,就设置成DLL,如果编译成EXE,就设置成EXE,后面的程序只要调用这个参数就可以了。
      

  8.   

    另外,可以用:
    app.startMode来进行判断。
    返回或设置一个值,该值用来决定一个应用程序是被当作一个独立的工程还是一个 ActiveX 部件来启动。在运行时是只读的。StartMode 属性的设置值为:vbSModeStandalone 0 (缺省值)应用程序被当作一个独立的工程来启动。 
    VbSModeAutomation 1 应用程序被当作一个 ActiveX 部件来启动。 一般可以认为:0是EXE,1是DLL,但如果 是ACTIVEXEXE是不对的。只能用上一种方法。