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

Lazarus Pascal Discussion :

[Windows] Trouver Dossier utilisateur et nom utilisateur ?


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 63
    Par défaut [Windows] Trouver Dossier utilisateur et nom utilisateur ?
    Bonjour

    Sous Windows récent (genre Windows 7)

    S'il vous plait, avec Free Pascal (ou Lazarus), Y a t'il un moyen pour connaitre :

    1) le dossier où sont stockés les programmes installés [genre Users ou Utilisateurs] ? (apparemment cela change selon les pays :o )

    2) le nom du compte de l'utilisateur actuel (celui sous lequel on lance le programme en Free Pascal)

    3) La version de Windows

    Merci

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 63
    Par défaut
    Je réponds en partie moi-même au point 3)

    Je débute sur la programmation Pascal pour Windows (je viens du DOS) donc... j'ai beaucoup de lacunes, alors je ne comprends pas tout.

    Il y a ce source, toutefois il ne présente pas les nouvelles versions de Windows
    ftp://ftp-developpez.com/delphi/faq/...versionwin.zip
    ==> Ca serait sympa si ce source était réactualisé...

    * Surtout que je n'ai pas les nouveaux Windows alors ça me limite les possibilités de test pour éventuellement modifier le script... *

    C'est toujours utile de connaître la version de Windows surtout que pour les nouveaux Windows les dossiers où sont installés les programmes sont gérés différemment (le nom du path a changé par exemple).


    J'ai trouvé ce lien toutefois il est plus Delphi mais il prend en compte Windows Vista par exemple... mais il Manque Windows 7, voire les nouvelles versions de Serveurs :

    http://stackoverflow.com/questions/5...indows-version



    Concernant le point 2)

    J'ai trouvé ce code dans la Section Faq Delphi

    Seulement j'obtiens un message d'erreur avec ce qui semble être une Unité GetUserName

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function UserName : string; 
    var 
      Utilisateur : Array[0..255] Of Char; 
      Taille      : Cardinal; 
    begin 
      Taille := SizeOf(Utilisateur); 
      If GetUserName(@Utilisateur,Taille) then 
         Result := strpas(Utilisateur) 
      else 
        Result :=''; 
    end;
    Où puis-je trouver l'unité qui manque ?


  3. #3
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    8 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 8 056
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    GetUserName est une fonction de l'API standard, donc je pense qu'un
    devrait suffire ?

    En utilisant les interfaces, la fonction SHGetSpecialFolderLocation permet de retouver toute une série de répertoires.

    Pour le numéro de version du système, c'est GetVersionEx (également disponible dans l'API standard).

    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  4. #4
    Membre émérite Avatar de DOLPat®
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2003
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 426
    Par défaut
    Citation Envoyé par DreamNooby Voir le message
    Où puis-je trouver l'unité qui manque ?
    Il s'agit d'une fonction API de Windows. Donc il te faut rajouter l'unité Windows dans la clause Uses.

    D'autre part, il y a dans la même unité des fonctions qui peuvent t'intéresser comme GetVersion qui renvoie la version du système d'exploitation. regarde cette page.

    Pour les répertoire spéciaux comme Program files, il faut te tourner vers la fonction SHGetSpecialFolderPath de l'unité ShlObj. (exemple d'utilisation)

    [Edit] Grillé sur le fil et par le responsable en plus.

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 63
    Par défaut
    Merci pour votre aide

    J'essaye ces instructions et si j'ai des questions je posterais, par contre si j'ai bien compris je marquerais résolu.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 137
    Par défaut
    Un long fil sur le sujet en anglais :

    http://www.lazarus.freepascal.org/in...c,10693.0.html

Discussions similaires

  1. Réponses: 6
    Dernier message: 28/05/2008, 16h57
  2. Réponses: 1
    Dernier message: 26/10/2007, 23h44
  3. Connaître le nom utilisateur Windows grâce au process SQL
    Par fkuchta dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 24/08/2006, 14h14
  4. Nom utilisateur windows
    Par yosthegost dans le forum Delphi
    Réponses: 3
    Dernier message: 15/06/2006, 15h34
  5. Recuperation nom utilisateur d une session Windows
    Par snipes dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/04/2006, 13h23

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