digitalmars.D.learn - How to use Registry Windows ?
- medhi558 (20/20) Aug 29 2015 Hello,
- Rikki Cattermole (9/29) Aug 29 2015 Humm, try:
- medhi558 (1/1) Aug 29 2015 It doesn't always work the same error.
- Vladimir Panteleev (3/4) Aug 29 2015 Is your program running with administrator rights? Unprivileged
- medhi558 (1/1) Aug 29 2015 I just tried with administrator rights, but it doesn't work.
- Vladimir Panteleev (16/17) Aug 29 2015 You need to use a REGSAM value (e.g. KEY_ALL_ACCESS) to open the
- medhi558 (1/1) Aug 29 2015 Thank you it works.
Hello, I can't seem to use Registry, I tried to many attraction ways but I have every time an error "Value cannot be set". Exemple code : module main; import std.stdio; import std.windows.registry; void main(string[] args) { version(Windows) { Key registryKey = Registry.localMachine() .createKey("Software") .createKey("Microsoft") .createKey("Windows") .createKey("CurrentVersion") .createKey("Run"); registryKey.setValue("key", "value"); } }
Aug 29 2015
On 29/08/15 9:14 PM, medhi558 wrote:Hello, I can't seem to use Registry, I tried to many attraction ways but I have every time an error "Value cannot be set". Exemple code : module main; import std.stdio; import std.windows.registry; void main(string[] args) { version(Windows) { Key registryKey = Registry.localMachine() .createKey("Software") .createKey("Microsoft") .createKey("Windows") .createKey("CurrentVersion") .createKey("Run"); registryKey.setValue("key", "value"); } }Humm, try: auto regKey = Registry.localMachine() .getKey("Software") .getKey("Microsoft") .getKey("Windows") .getKey("CurrentVersion") .getKey("Run"); regKey.setValue(...);
Aug 29 2015
On Saturday, 29 August 2015 at 09:35:47 UTC, medhi558 wrote:It doesn't always work the same error.Is your program running with administrator rights? Unprivileged programs may not write to HKEY_LOCAL_MACHINE by default.
Aug 29 2015
I just tried with administrator rights, but it doesn't work.
Aug 29 2015
On Saturday, 29 August 2015 at 09:44:06 UTC, medhi558 wrote:I just tried with administrator rights, but it doesn't work.You need to use a REGSAM value (e.g. KEY_ALL_ACCESS) to open the key with write access: /////////////////// test.d /////////////////// import std.windows.registry; void main() { auto regKey = Registry.currentUser() .getKey("Software") .getKey("Microsoft") .getKey("Windows") .getKey("CurrentVersion") .getKey("Run", REGSAM.KEY_ALL_ACCESS); regKey.setValue("Calculator", "calc.exe"); } //////////////////////////////////////////////
Aug 29 2015