Redigere i Registreringsdatabasen med C#

Tags:    c#

Jeg er ved at lave et lille hjælpe program til et lille lokalnetværk med omkring 100 brugere.

Jeg har fundet ud af, at læse følgende fra Registreringsdatabasen:
Ip
Subnet
Gateway
DNS primær og sekundær.

Ideen er så at eventuelle ændringer også skal gemmes i databasen.
Men jeg får en exception om at jeg ikke har rettigheder.

Nogen der kender problemet, og som kan komme med et par gode hints?



8 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
http://www.thecodeproject.com/csharp/registry1.asp

http://www.experts-exchange.com/Programming/Programming_Languages/C_Sharp/Q_20862202.html

Den sidste er der et eksempel nede i bunden hvor man skriver til en system nøgle i registry, det skulle kunne gøre det.

Det sidste alternativ er altid at enten genstarte maskinen eller flytte skrivebordet lidt :-)


(¯`·._.·[Brian Hvarregaard]·._.·´¯)



Hej,

Som udgangspunkt er registry skrivebeskyttet med mindre din bruger er blevet givet explicit ret til at skrive i nøglen, er nøglen read-only.

Se her for en metode til at sætte den explicitte rettighed:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemsecuritypermissionsregistrypermissionclasstopic.asp

Du finder generelt sikkerhedsindstillingerne under System.Security.Permissions namespace.

Tonny


Jeg er ved at lave et lille hjælpe program til et lille lokalnetværk med omkring 100 brugere.

Jeg har fundet ud af, at læse følgende fra Registreringsdatabasen:
Ip
Subnet
Gateway
DNS primær og sekundær.

Ideen er så at eventuelle ændringer også skal gemmes i databasen.
Men jeg får en exception om at jeg ikke har rettigheder.

Nogen der kender problemet, og som kan komme med et par gode hints?





Du skal køre ha administratorrettigheder til dit program, dvs. du kan entet køre det som administrator eller som en bruger der er medlem af administratorgruppen... men jeg kan ikke huske hvordan det gøres rent programmeringsmæssigt, altså dét at angi at man vil være administrator!

Casper



Jeg tror jeg har tumlet med det samme problem, husk at åbne den nøgle du vil skrive i med skriverettigheder, det betyder at du i din (kan ikke huske hvad metoden hedder) metode der åbner nøglen skal skrive navnet på den key der skal åbner efterfuldt af komma true. Eksempel: OpenRegKey(IP, true); ellers vil du få en exception

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



Hvordan gik det med dit problem, er det løst ???

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



Hvordan gik det med dit problem, er det løst ???

(¯`·._.·[Brian Hvarregaard]·._.·´¯)


Nej, jeg kom aldrig videre, så hvis nogen finder denne tråd og har et en løsning, vil jeg være taknemmelig.

Pt. er mit fokus rettet mod mine kommende eksamener på uni :)



Det sidste alternativ er altid at enten genstarte maskinen eller flytte skrivebordet lidt :-)


Det hænder også at det hjælper at kæle lidt for skærmen ;)
--
Thomas Due
Software developer
udvikleren.dk - ASP redaktør
tdue@mail.dk



Lige en Quick guide, hvis det bare skal virke, og du ikke har tid til at sætte dig ind i emnet.

Registry.CurrentUser.OpenSubKey("Software",true);

Det lille true (:red 2 parameter gør tricket´, hvis du har administrative rettigheder på systemet.

Have fun

Tonny

Jeg er ved at lave et lille hjælpe program til et lille lokalnetværk med omkring 100 brugere.

Jeg har fundet ud af, at læse følgende fra Registreringsdatabasen:
Ip
Subnet
Gateway
DNS primær og sekundær.

Ideen er så at eventuelle ændringer også skal gemmes i databasen.
Men jeg får en exception om at jeg ikke har rettigheder.

Nogen der kender problemet, og som kan komme med et par gode hints?





t