Help - Search - Member List - Calendar
Full Version: Prog
OpenSpace > Zone Ordinateurs > Programmation
RED-HOT
Ca fait depuis hier que je cherche à trouver où sont stockés les infos des machines (cpu, version de windows, ram etc.) dans la base de registre ainsi que le login de l'utilisateur et son heure de loggin sous windows quelqu'un sait ou se trouve ce genre d'infos ? c'est pour un prog en vb qui sert à référencer les machines sur un réseau lorsqu'un utilisateur se logue
Laskov
regarde dans Hkey_Local_Machine_\Hardware\description\system\centralprocessor\0

pour les info machine pour le reste j'ai pas trouvé
Gfx
Le login s'obtient via une fonction de l'API Win32. Un truc du genre getCurrentUser()
PoP
Les fonctions de l'API WIN32 qui peuvent t'aider:

GetComputerName
GetSystemDirectory
GetSystemInfo
GetSystemWindowsDirectory
GetUserName
GetVersionEx
GetWindowsDirectory
Julien
Pour le répertoire Windows, c pas dans le registre, c'est dans le fichier
msdos.sys :

[Paths]
WinDir=C:\WINNT
WinBootDir=C:\WINNT
HostWinBootDrv=C
RED-HOT
J'ai regardé dans l'api Win32 je n'ai pas trouvé... j'utilise vb 6 et nt4 ca peut jouer ?



RED-HOT
Bon j'ai trouvé c'est dans le kernel32
RED-HOT
ca va faire 2 heure que je me casse la tête dessus et ca ne marche pas

voici le code

Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nsize As Long) As Long

Public Sub essai()


Dim taIlle As Long
Dim nom As String
Dim retour As Long

retour = GetComputerName(nom, taIlle)


End Sub

ce qui se passe c'est que j'ai bien la bonne taille +1 (la fonction rajoute +1 à la var) mais dans nom j'ai nul et dans retour aussi.
Je pensais tout d 'abord que ca venait du pc (sous win95) mais j'ai essayé sur un autre pc (win nt 4.0 SP6) et c'est exactement pareil...

Il n'y a pas d'erreur juste aucun affichage...

si vous avez une idée
Gfx
Essaye une connerie genre :
taille = 50
nom = Space$(taille)
juste avant l'appel de la fonction
RED-HOT
Bon ca y est j'ai trouvé

Option Explicit

Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Function CPUName() As String
Dim sBuffer As String
Dim lLength As Long
Dim lReturn As Long

lLength = 255
sBuffer = String$(lLength + 1, 0)
lReturn = GetComputerName(sBuffer, lLength)
CPUName = Trim$(sBuffer)
End Function

Private Sub Command1_Click()
Dim retour As String
retour = CPUName()
MsgBox (retour)

End Sub
RED-HOT
Pourquoi il me balance une erreur sur le sbuffer ?
Sachant que j'ai bien déclaré la structure dans un module (s'il y a besoin de tout balancer dite le moi)

GetSystemInfo (sBuffer)

nbrCPU = sBuffer.dwNumberOrfProcessors
Cputype = sBuffer.dwProcessorType

Select Case Cputype
Case 1
proc = "386"
Case 2
proc = "486"
Case 3
proc = "Pentium"
Case Else
proc = "inconnu"
End Select
RED-HOT
BOn j'ai trouvé, il faut juste enlever les parenthèses
Ca :
GetSystemInfo sBuffer
au lieu de ca
GetSystemInfo (sBuffer)
PoP
J'aime le debug à la RED-HOT! smile.gif
RED-HOT
Comment ca ? smile.gif

Bon sinon j'ai une question aussi
je dois faire un prog qui controle l'accès de certains repertoires (sensibles genre RH ou Finance ...) je ne sais même pas où trouver ces infos ...

(Je comprends pas, je suis en stage réseau et je fais du dév... faudra qu'on m'explique)
Sha
Le verrouillage des répéertoires pas utilisateurs doit être une des fonctions de windowsNt / 2000 / xp, en liaison avec la gestion des utilisateurs réseau.

En NTFS on peut le faire, en FAT32 je ne sais pas. Sinon doit y avoir un soft qui propose ces fonctions.
RED-HOT
Je suis d'accord avec toi, mais ils veulent que je le fasse (c'est des serveurs en NTFS sous windows 2000) et je ne sais vraiment pas ou trouver ces infos
Guepi
Red-Hot :

Ce n'est possible qu'en NTFS.
Tu définis des groupes d'utilisateurs, avec des autorisations sur tes dossiers.

Dossier RH :
Le Groupe "Utilisateurs RH" a le droit de lecture sur ce dossier
Le Groupe "Utilisateurs avancés RH" a le droit de lecture / écriture sur ce dossier
Le Groupe " Utilisateurs Finances" n'a aucun droit sur ce dossier
Le Groupe "Utilisateurs avancés Finances" n'a aucun droit sur ce dossier.

Etc...

Et tu fais tout ça sur le serveur 2000.
Tu as un dossier de base partagé. Tu défini les autorisations sur les sous-dossiers de ce dossier partagé. Et attention : il ne faut pas copier les droits de manière "récurrente"...



RED-HOT
Guepi, oui oui, je sais bien comment on fait les droits, ce que je dis c'est que je dois faire un soft qui permet de dire "Guepi a accédé au dossier \\RH\important à 15h01"
"Sha est rentré dans le dossier informatique à 12h00" ...
Tu vois ce que je veux dire ?
Guepi
Humm ... un programme de log des accès au disque...
Regarde du côté des trucs pirates biggrin.gif
ça doit exister wink.gif
RED-HOT
oui oui je sais, mais c'est moi qui doit le faire
Sha
Ouille.

Alors là je n'ai aucune idée, faut se plonger dans le fonctionnement système de windows2000 et c'est pas simple blink.gif

http://www.cs.vu.nl/~ast/books/mos2/sample-11.pdf



RED-HOT
dites "erreur d'execution 6" dépacement de capacité, ca veut dire quoi ?
PoP
beuarp de la pile.
RED-HOT
j'ai regardé c'est un problème de compatibilité entre l'appli qui a été developpé sur 95/NT4 et 2000/XP, il semblerai que le même programme renvoie une valeur superieur à un long le prob c'est que j'ai oublié la moitié au boulot... mad.gif
Gfx
Filemon et Regmon
Très utile dans de nombreuses circonstances !
PoP
y'a aussi Pokemon mais ça fait pas du tout ce que tu veux. blink.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2024 Invision Power Services, Inc.