DuncanIdaho
Messages postés98Date d'inscriptionmardi 1 janvier 2002StatutMembreDernière intervention12 février 2008
-
24 août 2002 à 13:21
MysTiK74
Messages postés32Date d'inscriptionvendredi 23 août 2002StatutMembreDernière intervention 7 mars 2003
-
20 sept. 2002 à 14:29
Salut, je voudrais pvr mettre un raccourcis dans le menu demarrer, ms je c pas comment le trouver... g essaye avec GetSpecialFolder, sa marche pas :(
MysTiK74
Messages postés32Date d'inscriptionvendredi 23 août 2002StatutMembreDernière intervention 7 mars 2003 24 août 2002 à 23:14
Adieu p'tit
d'abord il faut récupérer la version de windows avec cette fonction (pas forcement necessaire)
' La fonction GetVersion retourne le systême en cours.
Private Declare Function GetVersion Lib "kernel32" () As Long
'ensuite la stocker
Global Const mlngWindows95 = 0 ' Mode Windows 95-98
Global Const mlngWindowsNT = 1 ' Mode Windows NT
Public Sub GetWinVer()
Dim lngVersion As Long
lngVersion = GetVersion()
If ((lngVersion And &H80000000) = 0) Then
glngWhichWindows32 = mlngWindowsNT
Else
glngWhichWindows32 = mlngWindows95
End If
End Sub
ensuite y faut aller chercher dans la base de registre windows le répertoire "Démarrer" ou "start menu"
pour acceder aux infos de la base de registre
utilise les fonctions suivantes:
' Facilite l'accès aux registres
Public Function GetKeyValue(KeyRoot As Long, KeyName As String, SubKeyRef As String, ByRef KeyVal As String) As Boolean
Dim i As Long ' Compteur de boucle.
Dim rc As Long ' Code de retour.
Dim hKey As Long ' Descripteur d'une clé de base de registres ouverte.
Dim hDepth As Long '
Dim KeyValType As Long ' Type de données d'une clé de base de registres.
Dim tmpVal As String ' Stockage temporaire pour une valeur de clé de base de registres.
Dim KeyValSize As Long ' Taille de la variable de la clé de base de registres.
'------------------------------------------------------------
' Ouvre la clé de base de registres sous la racine clé {HKEY_LOCAL_MACHINE...}.
'------------------------------------------------------------
rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey) ' Ouvre la clé de base de registres.
If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' Gère l'erreur...
tmpVal = String$(1024, 0) ' Alloue de l'espace pour la variable.
KeyValSize = 1024 ' Définit la taille de la variable.
'------------------------------------------------------------
' Extrait la valeur de la clé de base de registres...
'------------------------------------------------------------
rc = RegQueryValueEx(hKey, SubKeyRef, 0, _
KeyValType, tmpVal, KeyValSize) ' Obtient/Crée la valeur de la clé.
If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' Gère l'erreur.
If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then ' Win95 ajoute une chaîne terminée par un caractère nul...
tmpVal = Left(tmpVal, KeyValSize - 1) ' Caractère nul trouvé, extrait de la chaîne.
Else ' WinNT ne termine pas la chaîne par un caractère nul...
tmpVal = Left(tmpVal, KeyValSize) ' Caractère nul non trouvé, extrait la chaîne uniquement.
End If
'------------------------------------------------------------
' Détermine le type de valeur de la clé pour la conversion...
'------------------------------------------------------------
Select Case KeyValType ' Recherche les types de données...
Case REG_SZ ' Type de données chaîne de la clé de la base de registres.
KeyVal = tmpVal ' Copie la valeur de la chaîne.
Case REG_DWORD ' Type de données double mot de la clé de base de registres.
For i = Len(tmpVal) To 1 Step -1 ' Convertit chaque bit.
KeyVal = KeyVal + Hex(Asc(Mid(tmpVal, i, 1))) ' Construit la valeur caractère par caractère.
Next
KeyVal = Format$("&h" + KeyVal) ' Convertit le mot double en chaîne.
End Select
GetKeyValue = True ' Retour avec succès.
rc = RegCloseKey(hKey) ' Ferme la clé de base de registres
Exit Function ' Quitte.
GetKeyError: ' Réinitialise après qu'une erreur s'est produite...
KeyVal = "" ' Affecte une chaîne vide à la valeur de retour.
GetKeyValue = False ' Retour avec échec.
rc = RegCloseKey(hKey) ' Ferme la clé de base de registres.
End Function
' ensuite utilise la comme ca
GetKeyValue HKEY_CURRENT_USER, "Control Panel\Desktop", "Wallpaper", CoulFont
' c'est un exemple de lecture
la clef que tu cherche est la
HKEY_CURRENT_USER\
Software\
Microsoft\
Windows\
CurrentVersion\
Explorer\
User Shell Folders\
la clef est "Start Menu"
et tu aura besoin de ces déclarations de constantes spécifiques à l'acces aux bases de registres
cs_babouche
Messages postés61Date d'inscriptionjeudi 30 mai 2002StatutMembreDernière intervention 2 mai 2007 20 sept. 2002 à 12:39
8-) Slut, 8-)
Est ce que tu peux m'envoyer la partie de cette source qui permet de détecter la version de Windobe (Fuck MicroSoft :-p ). Est ce qu'elle marche pour Win ME ( = Merdic edition :-p ) et XP (et 3.11 et 1.00 :))
MysTiK74
Messages postés32Date d'inscriptionvendredi 23 août 2002StatutMembreDernière intervention 7 mars 2003 20 sept. 2002 à 14:29
Adieu p'tit
' La fonction GetVersion retourne le systême en cours.
Private Declare Function GetVersion Lib "kernel32" () As Long
'ensuite la stocker
Global Const mlngWindows95 = 0 ' Mode Windows 95-98
Global Const mlngWindowsNT = 1 ' Mode Windows NT
Public Sub GetWinVer()
Dim lngVersion As Long
lngVersion = GetVersion()
If ((lngVersion And &H80000000) = 0) Then
glngWhichWindows32 = mlngWindowsNT
Else
glngWhichWindows32 = mlngWindows95
End If
End Sub
y fo verifier ce que contient "lngVersion" en fonction du systeme utilise.
j'ai pas testé sous XP et 2000
bon courage
A r'vi pa...
Partager ce qu'on sait c'est laisser une trace de notre passage...