begin process at 2010 02 10 05:51:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

Débutants

 > 

Dossier Systeme32


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Dossier Systeme32

jeudi 26 octobre 2006 à 19:55:36 | Dossier Systeme32

simon22

bonjour, je cherche un algorytme simple (le plus possible^^) qui me permette de trouver le dossier System32 car j'ai un programe qui utilise un fichier se trouvant a l'interieur mais, vue que ce repertoir peu avoir des emplacements varier (celon le disque dur ou windows c'est installer et le nom qu'il porte) il me faut une fonction ou je ne sais pas quoi pour s'avoir dans tout les cas ou se trouve le dossier System32


merci D'avence^^

simon22
jeudi 26 octobre 2006 à 20:35:38 | Re : Dossier Systeme32

casy

Membre Club
Réponse acceptée !

Utilise l'API Win32 GetSystemDirectory

Voila une exmple tiré de l'APIGuide :



Private Declare Function GetSystemDirectory Lib"kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private Sub
Form_Load()
'KPD-Team 1998
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@Allapi.net

Dim sSave As String, Ret As Long
'Create a buffer
sSave = Space(255)
'Get the system directory
Ret = GetSystemDirectory(sSave, 255)
'Remove all unnecessary chr$(0)'s
sSave = Left$(sSave, Ret)
'Show the windows directory
MsgBox"Windows System directory: " + sSave
End Sub

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #
jeudi 26 octobre 2006 à 21:07:53 | Re : Dossier Systeme32

simon22

je te remercie sincerement, cet fonction va mètre tres utile!

simon22
jeudi 26 octobre 2006 à 21:11:31 | Re : Dossier Systeme32

JessicaR44

Membre Club

Bonsoir,
Perso, j'utilise l'API GetWindowsDirectory. C'est exactement le même principe.
Quand on a le répertoire de Windows, System32 est en dessous

Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Option Explicit

Private Sub Command1_Click()
Dim cBuffer As String, BufferLen As Long, nRet As Long
cBuffer = Space(255)
nRet = GetWindowsDirectory(cBuffer, Len(cBuffer))
Debug.Print Left(cBuffer, InStr(cBuffer, Chr(0)) - 1)
End Sub

Jessica

 

jeudi 26 octobre 2006 à 21:12:40 | Re : Dossier Systeme32

jmfmarques

Membre Club

Je préfère en ce qui me concerne, me méfier des "backslash"
l'api utilisée est la même : GetSystemDirectory... mais je prends des précautions et :

Private Declare Function GetSystemDirectoryA Lib "kernel32" (ByVal lpBuffer As String, ByVal nSize As Long) As Long


Private Sub Command1_Click()
  MsgBox GetSystemDirectory
End Sub

Private Function GetSystemDirectory() As String
  Dim z0 As String, I As Integer
  I = GetSystemDirectoryA("", 0): z0 = Space(I)
  Call GetSystemDirectoryA(z0, I)
  GetSystemDirectory = Trim(z0)
  GetSystemDirectory = AddBackslash(Left$(z0, I - 1))
End Function

Private Function AddBackslash(z0 As String) As String
  If Len(z0) > 0 Then
    If Right$(z0, 1) <> "\" Then AddBackslash = z0 + "\" Else AddBackslash = z0
  Else
    AddBackslash = "\"
  End If
End Function

jeudi 26 octobre 2006 à 21:19:37 | Re : Dossier Systeme32

casy

Membre Club
Jessica -->
"...Quand on a le répertoire de Windows, System32 est en dessous..."
Oui sauf que le répertoire système ne s'appelle pas forcément System32, ça peut très bien etre System (cas de Win95 et certaine fois Win98)

jmfmarques -->
Tout dépend ce que tu veux faire. Si tu souhaite avoir juste le nom du répertoire, normalement, il n'y a pas de backslash à la fin.
Si tu veux l'utiliser pour construire un chemin, il faut le backslash. A ce moment là, à chacun de voir s'il le rajoute dans cette fonction comme toi, ou s'il le rajoute lors de la construction du chemin. Perso, j'ai tendance à utiliser la seconde méthode. Chacun ses gouts.

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #
jeudi 26 octobre 2006 à 21:40:25 | Re : Dossier Systeme32

JessicaR44

Membre Club

Bonsoir
casy : "le répertoire système ne s'appelle pas forcément System32, ça peut très bien etre System"
Je viens de vérifier, et tu as tout à fait raison. Je me rallie donc à ta solution.
Je n'ai jamais eu de problèmes, car tous mes progs tournent sous XP ou Win2000
Mais par précaution, je vais modifier ma lib.
Amicalement
Jessica

jeudi 26 octobre 2006 à 22:42:20 | Re : Dossier Systeme32

Renfield

Administrateur CodeS-SourceS

ok avec casy...

note pour Jessica, au passage, pas besoin d'API :

? environ$("windir")

Renfield
Admin CodeS-SourceS- MVP Visual Basic
vendredi 27 octobre 2006 à 06:50:57 | Re : Dossier Systeme32

JMO

Membre Club


 Bonjour à tous....

je me rallie à Renfield (valable sous XP ou Win2000)

Dim WshShell : Set WshShell = WScript.CreateObject("WScript.Shell")
WScript.Echo WshShell.ExpandEnvironmentStrings("%WinDir%" & "\system32")
Set WshShell = Nothing

jean-marc


Cette discussion est classée dans : dossier, systeme32


Répondre à ce message

Sujets en rapport avec ce message

OCX dans le systeme32 ou dans le dossier application [ par BIGDAMSBIG ] bonjours a tous. je suis débutant et je voulais savoir lors d'une utilisation d'un ocx ou dll s'il étais possible de l'utiliser sans pour cela y fair Enregistrer [ par MOIJPCH ] Bonjour à tous,Je voudrais enregistrer un document qui ma été envoyé dans un dossier spécifique avec le nom d'une cellule contenu dans ce Extraire des Images [ par PatrickB56 ] Bonjour, Système Win XPJe cherche à extraire d'un dossier image approx. 20.000 images une sélection de photos dans je connais le nom et l'extension de sous-dossiers -> dossier unique [ par vauhn2709 ] Bonjour,Voilà je cherche un script qui pourrait me permettre d'automatiser la fonction d'exploration systématique de sous-répertoire et le deplacement Affichage d'une dirlistbox [ par petio26 ] bonjour,Je voudrais savoir s'il serai possible d'affecter un chemin à une dirlistbox, mais de n'afficher que le dernier dossier du chemin dans celle-c CSV data pour copier et coller des fichiers ailleurs (jpg) [ par seby20 ] Bonjour, j'ai vraiment besoin d'aide svp. Je suis photographe. Je reçois des commandes de photos par email et dans ce email, il y a un fichier csv/txt sourcecontrol sur un objet créé [ par Finality ] Bonjour,dans une de mes applications, j'ai créé une classe "dossier", hérité de la classe "Picture Box". Aux propriétés de la picture boc, j'en ai raj Programme d'installation [ par eljulios ] Bonjour, Sous Visual Basic 2005 (Express Edition) j'ai créé un jeu et j'ai aussi créé un autre projet qui va me permettre d'installer mon jeu dans un Commande shell et virgule dans nom de dossier [ par manshivas ] Bonjour, Au boulot, je viens reprendre en maintenance une application VBA\ACCESS. Je doit pouvoir ouvrir l'explorer sur un dossier définit (dont


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,328 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales