用C ++执行另一个程序【JAVA教程】

!
也想出现在这里? 联系我们
信息

用C ++执行另一个程序,第1张

概述用C ++执行另一个程序

我想从我的C ++程序远程执行另一个应用程序。 到目前为止,我与CreateProcess(…)函数一起玩,它工作得很好。

然而,问题是我需要其他程序的完整path,但我不知道它的目录。 所以我想要的是我只需要input另一个程序的名字,比如当你在运行中键入“cmd”或者“winword”,它就会打开相应的程序。

在此先感谢,Russo

通过dll边界传递对STL向量的引用

构build一个windows应用程序瓦特/embedded式浏览器和JavaScript\’钩\’

Netbeans发布模式C ++速度是Visual Studio 2012的两倍?

在编译的ROOT(CERN)应用程序中将TCanvas绘制到屏幕上

谷歌协议缓冲区在windows中使用MinGW

如何隐藏MahApps.Metro窗口中的closuresbutton?

Internet Explorer BHO,写入registry和pipe理员权限

如何找出在C linux中的Hdpath

在Ubuntu上安装C ++库

linux系统调用表或汇编语言的cheetsheet

如果你使用这样的CreateProcess:

CreateProcessA( \”winword.exe\”,…. );

那么PATH变量将不会被使用。 你需要使用第二个参数:

CreateProcessA( NulL,\”winword.exe\”,…. );

有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/ms682425%28VS.85%29.aspx 。

您正在寻找ShellExecute() 。 如果你传递一个合适的URL,就像运行菜单一样,这甚至会起作用。

可以从“开始” – >“运行”运行的程序的目录被添加到PATH变量中。 您可以将程序所在的文件夹添加到PATH,然后使用CreateProcess()。 但是,你说你不知道目录,所以你可能不能这样做。

你知道一个部分路径吗? 例如,你知道你的exe永远在C: something something 或者这个路径的子文件夹吗? 如果是这样,请查找FindFirst()和FindNext()以列出该目录中的所有文件并搜索您的exe文件,然后在找到您的exe文件时使用CreateProcess()。

http://msdn.microsoft.com/en-us/library/aa365200%28VS.85%29.aspx显示如何列出目录中的文件。 你将不得不修改它以搜索子目录(例如,做一个递归函数)。

以任何方式启动程序并指望PATH被认为是不安全的编码。 系统路径可能会受到不正确安全的位置(如网络驱动器)的污染。 启动应用程序的最佳方法是从正确的位置启动可执行文件,并将CWD设置为安装的可执行文件的位置。 否则,你可能会启动恶意代码。

最有可能来自这里的信息的一些组合将有助于正确地获取位置: 通过注册表检测已安装的程序

格雷格

总结

以上是内存溢出为你收集整理的用C ++执行另一个程序全部内容,希望文章能够帮你解决用C ++执行另一个程序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞76 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容