- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VC调用CMD命令
VC调用CMD命令(2009-02-03 12:10:26)标签:vc?it? 分类:VC有三个API函数可以运行可执行文件WinExec、ShellExecute和CreateProcess。CreateProcess因为使用复杂,比较少用。WinExec主要运行EXE文件。如:WinExec(’Notepad.exe Readme.txt’, SW_SHOW);??ShellExecute不仅可以运行EXE文件,也可以运行已经关联的文件。首先必须引用shellapi.pas单元:uses ShellAPI;?1、使用CreateProcess(好像不执行)BOOL CMSChartuseDlg::RunCMD(LPCTSTR pszCommand){//?TCHAR szAppName[_MAX_PATH] = TEXT(fexplore.exe);//资源管理器程序?TCHAR szAppName[60] = TEXT(c:\\windows\\system32\\cmd.exe);//资源管理器程序?PROCESS_INFORMATION pi;?STARTUPINFO si;?ZeroMemory(si,sizeof(si));?ZeroMemory(pi,sizeof(pi));?si.cb=sizeof(si);???si.dwFlags=STARTF_USESHOWWINDOW;???si.wShowWindow=SW_HIDE;??if(CreateProcess(szAppName,(char*)pszCommand,NULL,NULL,NULL,??0,NULL,NULL,si,pi)==0)?{??LPVOID lpMsgBuf;????FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,?????NULL,GetLastError(),MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT),?? //?? Default?? language?????(LPTSTR)lpMsgBuf,0,NULL);????CString strMsg;????strMsg.Format(执行软件时出错:%s,(char*)lpMsgBuf);????LocalFree(lpMsgBuf);????MessageBox(strMsg);????return FALSE;?}?else{//??system(pszCommand);??CloseHandle( pi.hProcess );??CloseHandle( pi.hThread );//??WaitForSingleObject(pi.hProcess,INFINITE);????return TRUE;?}}?2、深入浅出ShellExecute?????? Q:?????? 如何打开一个应用程序??????? ShellExecute(this-m_hWnd,open,calc.exe,,,?????? SW_SHOW?????? );???????? 或?????? ShellExecute(this-m_hWnd,open,notepad.exe,???????????????? c:\\MyLog.log,,SW_SHOW?????? );???????? 正如您所看到的,我并没有传递程序的完整路径。???????? Q:?????? 如何打开一个同系统程序相关连的文档??????? ShellExecute(this-m_hWnd,open,???????????????? c:\\abc.txt,,,SW_SHOW?????? );???????? Q:?????? 如何打开一个网页??????? ShellExecute(this-m_hWnd,open,???????????????? ,,,?????? SW_SHOW?????? );???????? Q:?????? 如何激活相关程序,发送EMAIL??????? ShellExecute(this-m_hWnd,open,???????????????? mailto:nishinapp@,,,?????? SW_SHOW?????? );???????? Q:?????? 如何用系统打印机打印文档??????? ShellExecute(this-m_hWnd,print,???????????????? c:\\abc.txt,,,?????? SW_HIDE);???????? Q:?????? 如何用系统查找功能来查找指定文件??????? ShellExec
文档评论(0)