Jeg ved ikke hvilken brugergruppe der er tale om, men generalt hvis brugere ikke har adgang til at skrive til registry!
Jeg aner intet om brugere, da jeg hele mit liv kun har brugt mig selv som bruger. Programmet er et der laver om i windows' indstillinger i registry, så hvis brugere ikke har rettigheder til det, vil jeg hellere lukke programmet på en ordenligt måde i stedet for et eventuelt crash hvis de prøver!
Du kan da bare når prog. starter op prøve at skrive til registry. Hvis det fejler vha. error handling som vist ovenfor så kan du give brugeren besked. Det er klart den nemmeste mulighed, alternativt så skal du igang med ADSI programmering - det kan lade sig gøre men er ikke nemt.
Dim Cancel As String Cancel = MsgBox("Dette er fejlkoden") regCreate_Key_Value HKEY_CURRENT_USER, "Software/FWM", "TestValue", "1" on error goto Cancel
private sub Form_Load() on error goto Cancel regCreate_Key_Value HKEY_CURRENT_USER, "Software/FWM", "TestValue", "1" cancel: 'ved fejl springer kode hertil End Sub
Og hvis du har forstand på at oprette brugere, kan du hjælpe mig med at lave en bruger som ikke har de nødvendige rettigheder? Så kan jeg lige teste engan :)
ja, som f.eks indstillinger som rettigheder og således! Jeg har åbnet Users Accounts(XP), men kan ikke finde noget synderligt avanceret, kun lige bruger/pass osv.
rettigheder sætter du på de enkelte fiuler eller mapper. højreklik på objektet og vælg egenskaber herinde kan du sætte sikkerhed på for hvad hver enkelt bruger må og ikke må.
Administratorrettighederne er ret tricky at finde, da det dækker over mange område hvorpå rettighederne for bl.a. brugere godt kan ændres af systemadministratoren således at brugere f.eks. har administratorrettigheder til at ændre filer i systemmappe. Dog kan man tjekke om den aktuelle bruger er en administrator, som selvsagt har fuld kontrol over systemet. Det kan gøres vha. følgende kode:
Private Declare Function IsNTAdmin Lib "advpack.dll" (ByVal dwReserved As Long, ByRef lpdwReserved As Long) As Long Private Sub Form_Load() If CBool(IsNTAdmin(ByVal 0&, ByVal 0&)) = True Then MsgBox "Du er administratoren!", vbInformation Else MsgBox "Du er ikke administratoren!", vbExclamation End If End Sub
Jeg ved ikke om dette tjek kan bruges i dit tilfælde, men jeg håber det kan bruges til noget ;) -Sion
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.