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 :

Inconu pour moi ...


Sujet :

Windows

  1. #1
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut Inconu pour moi ...
    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
    uses Shlobj;
    
    function SpecialFolder(Folder: Integer): String;
    var
      SFolder : pItemIDList;
      SpecialPath : Array[0..MAX_PATH] Of Char;
    begin
      SHGetSpecialFolderLocation(Form.Handle, Folder, SFolder);
      SHGetPathFromIDList(SFolder, SpecialPath);
      Result := StrPas(SpecialPath);
    end;
    
    { Application : }
    procedure TForm.MyButtonClick(Sender: TObject);
    begin
      MyLabel.Caption := SpecialFolder(CSIDL_PERSONAL);
    end;
    Si qqn peut me traduire cela en C.
    Oumexpliquer les paralettres,etc...
    Merci
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Inutile de faire un double post, ca ira pas plus vite
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    ç'a l'air d'être du Pascal ou du Delphi...

    même sans en avoir jamais fait tu devrais pouvoir en extraire les principales commandes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    const char* SpecialFolder(int Folder)
    {
       pItemIDList SFolder;
       char SFolder[MAX_PATH];
       SHGetSpecialFolderLocation(Form.Handle, Folder, SFolder);
       SHGetPathFromIDList(SFolder, SpecialPath);
       return StrPas(SpecialPath);
    }
    
    void TForm::MyButtonClick(const TObject& sender)
    {
      MyLabel.Caption = SpecialFolder(CSIDL_PERSONAL);
    }
    Bien entedu, extirpé de tout contexte, il y a énormément peu de chances que ça compile (en l'état actuel c'est d'ailleur totalement impossible)

    tu devrais te documenter sur le forum Delphi pour les fonctions que tu ne connais pas (ou mieux, lire la doc...)
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  4. #4
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par Swoög
    ç'a l'air d'être du Pascal ou du Delphi...

    même sans en avoir jamais fait tu devrais pouvoir en extraire les principales commandes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    const char* SpecialFolder(int Folder)
    {
       pItemIDList SFolder;
       char SFolder[MAX_PATH];
       SHGetSpecialFolderLocation(Form.Handle, Folder, SFolder);
       SHGetPathFromIDList(SFolder, SpecialPath);
       return StrPas(SpecialPath);
    }
    
    void TForm::MyButtonClick(const TObject& sender)
    {
      MyLabel.Caption = SpecialFolder(CSIDL_PERSONAL);
    }
    Bien entedu, extirpé de tout contexte, il y a énormément peu de chances que ça compile (en l'état actuel c'est d'ailleur totalement impossible)

    tu devrais te documenter sur le forum Delphi pour les fonctions que tu ne connais pas (ou mieux, lire la doc...)
    Ce code vien faq delphi , comment trouver l'emplacement de repertoires (Bureau) par ex.
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  5. #5
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Voilà voilà, minute papillon, j'ai aussi dû chercher et étudier comment on utilise tout ca en C ... la preuve que c'est possible en cherchant un peu et surtout en connaissant un peu l'anglais

    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
    #include <stdio.h>
    #include <windows.h>
    #include <shlobj.h>
    
    
    int main (void)
    {
       ITEMIDLIST * itemDList;
       char s_path [BUFSIZ];
    
    
       SHGetSpecialFolderLocation (NULL, CSIDL_DESKTOPDIRECTORY, & itemDList);
       SHGetPathFromIDList        (itemDList, s_path);
    
    
       printf ("Chemin vers le bureau :\n%s\n", s_path);
       free (itemDList);
    
    
       return EXIT_SUCCESS;
    }
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  6. #6
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par CSoldier
    Voilà voilà, minute papillon, j'ai aussi dû chercher et étudier comment on utilise tout ca en C ... la preuve que c'est possible en cherchant un peu et surtout en connaissant un peu l'anglais

    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
    #include <stdio.h>
    #include <windows.h>
    #include <shlobj.h>
    
    
    int main (void)
    {
       ITEMIDLIST * itemDList;
       char s_path [BUFSIZ];
    
    
       SHGetSpecialFolderLocation (NULL, CSIDL_DESKTOPDIRECTORY, & itemDList);
       SHGetPathFromIDList        (itemDList, s_path);
    
    
       printf ("Chemin vers le bureau :\n%s\n", s_path);
       free (itemDList);
    
    
       return EXIT_SUCCESS;
    }
    return EXIT? a quoi cela sert?
    etle free?
    Merci je pensse que ca va m'aider(j'en suis mm sur)Merci
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  7. #7
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par miron
    return EXIT? a quoi cela sert?
    etle free?
    Merci je pensse que ca va m'aider(j'en suis mm sur)Merci
    Le free sert du fait que le pointeur sur la structure de type ITEMIDLIST est alloué dynamiquement par la fonction SHGetSpecialFolderLocation.

    Le return EXIT_SUCCESS; est une manière portable de mettre fin au programme, en générale la valeur passée est 0 mais il peut arriver que cela change suivant la plateforme ! C'est une habitude que j'ai pris au fil du temps mais tu peux mettre 0 sans problème !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  8. #8
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Serait'il possible d'ajouter "Lancer l'ordinateur de bord.exe" par exemple a s_path?
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  9. #9
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par CSoldier
    Le free sert du fait que le pointeur sur la structure de type ITEMIDLIST est alloué dynamiquement par la fonction SHGetSpecialFolderLocation.
    Je n'ai pas encore vu l'alocation dinamique comme ta pus ten douter!!!
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  10. #10
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    pour etre plus precis:
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <conio.h>
    #include <math.h>
    #include <dos.h>
    #include <string.h>
    #include <windows.h>
    #include <sys/types.h>//pour les repertoires
    #include <fcntl.h>    //pour creer un repertoire
    #include <dirent.h>  //pour savoir si le rep existe
    #include <Shlobj.h>
    #define VERSION 2.5
    
    void copieFichier(char const * const source, char const * const destination)
    {
       FILE* fSrc;
       FILE* fDest;
       char buffer[512];
       int NbLu,erreur=0;
       printf(" %s ==> %s : ",source,destination);
       if((fSrc=fopen(source, "rb")) == NULL)
       {
          printf("ERREUR : Source\n");
          erreur=1;
       }
       if((fDest=fopen(destination, "wb")) == NULL)
       {
          fclose(fSrc);
          printf("ERREUR : Destination\n");
          erreur=1;
       }
       while((NbLu=fread(buffer, 1, 512, fSrc)) != 0)
       {
          fwrite(buffer, 1, NbLu, fDest);
       }
       fclose(fDest);
       fclose(fSrc);
       if (erreur==0)
          printf(" copi%c\n",130);
    }
    void suppression(char const * const destination)
    {
      remove(destination);
      printf("\n %s Suprim%c...",destination,130);
    }
    void Instal()
    {
      ...
      copieFichier("C:\\Vivo\\Sauv\\Config.exe","C:\\Vivo\\Prog\\Config.exe");
      
      ITEMIDLIST * itemDList;
       char s_path [BUFSIZ];
    
    
       SHGetSpecialFolderLocation (NULL, CSIDL_DESKTOPDIRECTORY, & itemDList);
       SHGetPathFromIDList        (itemDList, s_path);
    
    
       printf ("Chemin vers le bureau :\n%s\n", s_path);
       free (itemDList);
      
      copieFichier("C:\\Vivo\\Sauv\\Lancer l'ordinateur de
     bord.exe",s_path"Lancer l'ordinateur de bord.exe");
    //faire comme pour Config mais avec le chemin de s_path
      ...
    }
    void Suppr()
    {
      ...
    }
    void Reparer()
    {
      ...
    }
    void main()
    {
         int choix;
         printf(" Veuillez patientez en attendant que l'instalshield soit pret a vous guider...\n\n");
         Sleep(500);
         printf(" MENU\n");
         if (opendir("C:\\Vivo\\Prog")==NULL)
            printf(" 1 : Instaler\n 2 :\n 3 :\n");
         else
             printf(" 1 :\n 2 : Reparer\n 3 : Desinstaler");
         choix=getch();
         if (choix=='1')
            Instal();
         if (choix=='2')
            Reparer();
         if (choix=='3')
            Suppr();
    }
    Merci
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  11. #11
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Attention à la casse des noms des headers:

    pas
    mais
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  12. #12
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par CSoldier
    Attention à la casse des noms des headers:

    pas
    mais
    Cela est vrai mais en ffait j'avais recopié sur le faq...
    Et pour mon message precedent, vous avez une idée ou vous penssez que ce n'esst pas possible?
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  13. #13
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Qu'est-ce que je suis faire avec ton code ?
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  14. #14
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par miron
    Cela est vrai mais en ffait j'avais recopié sur le faq...
    Et pour mon message precedent, vous avez une idée ou vous penssez que ce n'esst pas possible?
    Si je te donne un code fonctionnel c'est pas pour que tu en copie en autre et en plus avec des fautes
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  15. #15
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par miron
    Et pour mon message precedent, vous avez une idée ou vous penssez que ce n'esst pas possible?
    A propos de quoi ? Si tu n'explique pas je risque pas de savoir !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  16. #16
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    main retourne toujours un int donc pour ton main une petite correction:
    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
    int main (void)
    {
         int choix;
    
         printf(" Veuillez patientez en attendant que l'instalshield soit pret a vous guider...\n\n");
         Sleep(500);
         printf(" MENU\n");
    
         if (opendir("C:\\Vivo\\Prog")==NULL)
            printf(" 1 : Instaler\n 2 :\n 3 :\n");
         else
             printf(" 1 :\n 2 : Reparer\n 3 : Desinstaler");
    
         choix=getch();
    
         if (choix=='1')
            Instal();
         if (choix=='2')
            Reparer();
         if (choix=='3')
            Suppr();
    
         return EXIT_SUCCESS; /* ou: return 0; */
    }
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  17. #17
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par CSoldier
    Main retourne toujours un int donc pour ton main une petite correction:
    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
    int main (void)
    {
         int choix;
    
         printf(" Veuillez patientez en attendant que l'instalshield soit pret a vous guider...\n\n");
         Sleep(500);
         printf(" MENU\n");
    
         if (opendir("C:\\Vivo\\Prog")==NULL)
            printf(" 1 : Instaler\n 2 :\n 3 :\n");
         else
             printf(" 1 :\n 2 : Reparer\n 3 : Desinstaler");
    
         choix=getch();
    
         if (choix=='1')
            Instal();
         if (choix=='2')
            Reparer();
         if (choix=='3')
            Suppr();
    
         return EXIT_SUCCESS;
    }
    Notre prof 'info nous a toujours dit que un main c'est un void!
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  18. #18
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par CSoldier
    A propos de quoi ? Si tu n'explique pas je risque pas de savoir !
    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
    copieFichier("C:\\Vivo\\Sauv\\Config.exe","C:\\Vivo\\Prog\\Config.exe");
      
      ITEMIDLIST * itemDList;
       char s_path [BUFSIZ];
    
    
       SHGetSpecialFolderLocation (NULL, CSIDL_DESKTOPDIRECTORY, & itemDList);
       SHGetPathFromIDList        (itemDList, s_path);
    
    
       printf ("Chemin vers le bureau :\n%s\n", s_path);
       free (itemDList);
       i=0;
       while (s_path[i]!=0)
             i++;
      s_path[i]='\\';
      s_path[i+1]='L';
      s_path[i+2]='a';
      s_path[i+3]='n';
      s_path[i+4]='.';
      s_path[i+5]='e';
      s_path[i+6]='x';
      s_path[i+7]='e';//ancer l'ordinateur de bord.exe";
      printf ("Chemin vers le bureau :\n%s\n", s_path);
      system("pause");
      copieFichier("C:\\Vivo\\Sauv\\Lancer l'ordinateur de bord.exe",s_path);
    Voila j'ai essaier cela ,ca marche que a moitié, je n'ai pas rouvé dous venais le problemme mais il y en a un...
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  19. #19
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par miron
    Notre prof 'info nous a toujours dit que un main c'est un void!
    Faux, la fonction main retourne toujours un entier signé, c'est un code de retour (comme pour tous processus d'ailleurs) qui est ensuite renvoyé au système, ce qui permet de déterminer si le programme quitte avec un code d'erreur ou fait une sortie normale.
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  20. #20
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Heu tu veux faire quoi avec ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    i=0;
       while (s_path[i]!=0)
             i++;
      s_path[i]='\\';
      s_path[i+1]='L';
      s_path[i+2]='a';
      s_path[i+3]='n';
      s_path[i+4]='.';
      s_path[i+5]='e';
      s_path[i+6]='x';
      s_path[i+7]='e';
    Si c'est pour ajouter le nom du programme dans le chemin du bureau utilise tout simplement la fonction standard: strcat (il te faut inclure string.h dans ce cas) !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. erreur encore jamais vue (pour moi)
    Par le_gueux90 dans le forum C
    Réponses: 8
    Dernier message: 20/12/2005, 10h51
  2. [SQL - ORACLE] Requete un peu compliquée (pour moi)
    Par Worldofdada dans le forum Langage SQL
    Réponses: 15
    Dernier message: 03/11/2005, 08h25
  3. Requête un peu trop compliqué pour moi
    Par Kokito dans le forum Langage SQL
    Réponses: 5
    Dernier message: 18/04/2005, 15h17
  4. Réponses: 1
    Dernier message: 02/02/2005, 19h34
  5. [casse-tete (pour moi)] recuperer la largeur d'un <div>
    Par Invité dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 05/11/2004, 07h39

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