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

 Delphi Discussion :

Comment ouvrir l'exploreur a une adresse déterminée avec le new Windows 10 ?


Sujet :

Delphi

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 423
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 423
    Points : 1 326
    Points
    1 326
    Par défaut Comment ouvrir l'exploreur a une adresse déterminée avec le new Windows 10 ?
    Bonjour à toutes et à tous,

    Je cherche à ouvrir l'exploreur à une adresse déterminée et voir ses fichiers ou dossiers sans utiliser "C:\" et l'username soit avec la commande "%LocalAppData%\Packages\".

    Avec cette commande, cela ne fonctionne pas avec Windows 10 dernière version :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ShellExecute(Handle,'open', PChar('explorer.exe') , PChar(GetSpecialFolderPath(CSIDL_LOCAL_APPDATA) +  '\Packages\')  ,nil,SW_SHOW);
    Mais bien si j'utilise le chemin "C:\Users\cincap\AppData\Local\Packages".

    Merci à tous si une solution est trouvée.

    @+,

    cincap

  2. #2
    Membre chevronné
    Avatar de free07
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 931
    Points : 1 909
    Points
    1 909
    Par défaut
    Bonjour,

    Est ce que si avec l'invite de commande tu tapes : echo %LocalAppData%

    Le chemin est il bien affiché ?

    EDIT : Sinon il me semble que la fonction GetSpecialFolderPath est dépréciée

    Il vaut mieux utiliser à la place TPath.GetHomePath

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 037
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par free07 Voir le message
    Il vaut mieux utiliser à la place TPath.GetHomePath
    C'est ce que j'aurais plus ou moins écrit aussi mais comme la version de Delphi utilisée n'est pas indiquée il n'est pas certain que ce soit fourni.
    De plus cela dépend de la plateforme par exemple GetHomePath se trouve dans SysUtils alors que l'on System.IOUtils.TPath.GetHomePath (en FMX)

    et GetHomePath fourni %appdata% et %localappdata%

    celui qui correspondrait est System.IOUtils.TPath.GetCachePath
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  4. #4
    Membre chevronné
    Avatar de free07
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 931
    Points : 1 909
    Points
    1 909
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    celui qui correspondrait est System.IOUtils.TPath.GetCachePath
    Oui, tu as raison, je n'ai pas pris le temps de chercher celui qui correspond à %localappdata%

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 423
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 423
    Points : 1 326
    Points
    1 326
    Par défaut
    @ tous, merci pour les suggestions.

    J'utilise toujours D6.

    Avec mes tests, j'obtiens une amélioration avec le chemin en dur.

    Avec cette fonction j'ai un bon résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function GetSpecialFolderPath(folder : integer) : string;
    const
    SHGFP_TYPE_CURRENT = 0;
    var
     path: array [0..MAX_PATH] of char;
    begin
    if SUCCEEDED(SHGetFolderPath(0,folder,0,SHGFP_TYPE_CURRENT,@path[0])) then
     Result := path
    else
    Result := '';
    end;
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    ShellExecute(Handle,'open', PChar('explorer.exe') , PChar(GetSpecialFolderPath(CSIDL_LOCAL_APPDATA) +  '\Packages\')  ,nil,SW_SHOW);
    Je clôture ce topic.

    Merci à tous pour vos suggestions.

    @+,

    cincap

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/06/2007, 09h33
  2. Réponses: 2
    Dernier message: 11/10/2006, 13h37
  3. Réponses: 4
    Dernier message: 27/09/2006, 16h47
  4. Réponses: 3
    Dernier message: 23/08/2006, 16h27
  5. Comment tester la validité d'une adresse mail
    Par jmoez dans le forum Oracle
    Réponses: 1
    Dernier message: 19/04/2006, 13h00

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