Créer et demarrer un processus sous Windws

cs_zagal Messages postés 1 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 23 décembre 2008 - 23 déc. 2008 à 01:17
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 - 23 déc. 2008 à 15:03
Bonjour
J' ai ecrit un programme et je voudrais bien le demarer à partir d ' un autre programme à l ' aide de createprocess,
mais j ' ai toujours un probleme avec le parametre lpCommandline. J' ai ecrit comme suite où se trouve le programme
mais je ne reussi pas toujours "C:\\User\\Username\\Document\\projet\programm.exe". Aider moi à resoudre ce problème en language C ou C++.
Merci!
zagal

5 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 déc. 2008 à 09:03
tous les \ sont doublés, sauf un, est-ce normal ?
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 déc. 2008 à 09:15
d'autre par, pourquoi passes tu par ce parametre ?
qu'a tu mis dans lpApplicationName ?

http://msdn.microsoft.com/en-us/library/ms682425.aspx
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
23 déc. 2008 à 12:31
Salut,


Je plussois Renfield.


<hr />

#include "windows.h"
#include "tchar.h"DWORD __stdcall System_ShowLastError()
{
  DWORD nLastError;         /* Numéro de la dernière erreur                   */
  TCHAR* lpMessageBuffer;   /* Message d'erreur                               */

  /* Récupération du numéro de l'erreur */
  nLastError = GetLastError();

  /* Formatage du message */
  FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
                NULL, nLastError, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
                (LPTSTR) &lpMessageBuffer, 0, NULL);

  /* Affichage du message et fin de l'appli */
  MessageBox(NULL, lpMessageBuffer, _T("ERROR"), MB_OK | MB_ICONERROR);

  return nLastError;
}

int main()
{
  PROCESS_INFORMATION processInfo;
  STARTUPINFO startupInfo;

  ZeroMemory(&startupInfo, sizeof(startupInfo));
  startupInfo.cb = sizeof(startupInfo);
  startupInfo.dwFlags = STARTF_USESHOWWINDOW;
  startupInfo.wShowWindow = SW_SHOW;

  if (! CreateProcess(_T("c:\\WINDOWS\\notepad.exe"), NULL,
                      NULL, NULL, FALSE, 0, NULL, NULL,
                      &startupInfo, &processInfo))
  {
    ExitProcess(System_ShowLastError());
  }

  CloseHandle(processInfo.hProcess);
  CloseHandle(processInfo.hThread);

  return 0;
}

 
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 déc. 2008 à 14:17
FormatMessage(....=);
if(lpMessageBufferf) {
  MessageBox(NULL, lpMessageBuffer, _T("ERROR"), MB_OK | MB_ICONERROR);
  LocalFree(lpMessageBuffer);
}

ciao...
BruNews, MVP VC++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
23 déc. 2008 à 15:03
Argh !!


En plus je l'ai copier coller un peu partout sur cppfrance ce code (Le copier coller, c'est le mal)...

Merci.
0
Rejoignez-nous