9 个解决方案
#1
createprocess不行么
#2
1.CreateProcess
2.ShellExecute
ShellExecute(NULL,_T("open"),GetAppPath()+_T("Install.bat"),NULL,NULL,SW_SHOW);
//GetAppPath()+_T("Install.bat") 改为你要的绝对路径
3.WinExec
2.ShellExecute
ShellExecute(NULL,_T("open"),GetAppPath()+_T("Install.bat"),NULL,NULL,SW_SHOW);
//GetAppPath()+_T("Install.bat") 改为你要的绝对路径
3.WinExec
#3
不会用,新人。在学习中。
#4
//GetAppPath()+_T("Install.bat") 改为你要的绝对路径
这个整一个改为一个绝对路径吗?还是要加上后面_T(。。。);
#5
要慢慢习惯看MSDN
#6
_T("Install.bat") 这个是字符串拼接
_T是MFC里面的_TEXT,用来处理Unicode和多字符的宏。你可以无视的
_T是MFC里面的_TEXT,用来处理Unicode和多字符的宏。你可以无视的
#7
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("创建升级窗口失败!"));
}
#8
用ShellExecute比较方便,也比较安全。
#9
学习了,谢谢
#1
createprocess不行么
#2
1.CreateProcess
2.ShellExecute
ShellExecute(NULL,_T("open"),GetAppPath()+_T("Install.bat"),NULL,NULL,SW_SHOW);
//GetAppPath()+_T("Install.bat") 改为你要的绝对路径
3.WinExec
2.ShellExecute
ShellExecute(NULL,_T("open"),GetAppPath()+_T("Install.bat"),NULL,NULL,SW_SHOW);
//GetAppPath()+_T("Install.bat") 改为你要的绝对路径
3.WinExec
#3
不会用,新人。在学习中。
#4
//GetAppPath()+_T("Install.bat") 改为你要的绝对路径
这个整一个改为一个绝对路径吗?还是要加上后面_T(。。。);
#5
要慢慢习惯看MSDN
#6
_T("Install.bat") 这个是字符串拼接
_T是MFC里面的_TEXT,用来处理Unicode和多字符的宏。你可以无视的
_T是MFC里面的_TEXT,用来处理Unicode和多字符的宏。你可以无视的
#7
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("创建升级窗口失败!"));
}
#8
用ShellExecute比较方便,也比较安全。
#9
学习了,谢谢