IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

screensaver : probleme de lancement


Sujet :

MFC

  1. #1
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut screensaver : probleme de lancement
    Salut,

    je bosse sur un projet d' economiseur d ecran , comme le programme est dependant de nombreux fichiers externes et dll , son install est prevu dans c:/program files ou tout autre dossier

    lors du lancement seul un tout petit programme regarde si des parametres ont ete passé au screensaver et lance au choix, soit la preview, soit le screensaver lui meme, soit le panneau de configuration du logiciel

    pour la preview et le panneau de config tout va bien , quand on double clique sur le fichier .scr dans system32 tout va bien aussi : le programme se lance correctement
    par contre si on attends le temps ecoulé pour la mise en route automatique de l ecran de veille par windows, le programme ne se lance pas ! :

    la souris passe de l etat normal au sablier rapidement comme ci le programme tentait de se lancer en boucle et se terminait de suite...

    ca ne semble pas un probleme de path car le programme trouve bien les fichiers quand on le lance directement en double cliquant depuis /system32


    voici le code (simplifé l appel)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    #include <windows.h>
    #include <shellapi.h>
     
    int WINAPI WinMain(	HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR	lpCmdLine,int nCmdShow)			
    {
     
    char *c;
    c = GetCommandLine();
     
    while(*c != ' ')  				
           c++;
     
    if(*(c + 2) == 'p' || *(c + 2) == 'P'){
     
       // mode preview 
       HWND hwnd;
       //...etc.. --> ok				
       return 0;
    }
     
    else if(*(c + 2) == 'c' || *(c + 2) == 'C') {
     
       // panneau de configuration du screensaver
       SetCurrentDirectory("C:\\program/");
       ShellExecute(NULL,"open","C:\\program/config_program.exe",NULL,"C:\\program/", SW_SHOW); // --> aucun probleme 			 
       return 0;
     
    }
     
     
    SetCurrentDirectory("C:\\program/");
    ShellExecute(NULL,"open","C:\\program/program.exe",NULL,"C:\\program/", SW_SHOW); // --> PROBLEME 			
    return 0;
     
    }

    quelqu un a t il une idée de la source de ce probleme et de comment le corriger ?

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    Graphic Programmer
    Inscrit en
    Mars 2006
    Messages
    1 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Graphic Programmer
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 549
    Points : 3 950
    Points
    3 950
    Par défaut
    Salut,

    a tu essayer de lancer ton "program.exe" tout seul pour voir ce qu'il se passe.

    Ton programme est peut etre bien chargé et c'est peut etre apres que sa pose probleme.

    A quoi te sert <SetCurrentDirectory("C:\\program/")>

    Je pense que pour un ecran de veille se serait plutot le parametre SW_SHOWMAXIMIZED
    dans ShellExecute

  3. #3
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    le setcurrentdirectory ne sert pas a grand chose effectivement mais vu que je cherchais une solution... j essayais des trucs

    oui mon programme marche bien en lancement direct ou quand on clique sur le .scr dans windows/system32

    et le probleme reste identique en indiquand SW_SHOWMAXIMIZED .

  4. #4
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    en fait j ai trouvé qu en mettant une pompe a message dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    ShellExecute(NULL,"open","C:\\program/program.exe",NULL,"C:\\program/", SW_SHOWMAXIMIZED);
     
     
    			 MSG	Msg;
     
    			 while(GetMessage(&Msg, NULL, 0, 0) > 0)
    				{
    					TranslateMessage(&Msg);
    					DispatchMessage(&Msg);
    				}
     
    			return Msg.wParam;
    ca fonctionnait mais probleme :

    le .scr ne se termine pas a la fin de l execution de l exe lancé par shellexecute, il y a t il un moyen de savoir si le programme lancé par ShellExecute a ete lancé pour terminer apres cela le .scr ??

Discussions similaires

  1. [Système][Process]Probleme de lancement d'un .sh
    Par jool dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 04/05/2005, 11h58
  2. [NetBeans] Probleme au lancement NetBeans
    Par boubou11 dans le forum NetBeans
    Réponses: 2
    Dernier message: 21/04/2005, 11h38
  3. [Kylix] Problème au lancement d'un programme
    Par jeanbi dans le forum EDI
    Réponses: 7
    Dernier message: 19/01/2005, 23h00
  4. [Linux]probleme au lancement d'eclipse sur mandrake 10
    Par Dnx dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 21/09/2004, 19h34
  5. [Tomcat] [eclipse] probleme au lancement de mes jsp
    Par sandusa dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 11/05/2004, 14h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo