wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 0
Invités en ligne : 3

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Utilisation générale wxWidgets
» Lancer une application pendant le démarage de windows + paramètres.
Conversation (Résolue) : Lancer une application pendant le démarage de windows + paramètres.
22-02-2012 10:02:14  Lancer une application pendant le démarage de windows + paramètres. #1
ajm (Membre)
Inscrit le : 16-03-2011
Messages: 82
Snippets: 0
Tutoriels: 0
Hors ligne
Bonjour,

Je veux qu'une application(wxFrame + wxTaskbarIcon) se lance automatiquement pendant le démarrage de windows, pour cela j'ai ajouter le path de cette exe(D:/Test.exe) dans la registre "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run". Là, il n'y a pas de problème. Mais je veux que le wxFrame se cache au démarage, alors je pense ajouter une paramètre comme "-hide" pour faire cette action. C'est-à-dire on ajoute "D:/Test.exe -hide" dans la registre. Est-ce que qlq a une idée?
22-02-2012 11:49:09  Re: Lancer une application pendant le démarage de windows + paramètres. #2
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1387
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut.

Pour les paramètres de la ligne de commande, tu as deux possibilités :
La première consiste tout simplement à utiliser les variables "argv" et "argc" de ta classe dérivée de wxApp
La deuxième consiste à utiliser un wxCmdLineParser (c'est généralement utilisé pour les possibilités complexes). Tu trouveras un exemple dans la partie snippets : http:/www.wxdev.fr/snipp14-wxCmdLinePar … mande.html

Pour que ta frame reste cachée au démarrage, il suffit.... de le pas l'afficher (normalement, tu dois avoir quelque chose comme 'frm->Show()' dans le OnInit de ta classe d'application).

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
22-02-2012 13:27:41  Re: Lancer une application pendant le démarage de windows + paramètres. #3
ajm (Membre)
Inscrit le : 16-03-2011
Messages: 82
Snippets: 0
Tutoriels: 0
Hors ligne
En faite, par défaut le frame est affiché, mais à partir de cette commande que je veux le faire cacher.
J'ai modifié la contenue du OnInit mais je ne sais pas où doit-je placer le Frame->Show(false); J'ai essayé quand même

Code wxWidgets:

 
bool TstCmdApp::OnInit()
{
    //(*AppInitialize
    TstCmdFrame* Frame;
    bool wxsOK = true;
    wxInitAllImageHandlers();
    if ( wxsOK )
    {
        Frame = new TstCmdFrame(0);
        Frame->Show();
        SetTopWindow(Frame);
    }
    //*)
    return wxsOK;
 
   r parser(argc,argv);
   parser.AddSwitch(_T('h'),_T("hide"),_T("Cacher le frame"));
   bool bRes=(parser.Parse(false)==0);
   if (bRes==false)
        {
            parser.Usage();
            return false;
        }
    if (parser.Found(_T('h')))
        {
            //parser.Usage()
            wxMessageBox(_("h is found"),_("Information"));
            Frame->Show(false);
            return false;
        }
}
 


En essayant:
Win+R -> "D:/Test.exe h" OK
Win+R -> "D:/Test.exe -h" OK
Win+R -> "D:/Test.exe +h" OK
Win+R -> "D:/Test.exe -/h" OK

Tous ça ne fait cacher le frame.

Dernière modification par ajm (22-02-2012 13:30:16)

22-02-2012 15:15:47  Re: Lancer une application pendant le démarage de windows + paramètres. #4
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1387
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Si tu utilises le code ci-dessus, tu ne testes jamais la ligne de commande (le "return wxsOK" termine la fonction OnInit).

Tu peux supprimer la ligne affichant la fenêtre, et ne la mettre que si le paramètre "h" n'est pas trouvé (mais il faut supprimer le "return false" sinon ton application va se terminer aussitôt) :

Code wxWidgets:

 
bool TstCmdApp::OnInit()
{
    TstCmdFrame* Frame;
 
    wxInitAllImageHandlers();
    Frame = new TstCmdFrame(0);
 
    wxCmdLineParser parser(argc,argv);
    parser.AddSwitch(_T('h'),_T("hide"),_T("Cacher le frame"));
    bool bRes=(parser.Parse(false)==0);
    if (bRes==false)
    {
        parser.Usage();
        return false;
    }
    if (parser.Found(_T('h')))
    {
        wxMessageBox(_("h is found"),_("Information"));
    } else {
        Frame->Show();
    }
    return true;
}
 


@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
23-02-2012 07:28:14  Re: Lancer une application pendant le démarage de windows + paramètres. #5
ajm (Membre)
Inscrit le : 16-03-2011
Messages: 82
Snippets: 0
Tutoriels: 0
Hors ligne
Good!! C'est bon la programmation.

Merci Xav, ça marche bien.
Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Utilisation générale wxWidgets
» Lancer une application pendant le démarage de windows + paramètres.