stinson300
Goto Top

SSD-Optimierung Was mach ich hier falsch?

Hallo miteinander

Ich habe ein Problem, wenn ich mein Programm starte bekomme ich immer eine Fehlermeldung und ich weiss nicht was ich falsch gemacht habe!

Hier der Code:
Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        'Defragmentierung ausschalten  
        Dim regKey As Microsoft.Win32.RegistryKey
        regKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Services\defragsvc", True)  
        regKey.SetValue("Start", 4)  
        regKey.Close()

        'Indexierung ausschalten  
        regKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Services\WSearch", True)  
        regKey.SetValue("Start", 4)  
        regKey.Close()

        'SuperFetch ausschalten  
        regKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Services\SysMain", True)  
        regKey.SetValue("Start", 4)  
        regKey.Close()

        'PreFetch ausschalten  
        regKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters", True)  
        regKey.SetValue("EnablePrefetcher", 0)  
        regKey.SetValue("EnableSuperfetch", 0)  
        regKey.Close()

        'Boot-Time Defragmentierung deaktivieren  
        regKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction", True)  
        regKey.SetValue("Enable", "N")  
        regKey.Close()


        'Ruhezustand ausschalten  
        Shell("powercfg -H off")  

        Box.Text = "Bitte neu starten"  

    End Sub
End Class
und hier die Fehlermeldung:
System.NullReferenceException
Sie tritt bei dieser Zeile auf : regKey.SetValue("Enable", "N")

Was mach ich falsch.


Danke im Voraus!

Freundliche Grüsse

Stinson

Content-Key: 208334

Url: https://administrator.de/contentid/208334

Printed on: April 25, 2024 at 23:04 o'clock

Member: LordXearo
LordXearo Jun 20, 2013 updated at 07:08:11 (UTC)
Goto Top
Hallo,

könnte es sein das der Pfad

regKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction", True)

nicht stimmt oder nicht vorhanden ist?

Gruß

Xearo

Edit: Also bei mir unter Windows 8 gibt es dort den Key "Enable" nicht.
Member: stinson300
stinson300 Jun 20, 2013 at 07:27:35 (UTC)
Goto Top
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction]
"OptimizeError"=""
"LcnStartLocation"="0"
"LcnEndLocation"="485901"
"OptimizeComplete"="Yes"
"Enable"="Y"

Habe gerade aus Registry exportiert.
Member: stinson300
stinson300 Jun 20, 2013 at 07:28:33 (UTC)
Goto Top
Zitat von @stinson300:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction]
"OptimizeError"=""
"LcnStartLocation"="0"
"LcnEndLocation"="485901"
"OptimizeComplete"="Yes"
"Enable"="Y"

Habe gerade aus Registry exportiert.

Auch mit dem OptimizeComplete funktioniert es nicht
Member: LordXearo
LordXearo Jun 20, 2013 updated at 07:54:18 (UTC)
Goto Top
Okay. Wird das Programm mit Adminrechten ausgeführt? Naja müsste wohl...sonst würde er bei den anderen Keys wohl auch Probleme geben. Mehr fällt mir momentan nicht ein.

Edit: Ich seh gerade, das einzige was bei dem Key anders ist, das Zeichen welches du setzen möchtest. Lass mal die "" weg oder probiers mit ' ' .
Member: stinson300
stinson300 Jun 20, 2013 at 07:56:39 (UTC)
Goto Top
Dannn erwartet er einen Ausdruck
Member: AndreasHoster
AndreasHoster Jun 20, 2013 at 08:19:07 (UTC)
Goto Top
Ich rate mal:
Windows 8 64bit
VB Programm 32 bit

=> 32bit Programme können nicht auf die 64bit Zweige zugreifen.
Ein 32bit Programm sieht den HKLM\Software\WOW6432Node als HKLM\Software

Kann man einfach feststellen,w enn man mal den regedit aus c:\windows\syswow64 startet, der ist nämlich 32bittig und sieht es dann auch entsprechend.
Member: kontext
kontext Jun 20, 2013, updated at May 19, 2016 at 07:54:05 (UTC)
Goto Top
Hallo Stinson,

kurze Frage - warum willst du die SSD optimieren?
Klonst du ein System von einer HDD auf eine SSD?

Wenn du das System auf die SSD installierst, übernimmt Windows automatisch die Optimierungen.
Zumindest bei aktuellen Systemen (Windows 7, Windows 8) ...

Gruß
@kontext
Member: stinson300
stinson300 Jun 20, 2013 at 08:51:36 (UTC)
Goto Top
Ja wir klonen die HD aber wir brauchen es auch für unsere Preloads
Mitglied: 76109
76109 Jun 20, 2013 at 08:59:18 (UTC)
Goto Top
Hallo stinson300!

Steht Dir bei der 'Microsoft.Win32.Registry'-Funktion eine Typangabe zur Verfügung?

Mit 'DWORD' scheint es ja standardmäßig zu funktionieren, nur mit dem Typ 'REG_SZ' (String) offensichtlich nicht...

Gruß Dieter
Member: stinson300
stinson300 Jun 20, 2013 at 09:05:25 (UTC)
Goto Top
Nein ich weiss jetzt was das Problem ist.

Er ändert den Wert im WOW6432Node Ordner.

Wie kann ich ihn so konfigurieren das er ihn bei einer 64bit Maschine im normalen Ordner ändert?
Member: AndreasHoster
AndreasHoster Jun 20, 2013 at 10:00:58 (UTC)
Goto Top
Ich verweise auf mein Post von 10:19:
32bit Programme können nicht den 64bit Zweig ändern.

Dein VB Programm als 64bit kompilieren, dann sollte es gehen.
Member: kontext
kontext Jun 27, 2013, updated at May 19, 2016 at 07:53:59 (UTC)
Goto Top
Hi Stinson,

kommt da noch was, oder ist dein Problem gelöst?
Ein wenig Feedback wäre nett / angebracht und How can I mark a post as solved?

Gruß
@kontext
Member: stinson300
stinson300 Jun 27, 2013 at 08:50:50 (UTC)
Goto Top
Habe es jetzt umprogrammiert jetzt funktioniert es, danke viel mals

Gruss Stinson