C下执行命令行的方法.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C下执行命令行的方法

一、system()--执行shell命令 1、包含头文件: #include stdlib.h 2、定义 int system(const char * string); 3、参数 String:合法的可执行DOS(SHELL)命令 4、返回值 1)如果 system()在调用/bin/sh 时失败则返回127, 其他失败原因返回-1。 2)若参数string 为空指针(NULL), 则返回非零值。 3)如果system()调用成功则最后会返回执行shell 命令后的返回值, 但是此返回值也有可能为system()调用/bin/sh 失败所返回的127, 因此最好能再检查errno 来确认执行成功。 5、说明 system()会调用fork()产生子进程, 由子进程来调用/bin/sh-c string 来执行参数string 字符串所代表的命令, 此命令执行完后随即返回原调用的进程. 在调用system()期间SIGCHLD 信号会被暂时搁置,SIGINT 和SIGQUIT 信号则会被忽略。 6、用例 system(“ipconfig/all”); 7、重定向标准输出流 FILE *stream; stream = freopen(“data.txt”,”wb”,stdout); 运行结果可以重定向到data.txt 8、隐藏控制台窗口 #pragma comment( linker, “/subsystem:\”windows\” /entry:\”mainCRTStartup\”” ) 仍有调用的DOS窗口一闪,且重定向失效。 二、WinExec()—运行可执行程序 1、包含头文件 #includewindows.h 2、定义 UINT Win Exec(LPCSTR lpCmdLine, UINT uCmdShow); 3、参数 lpCmdLine:指向一个空结束的字符串,串中包含将要执行的应用程序的命令行(文件名加上可选参数)。 uCmdShow:定义Windows应用程序的窗口如何显示,并为CreateProcess函数提供STARTUPINFO参数的wShowWindow成员的值。 //uCmdShow 参数可选值: SW_HIDE = 0; {隐藏, 并且任务栏也没有最小化图标} SW_SHOWNORMAL = 1; {用最近的大小和位置显示, 激活} SW_NORMAL = 1; {同 SW_SHOWNORMAL} SW_SHOWMINIMIZED = 2; {最小化, 激活} SW_SHOWMAXIMIZED = 3; {最大化, 激活} SW_MAXIMIZE = 3; {同 SW_SHOWMAXIMIZED} SW_SHOWNOACTIVATE = 4; {用最近的大小和位置显示, 不激活} SW_SHOW = 5; {同 SW_SHOWNORMAL} SW_MINIMIZE = 6; {最小化, 不激活} SW_SHOWMINNOACTIVE = 7; {同 SW_MINIMIZE} SW_SHOWNA = 8; {同 SW_SHOWNOACTIVATE} SW_RESTORE = 9; {同 SW_SHOWNORMAL} SW_SHOWDEFAULT = 10; {同 SW_SHOWNORMAL} SW_MAX = 10; {同 SW_SHOWNORMAL} 4、返回值 若函数调用成功,则返回值大于31。若函数调用失败,则返回值为下列之一: 1)0:系统内存或资源已耗尽。 2)ERROR_BAD_FORMAT:EXE文件无效(非Win32.EXE或.EXE影像错误)。 3)ERROR_FILE_NOT_FOUND:指定的文件未找到。 4)ERROR_PATH_NOT_FOUND:指定的路径未找到。 5)大于 31 {调用成功} 6)等于 0 {内存不足} 7)ERROR_FILE_NOT_FOUND = 2; {文件名错误} 8)ERROR_PATH_NOT_FOUND = 3; {路径名错误} 9)ERROR_BAD_FORMAT = 11; {EXE 文件无效} 5、用例 WinExec(notepad.exe,SW_SHOW);//运行计事本 WinExec(“cmd /c ipconfig”,SW_SHOW); //运行命令行 6、重定向标准输出流 不同窗口,无法重定向 7、隐藏控制台窗口 #pragma SW_HIDE 窗口都隐藏。 三、ShellExecute()—运行文件 1、包含头文件 #include shellapi.h 2、定义 ShellExecute( hWnd: HWND; {指定父窗口句柄} Operation: PChar; {指定动作, 譬如: open、runa

文档评论(0)

aicencen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档