【发布时间】:2021-07-25 11:37:43
【问题描述】:
例如我的控制台应用程序在这里:
C:\Users\User\Documents\Embarcadero\Studio\Projects\Console App Test\Win32\Debug\ConsoleAppTest.exe
我在 `C:\Temp\exec.bat' 有一个 bat 文件,它将调用控制台应用程序:
bat文件内容:
"C:\Users\User\Documents\Embarcadero\Studio\Projects\Console App Test\Win32\Debug\ConsoleAppTest.exe"
使用 Delphi,在控制台应用程序中,我是否可以“知道”控制台应用程序是由 C:\Temp\exec.bat 启动的?更具体地说,从路径C:\Temp?
【问题讨论】:
-
没有。为什么你还需要它?
-
我想将错误日志保存在
C:\Temp文件夹中,而不是控制台应用文件夹中... -
从bat文件启动app时
C:\Temp不是当前目录吗? -
顺便说一句,在应用启动时将日志保存在当前目录中确实是个坏主意。
-
表现良好的应用程序应将日志保存在用户配置文件中,例如 AppData\Local 文件夹(每个用户专用)或 ProgramData 文件夹(所有用户均可访问)。在这些目录中,您应该使用您的公司名称创建一个子目录,然后创建一个带有应用程序名称的子目录,然后保存您的日志。不要不要对这些路径进行硬编码,而是通过查询 shell 来获取它。使用
SHGetFolderPath。
标签: delphi console-application