添加一个特定于应用程序的path,所以它可以从Windows的命令行运行

遵循微软的指导, http://msdn.microsoft.com/en-us/library/ee872121(VS.85).aspx ,我能够让我的程序能够使一个程序解决dynamic库是必需的,以便它的工作。

所以我给我的可执行文件添加一个完整名称和path的值,并且使用DLL文件目录的完整path将子项添加到此条目(命名path)。

还有魔法。 有用。 我去开始菜单,并键入myprogram.exe,它启动,现在能够正确定位的dll文件。

但是,如果我使用命令cmd.exe启动命令提示符,然后尝试运行myprogram.exe不能够解决该DLL的了。 出于某种原因命令提示符似乎不尊重/读取registry的值设置HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Apppath

任何build议,我怎么能得到这个行为,从命令提示符以及从开始菜单中工作?

Solutions Collecting From Web of "添加一个特定于应用程序的path,所以它可以从Windows的命令行运行"

它是正确的。 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App PathsShellExecuteEx使用,而不是由CreateProcess 。 因此,并不是所有的程序都会使用App Paths中的设置。 如果要为cmd.exe定义PATH ,则可以使用名为cmd.exe的App Paths子项,或者使用旧的%SystemRoot%\System32\autoexec.nt文件来修改PATH环境变量。

也可以从使用ShellExecuteEx的命令行使用“START / WAIT app.exe”。

我会尽我所能。

首先,请注意,cmd和run \ start菜单选项都在C:\ WINDOWS \ system32中运行。

如果你是在那里,那么它会工作。

如果你不想把它放在那里,你可以通过在“我的电脑” – >“属性” – >“高级” – >“环境变量”上单击鼠标右键来更改“环境变量”。

祝你好运。