XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XX 作 者:文化人
XX 联系方式:(或进群:471144274)
XX 版权声明:原创文章,欢迎评论和转载~转载时能告诉我一声就最好了
XX 要说的话:作者水平有限,难免有不足之处,恳请指正!
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
写在前面:有时可能会遇到执行.exe文件的需求,或者通过执行.exe+参数实现更多功能,那么如何启动.exe文件呢?
这里做一个简单的演示:
浏览:打开.exe的文件,包含路径
运行:执行.exe文件
参考代码如下:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51CString FilePathName; void CCsocProppageOptBTMi1107e::OnBnClickedButtonBrowse() { CFileDialog dlg(TRUE);///TRUE为OPEN对话框,FALSE为SAVE AS对话框 if(dlg.DoModal()==IDOK) { FilePathName=dlg.GetFolderPath(); } this->SetDlgItemText(IDC_EDIT_FWPATH,FilePathName); } void CCsocProppageOptBTMi1107e::OnBnClickedButtonExec() { BOOL bRet; PROCESS_INFORMATION pinfo = {0}; STARTUPINFO si = { 0 }; si.cb = sizeof(STARTUPINFO); if (strlen(FilePathName)) { char szExePath[MAX_PATH] = {0}; char szfwPath[MAX_PATH] = {0}; strcpy(szExePath, FilePathName); OutputDebugString(szExePath); strcat(szExePath, "\sscom5.13.1.exe"); OutputDebugString(szExePath); //strcpy(szfwPath, FilePathName); //strcat(szfwPath, "\dump\i1107e.ptn all"); if (TRUE) { //char szParameter[MAX_PATH] = {0}; //strcpy(szParameter, " -usb "); //strcat(szParameter, g_spi_port); //strcat(szParameter, """); char szCmdLine[MAX_PATH] = {0}; //1. erase if(1){ strcpy(szCmdLine, szExePath); //strcat(szCmdLine, " erase"); //strcat(szCmdLine, szParameter); BOOL bRet = CreateProcess(NULL,szCmdLine,0,0,0,0,0,0,&si,&pinfo); if (bRet) { WaitForSingleObject(pinfo.hProcess, INFINITE); CloseHandle(pinfo.hProcess); CloseHandle(pinfo.hThread ); } } } } }
最后
以上就是冷酷大门最近收集整理的关于MFC学习笔记 — C++如何执行.exe文件的全部内容,更多相关MFC学习笔记内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复