怎么用C++实现在一个程序启动另一个程序?知道的告诉下,谢谢啦

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用C++实现在一个程序启动另一个程序?知道的告诉下,谢谢啦相关的知识,希望对你有一定的参考价值。

如果是Windwos下面,可以调用专门的API,如
WinExec(),ShellExecute(),ShellExecuteEx(),CreateProcess()等等。。。具体的你可以查查MSDN

用法最简单的应该是WinExec:
UINT WinExec(
LPCSTR lpCmdLine, // command line
UINT uCmdShow // window style
);

lpCmdLine是命令,就相当于Dos命令一样来写
uCmdShow是显示方式,最常用的中
uCmdShow = 5,显示窗口
uCmdShow = 0,隐藏窗口
函数返回TRUE表示调用成功,否则表示调用失败。

例子(调用记事本程序):
WinExec("Notepad.exe", 5);
参考技术A C语言提供了一个库函数exec。
函数名: exec...
功 能: 装入并运行其它程序的函数
用 法: int execl(char *pathname, char *arg0, arg1, ..., argn, NULL);
int execle(char *pathname, char *arg0, arg1, ..., argn, NULL,
char *envp[]);
int execlp(char *pathname, char *arg0, arg1, .., NULL);
int execple(char *pathname, char *arg0, arg1, ..., NULL,
char *envp[]);
int execv(char *pathname, char *argv[]);
int execve(char *pathname, char *argv[], char *envp[]);
int execvp(char *pathname, char *argv[]);
int execvpe(char *pathname, char *argv[], char *envp[]);
程序例:

/* execv example */
#include
#include
#include

void main(int argc, char *argv[])

int i;

printf("Command line arguments:\n");
for (i=0; i
printf("[%2d] : %s\n", i, argv[i]);

printf("About to exec child with arg1 arg2 ...\n");
execv("CHILD.EXE", argv);

perror("exec error");

exit(1);

参考资料:C语言函数大全(e开头)

参考技术B bs的话,放个chtmlview即可

如果是c/s的话,java的句柄只能拿到虚拟机的外壳句柄,内部拿不到,也没有句柄,可以用spy++试下

1.jni接口映射
2.rpc调用
3.扫描文件,A在数据库,txt中标记,B定时扫描到就做出响应
4.脚本传递,python,js等
参考技术C 建议你买本国外经典著作,不过贵了点书 参考技术D 程序可以调用,网上很多

以上是关于怎么用C++实现在一个程序启动另一个程序?知道的告诉下,谢谢啦的主要内容,如果未能解决你的问题,请参考以下文章

怎么用c++编写一个Windows服务程序来监控另一个程序,崩溃后重新启动。

如何在 C++ 中向 MFC 项目添加另一个 gui

将数据发送到另一个 C++ 程序

ACP敏捷开发运用

sql怎么用两个条件判断,让其中另一个值等于别的

如何指定程序可以在 C++ 中运行的最长时间