IIS和Delphi - 获取ISAPI中的应用程序文件夹

时间:2011-10-17 12:50:59

标签: delphi iis isapi

在IIS上运行ISAPI应用程序时,如果我们在ISAPI中调用ParamStr(0)Application.ExeName,我们将获得安装IIS的文件夹(C:\ windows ...)。

有没有办法获取包含我的ISAPI而不是IIS的应用程序文件夹的文件夹路径?

1 个答案:

答案 0 :(得分:6)

您的ISAPI应用程序是一个库(DLL),因此您可以使用此方法获取其文件夹:

  

ExtractFilePath(GetModuleName(HINSTANCE))

如果您不需要最后一个反斜杠,请使用ExtractFileDir()代替ExtractFilePath()

理由:根据Delphi文档,

  

系统单元中声明的几个变量对那些编程库特别感兴趣。 ...在库的生命周期中,HInstance包含其实例句柄。

使用GetModuleName()可以获得该DLL的文件名。另一方面,ParamStr(0)包含已加载此DLL的主EXE的名称。