谷动谷力

 找回密码
 立即注册

扫一扫,访问微社区

谷动谷力 首页 编程 查看内容

C语言中应用程序运行系统命令system()CreateProcess()ShellExecuteEx()

2018-6-30 00:23| 发布者: admin| 查看: 88| 评论: 1|原作者: 大树

摘要: C语言中打开一个应用程序可以调用或运行命令system(),也可以调用操作系统的API函数,比如Windows系统可以调用CreateProcess()、ShellExecuteEx()等函数来打开一个应用程序。 举例 #include stdio.h #include stdl ...
C语言中打开一个应用程序可以调用或运行命令system(),也可以调用操作系统的API函数,比如Windows系统可以调用CreateProcess()、ShellExecuteEx()等函数来打开一个应用程序。


举例
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. int main()
  4. {
  5.     printf("在windows上打开记事本程序\n");
  6.     system("notepad.exe");
  7.     return 0;
  8. }
复制代码




默认路径是源文件的路径。
如果指定别的路径,两种方法:
一是相对当前默认路径指定路径。
二是指定绝对路径。
譬如:
E:\C\c.c 这是源文件
E:\C\abc.exe
E:\D\abcd.exe
C:\A\aaa.exe
如果想执行abc.exe,那么可以不指定路径:
  1. #include <stdlib.h>

  2. int main()
  3. {
  4.      char *cmd="abc.exe";
  5.      system(cmd);
  6.      
  7.      return 0;
  8. }
复制代码


如果想执行abcd.exe,那么可如下指定路径:
  1. include <stdlib.h>

  2. int main()
  3. {
  4.      char *cmd="..\\D\\abcd.exe";
  5.     //指定相对路径
  6.     //char *cmd="E:\\D\\abcd.exe";
  7.     //指定绝对路径
  8.      system(cmd);
  9.      
  10.      return 0;
  11. }
复制代码


如果想执行aaa.exe,则必须指定绝对路径:
  1. #include <stdlib.h>

  2. int main()
  3. {
  4.      char *cmd="C:\\A\\aaa.exe";
  5.      system(cmd);
  6.      
  7.      return 0;
  8. }
复制代码


对于空格问题,可按如下方法解决
  1. #include <stdlib.h>

  2. int main()
  3. {
  4.      char *cmd="E:\\AB\" \"CD\\xyz.exe";
  5.     //即执行E:\AB CD\xyz.exe
  6.      system(cmd);
  7.      
  8.      return 0;
  9. }
复制代码





鲜花

握手

雷人

路过

鸡蛋
发表评论

最新评论

fannifu 2018-6-25 23:46
  1. #include <stdlib.h>

  2. int main()
  3. {
  4.     char *cmd="E:\\AB\" \"CD\\xyz.exe";
  5.     //即执行E:\AB CD\xyz.exe
  6.      system(cmd);
  7.      
  8.      return 0;
  9. }
复制代码

查看全部评论(1)

QQ|Archiver|手机版|小黑屋|深圳市光明谷科技有限公司|Sunshine Silicon Corpporation ( 粤ICP备14060730号

GMT+8, 2020-8-3 23:33 , Processed in 0.122253 second(s), 25 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

返回顶部