- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 匹克球理论考试试题库及答案.docx VIP
- 一+职场应用写作与交流(一):求职和应聘(教学设计)-【中职专用】高二语文上(高教版2023职业模块).docx
- 一 《微写作•描述事物》(教学课件)-【中职专用】高二语文同步精品课堂(高教版2023·职业模块).pptx VIP
- 新疆天泽水利投资发展有限公司招聘考试真题2024.docx VIP
- 匹克球运动 场地的使用要求及检验方法.pdf VIP
- 第十一章第一节《杠杆》实验教学说课稿教科版物理八年级下册.ppt
- TUNP-卧式操纵盘离心爆珠在线植入设备.pdf VIP
- 草布、衣服、床单被服洗涤服务方案.docx
- 2024年新疆天泽水利投资发展有限公司招聘真题.docx VIP
- 高标准农田鱼眼泡低洼地治理方案.docx
文档评论(0)