C++调用一个可执行文件的时候,想控制执行的时间,该如何做呢
C++调用一个可执行文件的时候,想控制执行的时间,该怎么做呢?
本人已知道用system函数就可以调用一个可执行文件,如:system( "C:\\a.exe ");
但这个a.exe可能会一直执行下去,而我想让它执行5分钟就停止执行,请问有办法吗?
难道要用多线程?不用vc,就用纯C++。
------解决方案--------------------
只用纯C++是不行的,C++只是语言,就是一些基本的语法
系统函数不是C++语言的组成,是操作系统和编译器提供的已经写好的库而已,用system函数就已经不是纯C++了
------解决方案--------------------
system( "C:\\a.exe ");
同时开始一个定时器,
当定时器触发后,
终止进行即可 ~
需要注意,
system( "C:\\a.exe ");
这样启动的进程和当前的自身进程是没有关系,
你只能通过操作系统完成进程的终止
------解决方案--------------------
可以使用 ExitProcess或者TerminateProcess
具体可以查询 MSDN,
Google 也可以 ~
------解决方案--------------------
补充一下:
TerminateProcess可以结束外部进程
(它相当于win任务管理器中的结束进程,因此对数据来说不安全,它不通知它引用的dll)
ExitProcess 用来结束自己
它相对安全
例如c++对象它结束时会对全局对象正常析构,对局部对象直接释放
详情查看msdn
本人已知道用system函数就可以调用一个可执行文件,如:system( "C:\\a.exe ");
但这个a.exe可能会一直执行下去,而我想让它执行5分钟就停止执行,请问有办法吗?
难道要用多线程?不用vc,就用纯C++。
------解决方案--------------------
只用纯C++是不行的,C++只是语言,就是一些基本的语法
系统函数不是C++语言的组成,是操作系统和编译器提供的已经写好的库而已,用system函数就已经不是纯C++了
------解决方案--------------------
system( "C:\\a.exe ");
同时开始一个定时器,
当定时器触发后,
终止进行即可 ~
需要注意,
system( "C:\\a.exe ");
这样启动的进程和当前的自身进程是没有关系,
你只能通过操作系统完成进程的终止
------解决方案--------------------
可以使用 ExitProcess或者TerminateProcess
具体可以查询 MSDN,
Google 也可以 ~
------解决方案--------------------
补充一下:
TerminateProcess可以结束外部进程
(它相当于win任务管理器中的结束进程,因此对数据来说不安全,它不通知它引用的dll)
ExitProcess 用来结束自己
它相对安全
例如c++对象它结束时会对全局对象正常析构,对局部对象直接释放
详情查看msdn