Urgent

sendouda Messages postés 41 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 13 décembre 2008 - 9 mai 2006 à 14:53
cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 - 9 mai 2006 à 15:42
j'ai voulu exécuter une commande dos en MFC sans qu'on m'ouvre la fenêtre dos.
j'ai utilisé le code suivant avec cmd ets une Cstring qui contient la commande à exécuter mais ça ne marche pas.
Veuillez m'aider svp.

STARTUPINFO si;
ZeroMemory(&si,sizeof(si)); // Clean
si.cb = sizeof(si); // Set size
PROCESS_INFORMATION pi; // Info
ZeroMemory(&pi,sizeof(pi)); // Clean
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_HIDE;
CreateProcess(cmd,NULL,NULL,NULL,false,0,NULL,NULL, &si, 0);

2 réponses

yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 2
9 mai 2006 à 15:08
Tu peux en dire plus stp, parce que "ça ne marche pas" c'est un peu vague pour pouvoir t'aider.

YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
0
cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 19
9 mai 2006 à 15:42
C'est extrait d'une interface MFC pour dosbox (un programme d'emulation du dos). C'est la commande ShellExecute qui fait le boulot que tu veux

void CShellCenterDoc::OnLaunch()
{
if ( ((CShellCenterApp *) AfxGetApp())->ProgramInstalled() && Export() ) {

// Build dosbox command line
DBAPPParameters Parameters = GetDBAPPPage (DBAPP_ONLYDRIVE);
CString strPathToExe = BuildCommandLine (CMDLINE_PATH, Parameters.m_bOnlyDrive);
CString strParameters = BuildCommandLine (CMDLINE_PARAM, Parameters.m_bOnlyDrive);

// Execute dosbox command line
ShellExecute(AfxGetMainWnd()->m_hWnd, "open", strPathToExe, strParameters, NULL, SW_SHOWNORMAL);

UpdateResultingCmdLine();
}
}
0
Rejoignez-nous