2010-10-27 50 views
0

...即使用户通过双击不同于可执行文件的目录中的关联文件来打开应用程序。我一直使用ExtractFilePath(Application.EXEName),但是这个函数在这种情况下不能像希望的那样工作。什么代码会让我找到编译的可执行文件的目录?

+2

它绝对应该工作。 – 2010-10-27 21:47:16

+0

'ExtractFilePath(Application.EXEName)'应该可以工作。它做错了什么? – 2010-10-27 22:00:04

+0

难道Vista和Win7不允许读取或操作\ ProgramFiles内的文件吗? (我很抱歉,我现在没有与我有关的实际错误信息...用户在其他地方)。 – 2010-10-27 22:10:14

回答

0

另请尝试使用ParamStr(0)。当application.exename不适用时,这可能会起作用吗?

+3

这正是'ExeName'属性返回的内容。 – 2010-10-27 22:42:24

5

ExeName回报ParamStr(0)这反过来又返回由GetModuleFileNamehModule集合产生的为0。我看不出有任何理由为什么这不会在一个正常的应用程序中工作的字符串。

0

ExePath:= ExtractFilePath(paramstr(0));

我一直这样做,并且它总是可以工作,无论它在哪个操作系统上运行。

相关问题