IIS 和 Delphi - 获取 ISAPI 中的应用程序文件夹
在 IIS 上运行 ISAPI 应用程序时,如果我们在 ISAPI 中调用 ParamStr(0)
或 Application.ExeName
,我们将获得 IIS 的安装文件夹(C:\windows ...)。
有没有办法获取包含我的 ISAPI 而不是 IIS 的应用程序文件夹的文件夹路径?
When running an ISAPI application on IIS, if we call ParamStr(0)
or Application.ExeName
inside our ISAPI we will get the folder that IIS is installed (C:\windows...).
Is there any way of getting the folder path which contains my ISAPI instead of IIS's application folder?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的 ISAPI 应用程序是一个库 (DLL),因此您可以使用此方法来获取其文件夹:
如果不需要最后一个反斜杠,请使用
ExtractFileDir()
而不是ExtractFilePath()
。理由:根据 Delphi 文档,
使用 GetModuleName() 可以获得该 DLL 的文件名。另一方面,ParamStr(0) 包含加载此 DLL 的主 EXE 的名称。
Your ISAPI application is a library (DLL), therefore you can use this approach to get its folder:
Use
ExtractFileDir()
instead ofExtractFilePath()
if you don't need the last backslash.Rationale: According to Delphi docs,
Using GetModuleName() you get that DLL's file name. ParamStr(0), on the other hand, contains the name of the main EXE where this DLL has been loaded to.