argc et argv dans win32 winMain
Discussion fermée
Affichage des résultats 1 à 18 sur 18

argc et argv dans win32 winMain



  1. #1
    holala02

    argc et argv dans win32 winMain


    ------

    Bonjour
    comment je peux utiliser argc et argv de main standard dans winmain ?

    -----

  2. #2
    Ikhar84
    Animateur Informatique

    Re : argc et argv dans win32 winMain

    Pourquoi faire du win32 ? Contexte ?

    Le fonction-point d'entrée main attend une "liste" d'arguments, avec un entier qui les dénombre.

    Winmain attends beaucoup plus de paramètres, tu as regardé ?
    En particulier du côté du pointeur
    Code:
    LPSTR lpCmdLine
    Ou de la fonction GetCommandLine. Mais comprends bien qu'un soft graphique n'a pas vocation a être lancé via une ligne de commande, associée à des paramètres... bien que ce soit possible: l'utilisation en serait plus un soft qui en lance un autre (l'OS, par exemple, si nécessaire par un raccourci "forgé")...
    J'ai glissé Chef !

  3. #3
    Fustigator

    Re : argc et argv dans win32 winMain

    Citation Envoyé par Ikhar84 Voir le message
    un soft graphique n'a pas vocation a être lancé via une ligne de commande, associée à des paramètres... .
    Ce n'est pas général. Le premier contre exemple standard qui vient a l'esprit c'est un IDE qu'on lance a priori sans paramètres mais avec possibilité de lancement paramètrè pour toutes sortes de builds en batch.

  4. #4
    Ikhar84
    Animateur Informatique

    Re : argc et argv dans win32 winMain

    Je sais bien, j'ai pris l'exemple simpliste du raccourci, j'aurais pu penser à la fonction ouvrir avec de Windows qui lance avec en paramètre le chemin vers le fichier cible, etc ...

    Enfin, on a là un débutant qui semble souhaiter passer de la ligne de commande en mode graphique sans avoir réfléchi aux différences que cela implique, tout en faisant du win32 sans doute par ignorance des technos actuelles pour le développement d'applis graphique Windows...
    J'ai glissé Chef !

  5. A voir en vidéo sur Futura
  6. #5
    Fustigator

    Re : argc et argv dans win32 winMain

    Citation Envoyé par Ikhar84 Voir le message
    Enfin, on a là un débutant qui semble souhaiter passer de la ligne de commande en mode graphique sans avoir réfléchi aux différences que cela implique, tout en faisant du win32 sans doute par ignorance des technos actuelles pour le développement d'applis graphique Windows...
    En effet, la première chose qu'on aimerait savoir c'est : que compte-t-il faire ?

  7. #6
    Gian7

    Re : argc et argv dans win32 winMain

    un soft graphique n'a pas vocation a être lancé via une ligne de commande, associée à des paramètres... .
    En fait, c'est tellement faux.
    Premièrement les développeurs/développeuses utilisent souvent les paramètres ancrés dans les liens symboliques (*.lnk) avec des paramètres du style -f pour file. Pour multiples raisons d'ailleurs.
    Lorsque ton installation est effectuée pour des raisons qui leurs sont propres tu peux avoir ou non un raccourci sur ton bureau qui a un lien contenant des paramètres.

    Quand tu as par exemple dans ton menu démarrer une application nommée Soft :
    Soft -> Soft.exe
    Soft (mode sans echecs) -> Soft.exe -ParamSansEchec


    Sinon l'utilisation la plus courante des argv[] reste l'utilisation de configuration.

    Exemple :
    Programme.exe
    --- User1.cfg
    --- User2.cfg

    Donc
    argv[0] : -f, -config, -user...
    argv[1] : User1.cfg, User2.cfg...

    En incrementant ta lecture de parametre de +2 à chaque boucle. Ou si tu veux quelque chose de plus évolué tu regarde si ton caractère n°0 donc argv[0][0] est bien égal à un "-" sinon ça veut dire que chaques paramètre précédent cette condition est égal à une config différente (donc pas le cas dans le contexte utilisateur).

    Cdlt,
    Gian BENHALIMA.
    Dernière modification par Gian7 ; 09/06/2020 à 01h20.

  8. #7
    albanxiii
    Modérateur

    Re : argc et argv dans win32 winMain

    Citation Envoyé par Gian7 Voir le message
    Ou si tu veux quelque chose de plus évolué tu regarde si ton caractère n°0 donc argv[0][0] est bien égal à un "-" sinon ça veut dire que chaques paramètre précédent cette condition est égal à une config différente (donc pas le cas dans le contexte utilisateur).
    Au lieu de réinventer la roue, il est plus simple de s'inspirer des fonctions getopt et getoplong de la libc GNU (cf. linux) : https://www.gnu.org/software/libc/ma...pt.html#Getopt
    Sources disponibles https://www.gnu.org/software/libc/sources.html
    Not only is it not right, it's not even wrong!

  9. #8
    pm42

    Re : argc et argv dans win32 winMain

    Citation Envoyé par Gian7 Voir le message
    En fait, c'est tellement faux.
    Affirmation gratuite : c'est tellement vrai.

    Citation Envoyé par Gian7 Voir le message
    Premièrement les développeurs/développeuses utilisent souvent les paramètres ancrés dans les liens symboliques (*.lnk) avec des paramètres du style -f pour file. Pour multiples raisons d'ailleurs.
    On évite justement ce genre de choses parce qu'elles ne sont pas manipulables graphiquement.
    Entre avoir un écran de préférences qui permet de voir les différentes options avec lien vers la documentation et l'édition de raccourcis avec paramètres sans vérification d'entrée nécessitant le recours à un page du manuel et la plongée dans un menu que la plupart des utilisateurs ne verra jamais, le choix es.

    C'est pour ça qu'on met en place des solutions plus immédiatement accessibles avec des menus, ou la pression d'une touche pendant le lancement :
    https://support.mozilla.org/en-US/kb...sing-safe-mode
    Et ce d'autant plus que cette approche "ligne de commande" ne marche pas sur certaines plateformes comme les iPhone/iPads.

    Citation Envoyé par Gian7 Voir le message
    Quand tu as par exemple dans ton menu démarrer une application nommée Soft :
    Soft -> Soft.exe
    Soft (mode sans echecs) -> Soft.exe -ParamSansEchec
    Oui, c'est un truc de développeur mais qu'on évite à tout prix pour l'utilisateur normal qui va se retrouver avec 2 icones/entrées dans le moteur de recherche de l'OS et qui va donc à un moment se retrouver en mode sans échec sans comprendre pourquoi.

  10. #9
    Gian7

    Re : argc et argv dans win32 winMain

    Code:
    On évite justement ce genre de choses parce qu'elles ne sont pas manipulables graphiquement.
    Et outre firefox, une fois que tu as pressé ton bouton ? Ça agit comment ?

  11. #10
    Gian7

    Re : argc et argv dans win32 winMain

    Au lieu de réinventer la roue, il est plus simple de s'inspirer des fonctions getopt et getoplong de la libc GNU (cf. linux)
    Ok peut être. Exemple. Donc sur une distribution utilisant le meme kernel.

    Tu peux extraire une archive en ligne de commande

    Code:
    tar -xvf Archive.tar
    Donc parceque tu fais une interface graphique, tu va tout refaire ?
    Ou ton interface graphique va servir de passerelle pour jutement utiliser cette commande avec les parametre adéquat ?

  12. #11
    pm42

    Re : argc et argv dans win32 winMain

    Citation Envoyé par Gian7 Voir le message
    Et outre firefox, une fois que tu as pressé ton bouton ? Ça agit comment ?
    RTFM

    Citation Envoyé par Gian7 Voir le message
    Ok peut être. Exemple. Donc sur une distribution utilisant le meme kernel.
    Lire son message, il parle de s'inspirer du code.

  13. #12
    Gian7

    Re : argc et argv dans win32 winMain


  14. #13
    albanxiii
    Modérateur

    Re : argc et argv dans win32 winMain

    Citation Envoyé par Gian7 Voir le message
    Ok peut être. Exemple. Donc sur une distribution utilisant le meme kernel.

    Tu peux extraire une archive en ligne de commande

    Code:
    tar -xvf Archive.tar
    Donc parceque tu fais une interface graphique, tu va tout refaire ?
    Ou ton interface graphique va servir de passerelle pour jutement utiliser cette commande avec les parametre adéquat ?
    Vos propos sont incohérents, je me dois de vous le signaler, ce qui explique mon absence de réponse.
    Not only is it not right, it's not even wrong!

  15. #14
    Gian7

    Re : argc et argv dans win32 winMain

    Oui dans un sens on va appeler un programme en ligne de commande.
    L'interface graphique quisert de passerelle pour reunir les informations adéquates :

    Donc en gros la l'interface graphique fait un "lien" comme disait ... .
    Dans l'exemple que j'ai cité avec une image. Le lien (lnk) possède des parametre du meme style que les programme en ligne de commande, pourtant c'est une interface graphique visant juste à charger des paramètres.

    Donc pour completer il y a des liens au sein de l'interface graphique qui execute effectivement des programmes en ligne de commande avec des parametre.

    Des programmes graphique qui s'execute effectivement avec des parametre d'ou l'interet d'utiliser argc et argv afin de charger des parametre, et permettre à l'utilisateur de creer un raccourci avec de paramètre préchargés sans avoir a lancer le programme et recharger à nouveau avec une autre config.

  16. #15
    Ikhar84
    Animateur Informatique

    Re : argc et argv dans win32 winMain

    @Albanxii: c'est une des deux raisons de mon abandon sur ce fil...
    La deuxième étant l'absence de signe de vie du po...
    J'ai glissé Chef !

  17. #16
    Gian7

    Re : argc et argv dans win32 winMain

    Donc pour resumer

    Archives qui est une application graphique va enregistrer des paramètres :
    /home/user/archive.tar

    En cliquant sur Extract va executer :
    tar -xvf /home/user/archive.tar.


    Et MPRData.exe :
    Le raccourci de MPRData.exe est en fais un lien qui a pour cible :
    MPRData.exe -C=Config.ini

    Au lancement de l'application, ça va récupérer le paramètre -C=Config.ini qui va le préchargé. D'ou l'utilisation des argc et argc sur une application graphique.

    https://1drv.ms/u/s!Atapgmm--Qc1gQZHkX_E247pSZLl

  18. #17
    pm42

    Re : argc et argv dans win32 winMain

    Citation Envoyé par Ikhar84 Voir le message
    @Albanxii: c'est une des deux raisons de mon abandon sur ce fil...
    La deuxième étant l'absence de signe de vie du po...
    Yep et là, il est en train de rejouer "Rain Man" en moins sympa.

  19. #18
    JPL
    Responsable des forums

    Re : argc et argv dans win32 winMain

    holala02 n’étant pas revenu depuis son premier message il y a longtemps cette discussion est fermée.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

Discussions similaires

  1. récupérer le nom du programme lancé sans passé par main(int argc, char*argv[]))
    Par cosmoff dans le forum Programmation et langages, Algorithmique
    Réponses: 12
    Dernier message: 17/03/2019, 12h53
  2. malware-gen dans win32
    Par invite930815f1 dans le forum Sécurité et malwares : désinfectez votre machine
    Réponses: 0
    Dernier message: 22/01/2011, 10h55
  3. Barre de tâche bloquée quelques minutes au démarrage suite à win32:malware-gen /Win32 : Rootkit-gen
    Par invite49dad019 dans le forum Sécurité et malwares : désinfectez votre machine
    Réponses: 4
    Dernier message: 04/07/2010, 12h49
  4. win32 trojan-gen, win32 kavos, win 32 rootkit-gen, win32 adware-gen
    Par invite9257eb01 dans le forum Sécurité et malwares : désinfectez votre machine
    Réponses: 3
    Dernier message: 22/04/2009, 18h25
  5. win32/Adware.Virtumonde et win32/privacyremove.m64
    Par invitec0270169 dans le forum Sécurité et malwares : désinfectez votre machine
    Réponses: 7
    Dernier message: 07/09/2008, 16h55