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

Développement Windows Discussion :

Trouver le Path d'una application


Sujet :

Développement Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2016
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2016
    Messages : 63
    Par défaut Trouver le Path d'una application
    Salut tous le monde,
    Le problème:

    Les applications sont installées sur un disque réseau par exemple H:\
    sur les bureaux des différents Desktop est installé un Short Cut (Icon)

    Quand on lance l'application à partir du Short Cut, elle doit automatiquement configurer
    sa base de registre locale et enregistrer dans cette base le Path Source de l'application.
    Par exemple la source est H:\Easywindows\Bin\[ICM].EXE
    J'ai fait le module suivant:


    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
     
     
     
     
    : $LEFT-CLICK 										S( --- Flag )
     
       PAD 255 ERASE 					S( --- ) 		  \ On purge le PAD 
       S" [ICM].EXE" AX$ $! 				S( --- ) 		  \ Nom de l'application Racine dans la chaine AX$
       AX$ DROP GetModuleHandleA				S( --- mHdl )		  \ On passe ce nom à la fonction GetModuleHandle
       ?NIL SysAbort" $LEFT-CLICK MODULE_HANDEL_ERROR" 	S( mHdl --- mHdl | Error )  \ On teste si erreur, si oui on sort 
       PAD 255 GetModuleFileName				S( mHdl --- n )		  \ On passe le Handel obtenu à la fonction GetModuleFileName
       PAD SWAP ROOT$ $!					S( --- )	          \ Qui retourne le Path. On récupère ce Path dans la Chaine ROOT$
       ( ROOT$ Racine )$RegKey.Write			S( --- )	          \ On enregistre le contenu de ROOT$ sous l'étiquette Racine dans la base de Registre locale
     
       LPARAM LOWORD fg_xvb  XMPOS ! 
       LPARAM HIWORD fg_yvb  YMPOS ! 
       RacineMenu.Get
       hAPP WM_CLOSE 0 0 SendMessage DROP
    ;


    Au lieu de retourner le Path de la source, ça me retourne le Path du Short Cut

    Ce qui est souhaité H:\Easywindows\Bin\[ICM].EXE

    Ce qui est obtenu C:\Users\Acer\Desktop\[ICM].EXE

    LA QUESTION:

    Y a t'il des fonctions autres que GetModuleHandleA et GetModuleFileNameA pour obtenir le path de la source?
    Je pense qu'il doit exister quelque chose puisque Windows installe correctement les applications en mode local alors que les
    sources sont sur le réseau.

    Merci pour vos réponses

    Cordialement
    Ludwig

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    System.reflection.assembly.getentryassembly().location
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre confirmé
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2016
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2016
    Messages : 63
    Par défaut Trouver le Path d'una application
    Citation Envoyé par Pol63 Voir le message
    System.reflection.assembly.getentryassembly().location
    Salut,
    Merci pour la réponse,

    Le fait est que je ne travaille pas ni avec #C ni avec .Net et autre mais avec une machine Virtuelle qui utilise les fonctions
    MS écrites en C++. La machine travaille en notation Polonaise inversée, il me faut juste le nom de la fonction.
    Une fois que j'ai ce nom le reste ne pose plus de PB.

    EXEMPLE:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    PAD 255 ERASE 					S( --- ) 		  \ On purge le PAD qui recevra le  PATH
       S" [ICM].EXE" AX$ $! 			S( --- ) 		  \ Nom de l'application Racine dans la chaine AX$
       AX$ DROP GetModuleHandleA		S( --- mHdl ) \ On passe le nom de l'application cherchée à la fonction 	GetModuleHandleA
     
    \ Qui retourne un Handel que l' on passe à la fonction GetModuleFileName laquelle fonction
    \ expédie le Path dans le PAD que l'on à passé en argument 
     
    mHdl PAD 255 GetModuleFileName

  4. #4
    Membre confirmé
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2016
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2016
    Messages : 63
    Par défaut Trouver le Path d'una application
    Citation Envoyé par Pol63 Voir le message
    System.reflection.assembly.getentryassembly().location
    Salut,
    Merci pour la réponse,

    Le fait est que je ne travaille pas ni avec #C ni avec .Net et autre mais avec une machine Virtuelle qui utilise les fonctions
    MS écrites en C++. La machine travaille en notation Polonaise inversée, il me faut juste le nom de la fonction.
    Une fois que j'ai ce nom le reste ne pose plus de PB.

    EXEMPLE:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    PAD 255 ERASE 					S( --- ) 		  \ On purge le PAD qui recevra le  PATH
       S" [ICM].EXE" AX$ $! 			S( --- ) 		  \ Nom de l'application Racine dans la chaine AX$
       AX$ DROP GetModuleHandleA		S( --- mHdl ) \ On passe le nom de l'application cherchée à la fonction 	GetModuleHandleA
     
    \ Qui retourne un Handel que l' on passe à la fonction GetModuleFileName laquelle fonction
    \ expédie le Path dans le PAD que l'on à passé en argument 
     
    mHdl PAD 255 GetModuleFileName



    Cordialement
    Ludwig

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    Tu es sur un forum dotnet...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. trouver des icones pour mon application
    Par rudhf dans le forum Général Dotnet
    Réponses: 14
    Dernier message: 25/02/2010, 13h15
  2. recherche path de l'application
    Par patou41000 dans le forum C++/CLI
    Réponses: 2
    Dernier message: 20/05/2007, 16h43
  3. trouver le path du fichier executer
    Par rogerio dans le forum C++
    Réponses: 15
    Dernier message: 13/02/2007, 14h53
  4. [Struts] obtenir le path de l'application
    Par pouss dans le forum Struts 1
    Réponses: 8
    Dernier message: 11/05/2006, 11h37
  5. Réponses: 2
    Dernier message: 06/05/2004, 00h02

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