VC調用DOS命令浅析.docVIP

  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文档。上传文档
查看更多
VC調用DOS命令浅析

一、system 2 (一)函数原型: 2 (二)函数说明 2 (三)源码示例 3 二、WinExec 3 (一)函数原型 3 (二)函数说明 4 1,UINT WinExec( 4 2,参数uCmdShow可能的取值为 : 4 3,返回值 4 4,注意 5 5,示例程序 5 三、ShellExecute 5 (一)函数原型 5 1,功能: 6 2,示例; 6 (二)函数说明 6 1,参数说明 6 2,返回值 7 3,特殊用法 7 四、CreateProcess 9 (一)函数原型: 9 (二)参数: 9 0,参数简介 9 1, lpApplicationName: 10 2, lpCommandLine 11 3, lpProcessAttributes: 11 4, lpThreadAttributes: 12 5.,bInheritHandles: 12 6, dwCreationFlags: 12 6, lpEnvironment: 15 7, CurrentDirectory: 15 8, lpStartupInfo: 16 9, lpProcessInformation: 17 (三) 返回值: 17 (四)注释: 17 (五)其它应用(还未试成) 20 1、打开指定的URL 20 2、打开指定的文件夹 20 3、打开帮助文件 20 4、小结 20 (六)源码示例: 20 五、小结 24 一、system (一)函数原型: int system(const char * string) 1,功 能: 发出一个DOS命令 2,头文件stdlib.h 3,示例: 第一种:system(cd c:\\windows); system(mk aaa); 第二种:system(mk c:\\windows\\aaa); 第三种:system(cd c:\\windows mk aaa);//这个符号与,把两条命令分别执行 (二)函数说明 system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string字符串所代表的命令,此命令执行完后随即返回原调用的进程。在调用system()期间SIGCHLD 信号会被暂时搁置,SIGINT和SIGQUIT 信号则会被忽略。   返回值   =-1: 出现错误   =0: 调用成功但是没有出现子进程   0: 成功退出的子进程的id   如果system()在调用/bin/sh时失败则返回127,其他失败原因返回-1,但是存在一个特殊情况,那就是:如果system()调用成功则最后会返回执行shell命令后的返回值,但是此返回值也有可能为 system()调用/bin/sh失败所返回的127,因此最好能再检查errno 来确认执行成功。 若参数string为空指针(NULL),则返回非零值。     在编写具有SUID/SGID权限的程序时请勿使用system(),system()会继承环境变量,通过环境变量可能会造成系统安全的问题。 (三)源码示例 #include stdlib.h #include iostream.h int main(void) { coutAbout to spawn and run a DOS command\n; char strCMD[]=dir; int i=system(strCMD); coutiendl; return 0; } 二、WinExec (一)函数原型 UINT WINAPI WinExec(LPCSTR lpCmdLine, UINT uCmdShow); 功能:执行一个Dos命令 头文件:在Console环境中, 加上#include windows.h,其它不加 示例: 比如你的程序路径为:F:\123,名字是1.exe 需要的参数是123,就写成这样:WinExec(cmd.exe /k F:\\1.exe 123,SW_HIDE); 1,UINT WinExec( LPCSTR lpCmdLine, //命令行,如没指定路径会按以下顺序查找: 程序目录/当前目录/System32/Windows/PATH环境变量} UINT uCmdShow //新启动程序显示方式 {启动选项} 2,参数uCmdShow可能的取值为 : (1)在Win32里,当新启动进程(started process)调用GetMessage 或超时后,WinExec()结束执行。为了避免等待,可尽早的调用GetMessage (2)WinExec能够带参数运行,但她的参数和程序在同一个字符串中

文档评论(0)

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

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

1亿VIP精品文档

相关文档