我正在尝试理解一个我已经遇到过几次的问题(我有一个解决方法,但它让我非常烦恼)。
基本问题是,给定的 .exe 文件是否运行正常取决于其启动方式:
如果你以图形方式执行此操作(单击文件夹,双击 .exe),则可以工作
如果你从 dos 执行此操作(cd 到文件夹,执行 exe),则不起作用
如果您创建 exe 的快捷方式并执行 lnk 文件,则可以从 dos 运行。当程序无法运行时,它会抱怨无法找到 dll。
如果你使用 runas 对话框中的 exe 路径运行它,它就会起作用
我以前在 windows-xp 上用不同的程序遇到过同样的问题,但目前我遇到的是从http://www.smarttech.com/us/Support/Browse+Support/Download+Admin+Software/软件/SMART+Response+Software/SMART+Response+Software/SMART+Response+2010+software+SP1+for+Windows
有人能阐明这个问题的根本原因吗?
答案1
如果在启动之前在命令提示符下更改到应用程序目录,它会起作用吗?
程序可能会尝试加载一些附加模块 (DLL),但未指定在何处查找它们。因此,它们必须位于 Windows 可以自动找到它们的地方:在系统 PATH 中或在当前目录中。
当您通过双击 exe(或启动快捷方式)来启动时,系统通常会将当前目录设置为所在的文件夹......