Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Settings auslesen - Windows 7 (Automatische Updates) (https://www.delphipraxis.net/171325-settings-auslesen-windows-7-automatische-updates.html)

Jonas Shinaniganz 31. Okt 2012 15:14

Settings auslesen - Windows 7 (Automatische Updates)
 
Hi. Ich würde gerne wissen, ob die Automatischen Updates auf einem W7-PC so gesetzt sind:

"Updates automatisch installieren"

Die anderen 3 Einstellungsmöglichkeiten sind Ay-Okay, Ich müsste nur wissen, ob speziell diese Einstellung gesetzt ist.

Hat jemand eine Idee? Grüße

nahpets 31. Okt 2012 16:33

AW: Settings auslesen - Windows 7 (Automatische Updates)
 
Hallo,

schau mal bitte hier: http://www.winfaq.de/faq_html/Conten...?h=tip1719.htm

Ansonsten noch in der Registry unter

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\WindowsUpdate\Auto Update

Dort der Wert AUOptions:
Wenn nicht vorhanden oder vorhanden und 0 => eingeschaltet.
Wenn vorhanden und 1 => ausgeschaltet.

Jonas Shinaniganz 31. Okt 2012 18:57

AW: Settings auslesen - Windows 7 (Automatische Updates)
 
Okay Ich dachte erst das der folgende Pfad ungültig ist:
HKEY_LOCAL_MACHINE\ Software\ Policies\ Microsoft\ Windows\ WindowsUpdate\ AU

Hab grade noch das hier gefunden:

http://support.microsoft.com/kb/328010#method3

Scheinbar muss Ich die Einträge erst soweit anlegen.

Danke erstmal. Falls jemand noch was dazu loswerden will, immer gerne.

zeras 31. Okt 2012 19:10

AW: Settings auslesen - Windows 7 (Automatische Updates)
 
Bei mir ist der Pfad da und das DWORD zeigt 4 an. Ich habe Windows 7 Prof. Bist du sicher, dass du den Pfad nicht hast? Irgendwelche Leerzeichen drin etc?


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\WindowsUpdate\Auto Update

Jonas Shinaniganz 31. Okt 2012 19:59

AW: Settings auslesen - Windows 7 (Automatische Updates)
 
Okay den Pfad, so wie er von dir kommt, den gibt es. Da stehen auch die erwarteten Werte.

Delphi-Quellcode:
var
  AUOptions : DWORD;
begin
  AUOptions := 0;

  Registry := TRegistry.Create;
  Registry.RootKey := HKEY_LOCAL_MACHINE;

  if Registry.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update', false) then
    Registry.WriteString('Test', 'Test');
//    AUOptions := Registry.ReadInteger('AUOptions');
  Registry.CloseKey;
ähh wo hat er mir das jetzt hingeschrieben? unter der Regedit.exe -> obiger pfad, ist "Test" nicht zu finden.

Auslesen von z.B. "AUOptions" klappt bei mir auch nicht, bekomme einen "Fehler beim holen der Daten"

nahpets 31. Okt 2012 21:29

AW: Settings auslesen - Windows 7 (Automatische Updates)
 
Es sind nicht immer zwingend alle Werte in der Registry vorhanden, fehlen sie, so werden Defaultwerte genommen. Es ist daher vollkommen korrekt, wenn zuweilen Fehler auftreten.

Am Besten schaust Du bei WinFAQ nach, dort habe ich bisher immer Hilfe gefunden, dort kannst Du in der Regel auch nachlesen, ob ein Defaultwert genutzt wird, wenn ein Wert in der Registry fehlt. Unterschiedliche Positionen/Zweige für identisches Verhalten zwischen Windowsversionen kannst Du dort in der Regel auch erfahren.

Im Zweifelsfalle lege ich mir die Defaultwerte in der Registry an, was ja zu keiner Veränderung im Verhalten von Windows führt. Die Arbeit wird dadurch aber übersichtlicher.

Einige Werte scheint es unter verschiedenen Schlüsseln zu geben, wie hier die Vorrangregelung seitens Windows ist, weiß ich nicht.

Der Wert für AUOptions ist normalerweise nicht da, was bedeutet, dass die automatischen Updates aktiv sind. Der Wert wird von Windows erst in der Registry angelegt, wenn man die automatischen Updates deaktiviert. Die Fehlermeldung, die Du bekommst, läßt daher darauf schließen, dass an diesem System die automatischen Updates eingeschaltet sind.

sx2008 31. Okt 2012 21:31

AW: Settings auslesen - Windows 7 (Automatische Updates)
 
Zitat:

Zitat von Jonas Shinaniganz (Beitrag 1189266)
ähh wo hat er mir das jetzt hingeschrieben? unter der Regedit.exe -> obiger pfad, ist "Test" nicht zu finden.

Unter Windows 7 hast du per default keine Schreibrechte in HKEY_LOCAL_MACHINE.

Zitat:

Zitat von Jonas Shinaniganz (Beitrag 1189266)
Auslesen von z.B. "AUOptions" klappt bei mir auch nicht, bekomme einen "Fehler beim holen der Daten"

Beim Lesen aus HKEY_LOCAL_MACHINE sollte man schon beim Öffnen klarstellen dass man nur lesen möchte:
Delphi-Quellcode:
Registry := TRegistry.Create(KEY_READ); // <== nur zum Lesen öffnen
Registry.RootKey := HKEY_LOCAL_MACHINE;
Andernfalls könnte das Betriebssystem den Zugriff verweigern.
Wenn man nur lesen möchte kann man auch die Funktion OpenKeyReadOnly() verwenden.

Jonas Shinaniganz 1. Nov 2012 10:10

AW: Settings auslesen - Windows 7 (Automatische Updates)
 
Liste der Anhänge anzeigen (Anzahl: 1)
So.. hiermit sollte es jetzt funktionieren... OpenKeyReadOnly gibt true zurück, in der nächsten Zeile bekomme ich die "Fehler beim holen der Daten Meldung", ich habe Admin Rechte und habe das Tool auch entsprechend Rechtsklick -> Mit Admin Rechten, ausgeführt.

Delphi-Quellcode:
var
  regist : TRegistry;
begin
  regist := TRegistry.Create(KEY_READ);
  try
    regist.RootKey:= HKEY_LOCAL_MACHINE;

    if regist.OpenKeyReadOnly('SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update') then
      ShowMessage(IntToStr(regist.ReadInteger('AUOptions')));

    regist.CloseKey;
  finally

    regist.Free;
  end;
end;
Die Einträge gibts in der Registry wirklich, habs mal angefügt.

Danke für die Tipps... hat bisher leider nicht geholfen. Grüße

DeddyH 1. Nov 2012 10:22

AW: Settings auslesen - Windows 7 (Automatische Updates)
 
Hier unter Vista Business 32 Bit und Delphi XE funktioniert der Code.

Jonas Shinaniganz 1. Nov 2012 10:49

AW: Settings auslesen - Windows 7 (Automatische Updates)
 
Cool...

Naja jedenfalls wird mir hier irgendwas vorgegaukelt.

Weiter oben habe Ich mich ja schon gefragt: "Wo schreibt er das jetzt hin?"

Ich habe jetzt unter:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\ Windows\CurrentVersion\WindowsUpdate\Auto Update

meinen Eintrag gefunden...

Jedenfalls findet ein Mapping statt.

Wenn Ich 'SOFTWARE\Microsoft\Windows\CurrentVersion\Windows Update\Auto Update' angebe lande ich bei
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\ Windows\CurrentVersion\WindowsUpdate\Auto Update

Ich will aber wirklich zu 'SOFTWARE\Microsoft\Windows\CurrentVersion\Windows Update\Auto Update'

...

habe auch schon einen Thread gefunden: http://www.delphipraxis.net/86651-re...w6432node.html

danke erstmal


(der nette Herr hat glücklicherweise einen Monolog veröffentlicht)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz