PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → Connaître le répertoire Windows ?
Connaître le répertoire Windows ?
Iniciado por Vincent, ago., 25 2005 1:57 PM - 14 respostas
Publicado em agosto, 25 2005 - 1:57 PM
Bonjour,

Je cherche à créer un fichier .INI dans le répertoire Windows
du PC. Cependant, selon les systèmes, il peut s'appeler
C:\WINDOWS ou C:\WINNT, etc..

Il existe une API GetWindowsDirectoryA mais je n'arrive pas
à l'implémenter.

RetourFonction est un entier sans signe // Type C :UINT
lpBuffer est un entier // Type C :LPSTR, c'est l'adresse d'une chaîne, il est aussi possible de spécifier directement une chaîne
uSize est un entier sans signe // Type C :UINT

RetourFonction=API("KERNEL32","GetWindowsDirectoryA",lpBuffer,uSize)

Comment faire ?

Merci,

Vincent
Publicado em agosto, 25 2005 - 2:10 PM
Essaie cette fonction la, ca devrait fonctionner sans souci
ResRep = SysRep(srWindows) ou
ResRep = SysRep() (srWindows etant par defaut)
Publicado em agosto, 25 2005 - 2:12 PM
Bonjour,

Essaie sysrep()

bye
"Vincent" <vbenner@pageup.fr> a écrit dans le message de
news:430d81be$1@news.pcsoft.fr...


Bonjour,

Je cherche à créer un fichier .INI dans le répertoire Windows
du PC. Cependant, selon les systèmes, il peut s'appeler
C:\WINDOWS ou C:\WINNT, etc..

Il existe une API GetWindowsDirectoryA mais je n'arrive pas
à l'implémenter.

RetourFonction est un entier sans signe // Type C :UINT
lpBuffer est un entier // Type C :LPSTR, c'est l'adresse d'une chaîne, il

est aussi possible de spécifier directement une chaîne
uSize est un entier sans signe // Type C :UINT

RetourFonction=API("KERNEL32","GetWindowsDirectoryA",lpBuffer,uSize)

Comment faire ?

Merci,

Vincent
Publicado em agosto, 25 2005 - 2:23 PM
Bonjour,

Pour connaitre le répertoire Windows, il suffit d'utiliser la fonction :
SysRep(srWindows)

Cette fonction permet de connaitre plein de répertoires dans le système d'exploitation :
menu démarer, Favoris, ProgramFiles etc.

Autre chose :

Je crois que lorsqu' on utilise la fonction IniEcrit() ( ou IniLit) sans indiquer le chemin du fichier ini de destination, les données sont sauvegardées dans le fichier Win.ini dans le dossier Windows.

Cordialement,

Yann.
Publicado em agosto, 25 2005 - 2:52 PM
RetourFonction est un entier sans signe
cBuffer est une chaîne ASCIIZ sur 1024
uSize est un entier sans signe = 1023

RetourFonction=API("KERNEL32","GetWindowsDirectoryA",&cBuffer,uSize)
if RetourFonction=0 then
erreur("Bug....")
else
trace(cBuffer)
end
ca fonctionne sur W2Ksp4pro
Publicado em agosto, 25 2005 - 2:59 PM
Bonjour,

Il y a plus simple encore pour récupérer le répertoire de Windows :

// Récupérer le chemin du répertoire windows
ResRep est une chaine = SysRep (srWindows)

Cordialement,

Mike
Publicado em agosto, 25 2005 - 3:02 PM
Tu n'es pas obligé de le connaître, la création se fait automatiquement si tu ne lui précises pas de chemin.

a plus
Publicado em agosto, 25 2005 - 3:07 PM
Regarde l'aide de la fonction SysRep qui permet de récupérer tous les répertoires gérés par le système.
Publicado em agosto, 25 2005 - 3:13 PM
salut

si c'est le repertoire systeme , utilise la fonction SysRep().

cordialement

Greg
Publicado em agosto, 25 2005 - 3:32 PM
Salut

Regarde la fonction Sysrep()
Elle répondra à ton besoin

Bonne prog
Publicado em agosto, 25 2005 - 3:38 PM
Salut,

utilises la fonction SysRep() de windev
Publicado em agosto, 25 2005 - 4:19 PM
Pourquoi te compliquer la vie ?

En utilisant les fonctions INIEcrit et INILit, si le chemin n'est pas précisé le fichier est recherché d'office dans le répertoire de Windows ...
Publicado em agosto, 25 2005 - 4:43 PM
Merci à tous, je vais utiliser SysRep()

Pour ce qui est de IniLit / IniEcrit, je maîtrise et
je ne veux pas de création automatique.

Cordialement,

Vincent
Publicado em agosto, 26 2005 - 11:28 AM
Moi, je ne te conseille pas de creer un fichier ini dans le dossier windows.
En effet, si ton client met en place une gestion de la "sécurité"
(Utilisateurs/Administrateurs, droits NTFS etc...), alors les utilisateurs
qui ne disposent pas des privilèges d'administration ne pourront pas creer
de fichier dans le dossier Windows.
Tu devrais plutot le mettre au meme niveau que l'executable....
M'enfin... c'est QUE mon avis...
Gromit

"Vincent" <vbenner@pageup.fr> a écrit dans le message de news:
430da882$1@news.pcsoft.fr...

Merci à tous, je vais utiliser SysRep()

Pour ce qui est de IniLit / IniEcrit, je maîtrise et
je ne veux pas de création automatique.

Cordialement,

Vincent


Publicado em agosto, 29 2005 - 11:28 AM
Bonjour,

Effectivement, pour des raisons de sécurité, il est dans le
répertoire de l'exécutable, cependant, jusqu'à vendredi dernier,
16h30, le cachier des charges indiquait qu'il devait être dans le
répertoire Windows...

Merci,

Vincent