Registry läst sich nicht in Windows 8 ändern ?

Für allgemeine Fragen zur Programmierung mit PureBasic.
3dhubiflieger
Beiträge: 123
Registriert: 27.10.2013 12:13

Registry läst sich nicht in Windows 8 ändern ?

Beitrag von 3dhubiflieger »

Hallo ich habe ein Problem mit dem Code für die Registry unten. Er funktioniert einwandfrei. Allerdings nicht in Windows 8 ! :angry: Das Problem scheint mit irgendwelchen Rechten zu tun zu haben ! Ich habe folgenden Link gefunden http://msdn.microsoft.com/en-us/library ... ol.aspx#Y0

Allerdings versteh ich das ganze nich ! Wie zum Henker bekomm ich die Procedure so hin das diese auch unter Windows 8 meine Einträge in die Registry schreibt ?? Vielleicht hat ja jemand mehr Ahnung ! :allright:

Code: Alles auswählen

Procedure.l SetValueEx(topKey.l, sKeyName.s, sValueName.s, lType.l, vValue.s) 
    lValue.l 
    sValue.s 
    Select lType 
        Case #REG_SZ 
            sValue = vValue 
            size.l = Len(sValue) 
            RegCreateKey_(topKey,sKeyName,@hKey) 
            SetValueEx = RegSetValueEx_(hKey, sValueName, 0, #REG_SZ, @sValue, size) 
        Case #REG_DWORD 
            lValue = Val(vValue) 
            SetValueEx = RegSetValueEx_(hKey, @sValueName, 0, #REG_DWORD, @lValue, 4) 
        EndSelect 
        ProcedureReturn SetValueEx 
EndProcedure 



setvalueex(#HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run","XBMC",#REG_SZ,"1")
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Registry läst sich nicht in Windows 8 ändern ?

Beitrag von RSBasic »

Welches Betriebssystem hast du zuvor verwendet?
Führst du deine Anwendung mit Administratorenrechten aus?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
3dhubiflieger
Beiträge: 123
Registriert: 27.10.2013 12:13

Re: Registry läst sich nicht in Windows 8 ändern ?

Beitrag von 3dhubiflieger »

Ich benutze normalerweise noch Windows XP. Ich will allerdings das mein Programm in allen Umgebungen läuft. Wie gesagt Windows Xp läuft einwandfrei. Und auch Windows 7 geht. Es liegt eindeutig an Windows 8. An den Adminrechten kann es nicht liegen. Das habe ich schon getestet. Man muss in Windows 8 irgendetwas aktivieren (siehe Link). Wie man das allerdings macht (Framework ?)...keine Ahnung.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Registry läst sich nicht in Windows 8 ändern ?

Beitrag von ts-soft »

Ich kann mir nicht vorstellen, das Du ein Programm erstellt hast, das im Kontext des Computers gestartet werden sollte,
eher wohl im Kontext des Benutzers, also #HKey_LOCAL_MACHINE ist schon mal der falsche Ort.
Ansonsten, den richtigen Schlüssel verwenden, die richtige Manifest und es funktioniert.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
3dhubiflieger
Beiträge: 123
Registriert: 27.10.2013 12:13

Re: Registry läst sich nicht in Windows 8 ändern ?

Beitrag von 3dhubiflieger »

Eben nicht !! Hier hat jemand das selbe Problem....

http://www.vbdotnetforums.com/vb-net-ge ... s-8-a.html

HKEY LOCAL MACHINE ....Allgemeinzugriff
HKEY CURRENT USER ....der Benutzer
....Aber daran liegt es nicht....Es ist ja auch egal welche Schlüssel ich nehme. In der Registry müsste ja so, oder so anschliessend was drin stehen.

Es liegt definitv an Windows 8. (siehe Link oben) Aber ich brauche die Prozedure um in Windows ein alternatives Shellprogramm einzutragen. Weitere Lösungsansätze ?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Registry läst sich nicht in Windows 8 ändern ?

Beitrag von ts-soft »

Hier mal funktionierende Registryfunktionen: http://www.purebasic.fr/english/viewtop ... 72#p422572
RegCreateKey ist für 16-Bit Programme geschaffen worden und war bisher nur noch aus Kompatibilitätsgründen
vorhanden, das dies nicht mehr unter Win 8 funktioniert, kann ich mir vorstellen :mrgreen:

Ansonsten solltest Du diese Einträge lieber durch ein prof. Setup-Programm erstellen lassen, ich denke mal, Dir
fehlt sowohl Erfahrung als auch Hintergrundwissen um so etwas sicher in ein Programm einzubauen.

Falls Du es doch selber machst, denk dran, die richtige Manifest in Deine Exe zu kompilieren. Bei LOKAL_MACHINE
sind in jedem Falle AdminRechte erforderlich, bei CURRENT_USER normalerweise nicht, weil dort gehört es auch hin.

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
TroaX
Beiträge: 720
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Linux Mint | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Linux Mint
Wohnort: NRW
Kontaktdaten:

Re: Registry läst sich nicht in Windows 8 ändern ?

Beitrag von TroaX »

Ich vermute der Grund dafür ist hier: http://uliarmbruster.wordpress.com/2012 ... wendungen/

Nagel mich nicht darauf fest. Aber wenn ich das richtig verstehe gibt es selbst mit Admin-Mode noch Einschränkungen.
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Linux Mint
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Linux Mint
NAS: N150 Mini-PC | 16 GB RAM | Debian 13+CasaOS
Coding: Purebasic, Spiderbasic, Gambas
Blog: https://techtroax.de
Repos: https://codeberg.org/TroaX
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Re: Registry läst sich nicht in Windows 8 ändern ?

Beitrag von Falko »

@3dhubiflieger

Also bei mir funktioniert es.
Es funktioniert nicht, wenn du einfach nur im Editor deinen Code mit Compile ausführst und
in der Registry nachschaust und feststellst, das dort nichts eingetragen wurde.

Du musst also erst im Editor unter dem Menü Compiler, dann Compiler-Optionen
bei der Einstellung "Administrator-Modus für Windows Vista anfordern" ein Häkchen setzen.
Dann sollte auch bei dir mit deinem Source, der aus der IDE dann compiliert wird, in der
Registry das stehen, was du angegeben hast.

So funktioniert bei mir dein Code korrekt. Ich selbst bevorzuge die Droopy-Lib, die überigens
das gleiche Problem hat, wenn man das Häkchen nicht gesetzt hat :)

MfG,
Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Registry läst sich nicht in Windows 8 ändern ?

Beitrag von ts-soft »

Die "alten" Codes, wie sie z.B. Droopy verwendet, fordern ja grundsätich #KEY_ALLACCESS oder wie das heißt an, dann
braucht man für jeden Pup natürlich Adminrechte.

Mein Module fordert immer nur die min. erforderlichen Rechte an, was natürlich für #HKEY_LOCAL_MACHINE immer noch
Adminrechte erfordert, aber bei #HKEY_CURRENT_USER aber nicht. Normale Anwendungen schreiben eigentlich niemals
nach #HKEY_LOCAL_MACHINE; es sei denn, man nutzt Win9x :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Re: Registry läst sich nicht in Windows 8 ändern ?

Beitrag von Falko »

So alt ist der Code nicht, wenn du nur die Version 5.20 meinst.
Und was man dort einsetzt hat doch nichts mit dem Code zu tun.
Oben stand "#HKEY_LOCAL_MACHINE" und danach bin ich gegangen :mrgreen:

Gruß,
Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Antworten