c#中如何启用外部exe程序?

c#中如何启用外部exe程序?,第1张

c#调用外部誉知exe程序,首先要

using System.Diagnostics

然后开启一个新process

System.Diagnostics.ProcessStartInfo p=null

System.Diagnostics.Process Proc

p = new ProcessStartInfo("nnnn.exe","参数")

p.WorkingDirectory = exepath//设置此外颂虚孙部程序所在windows目录

Proc = System.Diagnostics.Process.Start(p)/野链/调用外部程序

用Runtime.getRuntime().exec()方法,方法的参数传一个字符串,表示外部程序的exe文件的路径。(Runtime类在java.lang包下,所以尘悉不需要另添加敬扒import语句。)例如你要运行D盘根目录下的test.exe程序,就用下面这个语句:Runtime.getRuntime().exec("D:\\test.exe"亮兄昌)这样就可以打开外部程序了。

QT中使用QProcess启用外部程序启用外部程序,并可传参,默认第一个参数是exe路径!启动外部程序的方法有以下两种:1、start()void QProcess::start ( const QString &program, const QStringList &arguments, OpenMode mode = ReadWrite )Starts the program program in a new process, passing the command line arguments in arguments. The OpenMode is set to mode. QProcess will immediately enter the Starting state. If the process starts successfully,QProcess will emit started()otherwise, error() will be emitted.Note that arguments that contain spaces are not passed to the process as separate arguments.Windows: Arguments that contain spaces are wrapped in quotes.Note: Processes are started asynchronously, which means the started() and error() signals may be delayed. Call waitForStarted() to make sure the process has started (or has failed to start) and those signals have been emitted.See also pid(), started(), and waitForStarted().2、使用QProcess::execute(), 不过使用此方法时程序会谈纤则最阻塞直到此方法执行的程序结束后返回,这时竖巧候可使用QProcess和QThread这两个类结合使用的方法来处理,以防止在主 线程中调用而导致阻塞的情况先从QThread继承一个类,重新实现run()函数:答:1、使用QProcess::startDetached()方法,启动外部程序后立即返回;2、使用QProcess::execute(),不过使用此方法时程序会最阻塞直到此方法执行的程序结束后返回,这时候可使用QProcess和QThread这两个类结合使用的方法来处理,以防止在主含棚线程中调用而导致阻塞的情况先从QThread继承一个类,重新实现run()函数:Quote:class MyThread : public QThread{public:void run()}void MyThread::run(){QProcess::execute("notepad.exe")


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12412007.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存