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

Windows Discussion :

SHELLEXECUTEINFO [parametres non pris en compte]


Sujet :

Windows

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Points : 50
    Points
    50
    Par défaut SHELLEXECUTEINFO [parametres non pris en compte]
    salut à tous

    j'aimerai convertir certains de mes batchs en exe

    la j'ai un probleme avec les parametres de SHELLEXECUTEINFO qui visiblement ne sont pas pris en compte

    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
    char command[255] = "C:\\Program Files\\cwRsyncServer\\bin\\rsync.exe";
    char parameter [255] = "-aruv -F --exclude-from=/cygdrive/c/WINNT/exclude.conf \"/cygdrive/f/martins\" \"/cygdrive/z/synchro/profiles/\" >c:\\rsync.log";
    
    int main()
    {
    using namespace std;
    
    int a = 0;
    
    	SHELLEXECUTEINFO ExecuteInfo[a];    
    	memset(&ExecuteInfo[a], 0, sizeof(ExecuteInfo[a]));
    	ExecuteInfo[a].cbSize       = sizeof(ExecuteInfo[a]);
    	ExecuteInfo[a].fMask        = 0;                
    	ExecuteInfo[a].hwnd         = 0;                
    	ExecuteInfo[a].lpVerb       = "open";                      
    	ExecuteInfo[a].lpFile       = command;
    	ExecuteInfo[a].lpParameters = parameter;
    	ExecuteInfo[a].lpDirectory  = 0;
    	ExecuteInfo[a].nShow        = SW_SHOW;
    	ExecuteInfo[a].hInstApp     = 0;    
    	if(ShellExecuteEx(&ExecuteInfo[a]) == FALSE)
    		{
    		}
    je n'ai ni message d'erreur ni warning et le fichier rsync.log ne se crée pas l'execution rsync n'a pas l'air correct non plus

    rogerio

  2. #2
    Membre éclairé Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Points : 771
    Points
    771
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int a = 0;
    
    SHELLEXECUTEINFO ExecuteInfo[a];
    Un tableau avec 0 élément?!?!

  3. #3
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut
    Bonjour,

    Effectivement, comme l'a fait remarquer Stephl, il y a un problème avec la taille de la structure.

    Un exemple :

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SHELLEXECUTEINFO ExecuteInfo;
     
    /* mise à zéro de la structure */
    memset(&ExecuteInfo,0,sizeof(SHELLEXECUTEINFO));
     
    /* ne pas oublier le champ 'size' (taillle) */
    ExecuteInfo.cbSize = sizeof(SHELLEXECUTEINFO);

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 131
    Points : 50
    Points
    50
    Par défaut
    @stephi

    desolé je ne t'ai pas bien compris, le tableau n'a pas 0 élément mais le premier élément est indexé à 0

    j'ai retiré la fonction d'une boucle et pour ça j'ai ajouté un index

    si je passe la varable char command[255] au chemin vers la calculatrice windows ==> ça marche et je trouve une suite de numéros dans la fenetre des chiffres

    vais essayer en echappant l'espace

    rog

  5. #5
    Membre éclairé Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Points : 771
    Points
    771
    Par défaut
    Citation Envoyé par rogerio
    @stephi

    desolé je ne t'ai pas bien compris, le tableau n'a pas 0 élément mais le premier élément est indexé à 0
    Lorsque vous écrivez:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int a = 0;
    
    SHELLEXECUTEINFO ExecuteInfo[a];
    , vous déclarez un tableau contenant 0 élément. Si vous n'avez besoin que d'un seul élément, il faut faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SHELLEXECUTEINFO ExecuteInfo[1];
    /*ou plus logique:
    SHELLEXECUTEINFO ExecuteInfo;*/

Discussions similaires

  1. Modification parametres NLS non pris en compte?
    Par MAXJEREM dans le forum SQL
    Réponses: 2
    Dernier message: 16/02/2010, 13h15
  2. [oracle 10G] Parametre systeme non pris en compte
    Par Loïck dans le forum Oracle
    Réponses: 7
    Dernier message: 12/06/2009, 17h42
  3. [QR 4.05] Propriété imprimante non pris en compte
    Par portu dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 30/09/2008, 14h21
  4. Accents non pris en compte dans les requêtes SELECT
    Par YanK dans le forum Requêtes
    Réponses: 1
    Dernier message: 30/08/2005, 10h57
  5. [event] keyListener non pris en compte
    Par pierre.zelb dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 03/08/2005, 08h35

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