在VS2010的MFC开发中,如何运行一个外部的BAT批处理文件?

小鬼jrue 2013-08-22 11:14:12
我用vs2010 开发环境,MFC应用程序中如何运行一个在桌面的BAT批处理文件。批处理文件名字mysqlconfig.bat。
...全文
664 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
DDXASP 2013-10-04
  • 打赏
  • 举报
回复
学习了,谢谢
nextseconds 2013-09-23
  • 打赏
  • 举报
回复
用ShellExecute比较方便,也比较安全。
引用 7 楼 blutter 的回复:
STARTUPINFO si;
	ZeroMemory(&si, sizeof(si));
	si.cb = sizeof(si);
	PROCESS_INFORMATION pi;
	BOOL ret = ::CreateProcess(strUpdateAppName.c_str(), szCmdLine2 , NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi);
或者
HINSTANCE Hinst = ShellExecute(GetHWND(),_T("open"),strUpdateAppName.c_str(),(LPWSTR)szCmdLine,NULL,SW_SHOWNORMAL);
		if ((int) Hinst <= 32)
		{
			OnTipMessage (_T("创建升级窗口失败!"));
		}
blutter 2013-09-02
  • 打赏
  • 举报
回复
STARTUPINFO si;
	ZeroMemory(&si, sizeof(si));
	si.cb = sizeof(si);
	PROCESS_INFORMATION pi;
	BOOL ret = ::CreateProcess(strUpdateAppName.c_str(), szCmdLine2 , NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi);
或者
HINSTANCE Hinst = ShellExecute(GetHWND(),_T("open"),strUpdateAppName.c_str(),(LPWSTR)szCmdLine,NULL,SW_SHOWNORMAL);
		if ((int) Hinst <= 32)
		{
			OnTipMessage (_T("创建升级窗口失败!"));
		}
szyyjzy 2013-08-22
  • 打赏
  • 举报
回复
要慢慢习惯看MSDN
小鬼jrue 2013-08-22
  • 打赏
  • 举报
回复
引用 2 楼 tiger9991 的回复:
1.CreateProcess 2.ShellExecute ShellExecute(NULL,_T("open"),GetAppPath()+_T("Install.bat"),NULL,NULL,SW_SHOW); //GetAppPath()+_T("Install.bat") 改为你要的绝对路径 3.WinExec
//GetAppPath()+_T("Install.bat") 改为你要的绝对路径 这个整一个改为一个绝对路径吗?还是要加上后面_T(。。。);
小鬼jrue 2013-08-22
  • 打赏
  • 举报
回复
引用 1 楼 fishion 的回复:
createprocess不行么
不会用,新人。在学习中。
傻X 2013-08-22
  • 打赏
  • 举报
回复
1.CreateProcess 2.ShellExecute ShellExecute(NULL,_T("open"),GetAppPath()+_T("Install.bat"),NULL,NULL,SW_SHOW); //GetAppPath()+_T("Install.bat") 改为你要的绝对路径 3.WinExec
fishion 2013-08-22
  • 打赏
  • 举报
回复
createprocess不行么
傻X 2013-08-22
  • 打赏
  • 举报
回复
_T("Install.bat") 这个是字符串拼接 _T是MFC里面的_TEXT,用来处理Unicode和多字符的宏。你可以无视的

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