begin process at 2012 05 28 13:01:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

System

 > 

les APIs Windows sous Dev C++...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

les APIs Windows sous Dev C++...

vendredi 19 mai 2006 à 11:12:29 | les APIs Windows sous Dev C++...

Kangourou_Nomade


Bonjour,
j'ai vraiment du mal a trouver un bout de code avec un CreateProcess QUI MARCHE SOUS DEV C++ !
Pouvez vous m'aider svp ?

Jah bless mycode

vendredi 19 mai 2006 à 13:44:57 | Re : les APIs Windows sous Dev C++...

vecchio56

Administrateur CodeS-SourceS
Tu cherches vraiment mal alors, car un programme qui marche avec VC++ marchera aussi avec Dev-C++. Ton problème se situe-t-il au niveau de la compilation ou à l'exécution?
vendredi 19 mai 2006 à 13:52:49 | Re : les APIs Windows sous Dev C++...

Kangourou_Nomade

> "Tu cherches vraiment mal alors"

d'accord.

> "Ton problème se situe-t-il au niveau de la compilation ou à l'exécution?"

Au niveau de l'execution : la plupart des codes mettent le premier paramettre a NULL, ca fait un seg fault avec Dev c++.
En lui envoyant une chaine vide a la place, ca passe mais le process n'est pas cree.

> "un programme qui marche avec VC++ marchera aussi avec Dev-C++"

J'ai teste tout les codes que j'ai trouve ici. Je n'ai jamais mon process cree.

Jah bless mycode

vendredi 19 mai 2006 à 14:05:38 | Re : les APIs Windows sous Dev C++...

vecchio56

Administrateur CodeS-SourceS
Le code de CreateProcess est situé dans Kernel32.dll, donc Dev-C++ ou VC++ c'est pareil, donc je trouve ton problème bizarre. En effet, le premier paramètre peut très bien être 0 (voir MSDN) Es-tu sûr que ton erreur vient bien du CreateProcess?
vendredi 19 mai 2006 à 14:07:19 | Re : les APIs Windows sous Dev C++...

fredcl

Réponse acceptée !
Bonjour,

Ce code est certe un peu crade (j'ai fait ça vite fait pour vérifier que ça marche)
/* DEBUT ***************************************/
#include <windows.h>

#define CMD_NOTEPAD 1000

/*  Declare Windows procedure  */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

/*  Make the class name into a global variable  */
char szClassName[ ] = "WindowsApp";

int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance,
                    LPSTR lpszArgument, int nFunsterStil)

{
   HWND hwnd;               /* This is the handle for our window */
   MSG messages;            /* Here messages to the application are saved */
   WNDCLASSEX wincl;        /* Data structure for the windowclass */

   /* The Window structure */
   wincl.hInstance = hThisInstance;
   wincl.lpszClassName = szClassName;
   wincl.lpfnWndProc = WindowProcedure;      /* This function is called by windows */
   wincl.style = CS_DBLCLKS;                 /* Catch double-clicks */
   wincl.cbSize = sizeof (WNDCLASSEX);

   /* Use default icon and mouse-pointer */
   wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
   wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
   wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
   wincl.lpszMenuName = NULL;                 /* No menu */
   wincl.cbClsExtra = 0;                      /* No extra bytes after the window class */
   wincl.cbWndExtra = 0;                      /* structure or the window instance */
   /* Use Windows's default color as the background of the window */
   wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

   /* Register the window class, and if it fails quit the program */
   if (!RegisterClassEx (&wincl))
      return 0;

   /* The class is registered, let's create the program*/
   hwnd = CreateWindowEx (0,                   /* Extended possibilites for variation */
                          szClassName,         /* Classname */
                          "Windows App",       /* Title Text */
                          WS_OVERLAPPEDWINDOW, /* default window */
                          CW_USEDEFAULT,       /* Windows decides the position */
                          CW_USEDEFAULT,       /* where the window ends up on the screen */
                          544,                 /* The programs width */
                          375,                 /* and height in pixels */
                          HWND_DESKTOP,        /* The window is a child-window to desktop */
                          NULL,                /* No menu */
                          hThisInstance,       /* Program Instance handler */
                          NULL);               /* No Window Creation data */


   /* Make the window visible on the screen */
   ShowWindow (hwnd, nFunsterStil);

   PostMessage(hwnd, WM_COMMAND, CMD_NOTEPAD, 0L);
   /* Run the message loop. It will run until GetMessage() returns 0 */
   while (GetMessage (&messages, NULL, 0, 0))
   {
      /* Translate virtual-key messages into character messages */
      TranslateMessage(&messages);
      /* Send message to WindowProcedure */
      DispatchMessage(&messages);
   }

   /* The program return-value is 0 - The value that PostQuitMessage() gave */
   return messages.wParam;
}

