Dll pour vb/vba (2)

Soyez le premier à donner votre avis sur cette source.

Vue 3 550 fois - Téléchargée 218 fois

Description

La dll qui s'etend au fur et a mesure des demandes.
Lecture registres CURENT_USER et LOCAL_MACHINE.
Determine si current user est administrateur.
Les fonctions de mesures deja fournies.
Exemples faits sur Excel car je n'installe pas VB.

Source / Exemple :


Option Explicit

' enlever chemin de D:\bn2Vb.dll, seulement pour tests perso
Declare Function bnIsWinNT Lib "D:\bn2Vb.dll" () As Long
Declare Function bnIsUserAdminNT Lib "D:\bn2Vb.dll" () As Long

Declare Function bnIsPrecisionOK Lib "D:\bn2Vb.dll" () As Long
Declare Function bnCpuSpeedMghz Lib "D:\bn2Vb.dll" () As Long
Declare Sub bnTicksStart Lib "D:\bn2Vb.dll" ()
Declare Function bnTicksResult Lib "D:\bn2Vb.dll" () As Double
Declare Sub bnMilliscndStart Lib "D:\bn2Vb.dll" ()
Declare Function bnMilliscndResult Lib "D:\bn2Vb.dll" () As Double

Declare Function bnLireStringCU Lib "D:\bn2Vb.dll" (sKey As String, sValue As String, sDest As String) As Long
Declare Function bnLireStringLM Lib "D:\bn2Vb.dll" (sKey As String, sValue As String, sDest As String) As Long
' valeurs de retour
' 0 - OK, sDest sera String valide, vide possible
' 1 - cle ou valeur inexistante ou impossible d'ouvrir ou autre
' 2 - type non string
' 3 - defaut de memoire
Declare Function bnLireDwordCU Lib "D:\bn2Vb.dll" (sKey As String, sValue As String, lDest As Long) As Long
Declare Function bnLireDwordLM Lib "D:\bn2Vb.dll" (sKey As String, sValue As String, lDest As Long) As Long
' valeurs de retour
' 0    - OK, lDest sera valide au retour
' <> 0 - impossible de lire, valeur non DWORD ou autre

' EXEMPLES
Sub DireSiUserAdmin()
  Dim res As Long, titre As String
  titre = "ADMIN"
  res = bnIsWinNT() ' test avant OBLIGATOIRE
  If res Then res = bnIsUserAdminNT()
  If res Then
    MsgBox "OUI", vbInformation, titre
  Else
    MsgBox "NON", vbExclamation, titre
  End If
End Sub

Sub TestPrecision()
  If bnIsPrecisionOK Then MsgBox "bnPrecisionOK"
End Sub

Sub DireCpuSpeed()
  If bnIsPrecisionOK Then MsgBox bnCpuSpeedMghz
End Sub

Sub TestTicks()
  Dim res As Double
  If bnIsPrecisionOK = 0 Then Exit Sub
  bnTicksStart
  res = PerdreTemps(9500000)
  MsgBox bnTicksResult
End Sub

Sub TestMillisecondes()
  Dim res As Double
  If bnIsPrecisionOK = 0 Then Exit Sub
  bnMilliscndStart
  res = PerdreTemps(9500000)
  MsgBox bnMilliscndResult
End Sub

Sub litSringCurrentUser()
  Dim lret As Long, sdst As String
  lret = bnLireStringCU("Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders", "My Pictures", sdst)
  If lret = 0 Then
    Debug.Print sdst
    Debug.Print Len(sdst)
   Else: Debug.Print "ERROR " & lret
  End If
  lret = bnLireStringLM("SOFTWARE\Elaborate Bytes\CloneCD", "Install_Dir", sdst)
  If lret = 0 Then
    Debug.Print sdst
    Debug.Print Len(sdst)
   Else: Debug.Print "ERROR " & lret
  End If
End Sub
 
Sub LireDwordLocalMachine()
  Dim ldst As Long
  If bnLireDwordLM("SOFTWARE\Ahead\Shared", "ResourceCounter", ldst) Then
    Debug.Print "ERROR"
   Else: Debug.Print ldst
  End If
End Sub

Function PerdreTemps(num As Long) As Double
  Dim d As Double, i As Long
  d = 1.5
  While num
    d = d + 1.5
    d = d - 1
    d = d + i
    num = num - 1
  Wend
  PerdreTemps = d
End Function

Conclusion :


Postez moi vos demandes d'extensions.
Sera fait suivant disponibilite.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_xavi
Messages postés
6
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
24 juillet 2003
-
la dll a été écrite en quel langage?on peut avoir les sources?
BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
13 -
ASM, vraiment indispensable les sources ?
cs_xavi
Messages postés
6
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
24 juillet 2003
-
non pas vraiment
merci
sarl_adc
Messages postés
143
Date d'inscription
lundi 3 novembre 2003
Statut
Membre
Dernière intervention
20 octobre 2005
-
disons que je trouve qu'avoir les sources serait pas mal, mais c'est vrai que si c'est pas écrit en VB ça n'aura pas sa place ici...
J'utiliserais pas ta DLL parce qu' j'ai besoin des sources :-)
Mais elle m'a l'air de fonctionner pas mal du tout !
cs_lapoisse
Messages postés
7
Date d'inscription
dimanche 19 octobre 2003
Statut
Membre
Dernière intervention
17 septembre 2005
-
Pourrais-tu nous mettre à disposition le fichier xls mais enregistré sans signature numérique de manière à ce qu'il soit compatible avec mon vieux XL97 ? ...

Merci d'avance

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.