就是说, 我被IIS调用, 我想知道调用我的是IIS。我被ABC.exe调用,我想知道是abc.exe程序。

解决方案 »

  1.   

    获得当前进程ID,然后根据ID获得进程名字。
      

  2.   

    用这个吧,更简单些。Option Explicit
    Private Declare Function GetModuleFileName Lib "kernel32.dll" Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As LongPrivate Function AppExeName() As String
        Dim strFileName As String
        Dim lngCount As Long
        strFileName = String(255, 0)
        lngCount = GetModuleFileName(App.hInstance, strFileName, 255)
        AppExeName = Left(strFileName, lngCount)
    End Function
      

  3.   

    好像不行,拿到的是我自己dll的名字。我能拿到调用者的资料,然后访问里面的元素。如果使用者自己传入,dll可以运行。我现在想简化使用,所以自动侦测谁在调用我,然后就自动根据资料初始化。
      

  4.   

    lngCount = GetModuleFileName(0, strFileName, 255)
    这样子就可以了
      

  5.   

    谢谢各位。名字是拿到了。怎么知道那个pid是我的调用者的?
      

  6.   

    Declare Function GetCurrentProcessId Lib "kernel32" Alias "GetCurrentProcessId" () As Long