void ExecNotepad(HWND hwnd)
{
   STARTUPINFO         siStartupInfo;
   PROCESS_INFORMATION piProcessInfo;

   memset(&siStartupInfo, 0, sizeof(siStartupInfo));
   memset(&piProcessInfo, 0, sizeof(piProcessInfo));
   siStartupInfo.cb = sizeof(siStartupInfo);
   if(CreateProcess("c:\\windows\\notepad.exe",
                        "",0,0,FALSE,
                        CREATE_DEFAULT_ERROR_MODE,0,0,
                        &siStartupInfo,&piProcessInfo) == FALSE)
   {
      // erreur
      MessageBox(hwnd, "y'a comme un problème!", "Erreur", MB_OK|MB_ICONERROR);
   }
}

/*  This function is called by the Windows function DispatchMessage()  */

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
   switch (message)                  /* handle the messages */
   {
      case WM_DESTROY:
         PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
         break;
      case WM_COMMAND:
         if (wParam == CMD_NOTEPAD)
            ExecNotepad(hwnd);
         break;
      default:                      /* for messages that we don't deal with */
         return DefWindowProc (hwnd, message, wParam, lParam);
   }

    return 0;
}
/* FIN ***************************************/

J'ai simplement fait Fichier/Nouveau/Projet...
Puis Windows Application dans l'onglet Basic
J'ai enfin ajouter 3 bouts de code pour illustrer ton problème.

A NOTER : il faut impérativement que le programme notepad.exe se trouve sous c:\windows, sinon ça ne marche pas.

Cordialement

Fred Cailleau-Lepetit
Soft In The Box
Forum wxWidgets en français

vendredi 19 mai 2006 à 14:19:30 | Re : les APIs Windows sous Dev C++...

Kangourou_Nomade

Merci, j'ai pris ton bout de code de CreateProcess et ca marche nickel.
Comme ca ressemble beaucoup a ce que j'ai vu sur le site,
je vais essayer maintenant de voir ou etait le probleme.

Jah bless mycode

vendredi 19 mai 2006 à 14:23:38 | Re : les APIs Windows sous Dev C++...

Kangourou_Nomade

arf, c'etait une question de dossier. Dev c++ chie si on met "notepad.exe" seulement pour le process. Ca y est souvent sur le site.
Merci encore

Jah bless mycode



Cette discussion est classée dans : windows, dev, apis


Répondre à ce message

Sujets en rapport avec ce message

Encore des PBs avec Glut et Dev-C++ [ par PsychoPat ] Salut à tous! Il est 2h00 du mat' cela fait bientôt 3h que j'essaie de compiler mon premier prog en OpenGL et là j'abandonne ...J'ai bien lu tous les api windows avec dev c++ [ par roomsmush ] Alors je sais que c'est une question qui est tres souvent posé mais bon .. désolé d'avance ...alors voila je commence a faire de l'api windows mais c C++ Windows Tableau Triable dans DialogBox [ par yves_r ] Bonjour, DEV-C++, Windows. Je cherche à editer un tableau à 'n' colonnes, redimensionables et triables par clique sur le libellé de la colonne ( demande aide pour : dev-c++(4.9.9.2) et mysql++ et windows XP [ par nomad56 ] alors voila je suis tout nouveau avec le c++ et je dois faire une appli de gestion avec utilisation de MySQL.j'ai bien passé 5-6Heures a essasyer de c aide DEV C++ [ par guruthor ] Salut, j'ai besoin d'aide, cela peut paraître bête mais je commence à programmer sous Windows avec DEV C++ et je n'arrive pas à trouver la bonne optio Pour windows, les APIs mais pour LINUX c'est quoi? [ par ndubien ] Bonjour,Je me pose une question que je pense interressante :Sachant que les APIs sont spécifiques à Windows.Quel est l'équivalent d'une API pour Linu API WINDOWS AVEC DEV C++ [ par elunico ] je debute en api windows sur dev c++. je peux réaliser de petits programmes sans utiliser des ressources. mais une fois que je veux incorporer des res Surcharge des apis windows. [ par najjarn ] Bonjour à tous!Je voudrais savoir si je peux réutiliser le code du gestionnaire d'impression qui existe déjà sur windows et lui rajouter d'autre optio dev graphique simple sous linux et windows [ par fgh39 ] Bonjour Je recherche un soft de développement graphique multiplateforme et assez simple basé sur du C (win, tux) si possible gratuit ou a prix modéré Dev-Cpp et Windows XP Style [ par lektrosonic ] Quand je selectionne aux Projects Options: Suporte Windows XP Style..et je lance mon application, la fenetre est trop laide. Atutour des edit et des s


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,154 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales