1.在vista, Windows?7?下用
::CreateProcess 存在第一次運(yùn)行權(quán)限問題,所以當(dāng)時(shí)采用了ShellExecute
::CreateProcess 存在第一次運(yùn)行權(quán)限問題,所以當(dāng)時(shí)采用了ShellExecute
?
CreateProcess可以創(chuàng)建當(dāng)前進(jìn)程的子進(jìn)和,可以繼承當(dāng)前進(jìn)程的內(nèi)核句柄。???
Winexec,ShellExecute可以創(chuàng)建與當(dāng)前進(jìn)程不同地址空間的進(jìn)程??
Winexec,ShellExecute可以創(chuàng)建與當(dāng)前進(jìn)程不同地址空間的進(jìn)程??
?
LRESULT OnRepair(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/)
{
?
?CPath?? pathFile;
?//獲取當(dāng)前路徑
?::GetModuleFileName(NULL, pathFile.m_strPath.GetBuffer(MAX_PATH * 2), MAX_PATH * 2);
{
?
?CPath?? pathFile;
?//獲取當(dāng)前路徑
?::GetModuleFileName(NULL, pathFile.m_strPath.GetBuffer(MAX_PATH * 2), MAX_PATH * 2);
?
?pathFile.m_strPath.ReleaseBuffer();
?pathFile.RemoveFileSpec();
?pathFile.Append(L"setupwiz.exe");
?
?::ShellExecute(NULL,L"open", pathFile.m_strPath, L"install.xml /p", NULL, SW_SHOWNORMAL);
?//關(guān)閉窗口
?EndDialog(-1);??
?return 0;
}
?pathFile.RemoveFileSpec();
?pathFile.Append(L"setupwiz.exe");
?
?::ShellExecute(NULL,L"open", pathFile.m_strPath, L"install.xml /p", NULL, SW_SHOWNORMAL);
?//關(guān)閉窗口
?EndDialog(-1);??
?return 0;
}