Registry Eintrag Checken, Datei im Programm Pfad ablegen und Appdata Verzeichnis löschen.

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Vultrax.

    Registry Eintrag Checken, Datei im Programm Pfad ablegen und Appdata Verzeichnis löschen.

    Hallo

    Ich möchte gerne Wissen wie man bei Programmstart (Form_Load) überprüft ob ein Registry Eintrag, der vom Programm erstellt worden ist existiert.
    Ich habe ein Label was "??_??" heißt, und es soll durch einen Registry Eintrag seinen Text bekommen, das funktioniert auch, wenn der Registry Eintrag vorhanden ist, aber wenn er nicht vorhanden ist, verschwindet der Text des Labels und ist nicht mehr "??_??", wenn der Eintrag nicht vorhanden ist.
    (Wie funktioniert es, wenn der Eintrag bereits vorhanden ist, sich ein Enable = false Button auf Enable = true zu stellen?)

    Zu meiner zweiten Frage:
    Ich habe eine Datei in meinen Ressourcen die ich Entpacken möchte, genau in das Verzeichnis, indem sich mein Programm befindet.
    Bislang habe ich es nur geschafft nach Pfadangabe meine Datei aus meinen Programm zu entpacken.

    Und zuletzt zu meiner dritten Frage:
    Ich möchte gerne ein Ordner aus der Appdata löschen, aber das Problem ist der Benutzername des Benutzers der es nicht erlaubt ein einfache Pfad Angabe zu machen.
    Ich habe bereits in der Registry geschaut, aber ich finde kein Eintrag für den Benutzername.

    Ich hoffe ihr könnt mir weiterhelfen :)
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford
    Das Auslesen der Registry funktioniert etwa so wie bei einem INI-File.
    Du musst der Funktion sagen, was sie zurückgeben soll, wenn der Eintrag nicht da ist.
    Oder Du enumerierst die Einträge und checkst, ob Deiner überhaupt da ist.
    ---
    Pfad des Programms:

    VB.NET-Quellcode

    1. Dim path = Application.StartupPath
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    RodFromGermany schrieb:

    Dim path = Application.StartupPath
    Wenn ich die Datei jetzt entpacken möchte, steht da:

    C:\Users\Windows\Documents\Visual Studio 2012\Projects\Programm\Programm\bin\Debug' is denied. (Ich habe es auch schon auf dem Desktop versucht.)
    Administratorrechte hat das Programm.

    Mein Code:

    VB.NET-Quellcode

    1. Dim result = MessageBox.Show("Text", "Entpacken", Windows.Forms.MessageBoxButtons.OKCancel, Windows.Forms.MessageBoxIcon.Warning)

    VB.NET-Quellcode

    1. If result = Windows.Forms.DialogResult.Cancel Then ElseIf result = Windows.Forms.DialogResult.OK Then Dim Res() As Byte = My.Resources.Text.txt

    VB.NET-Quellcode

    1. IO.File.WriteAllBytes(Application.StartupPath, Res) End If
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Vultrax“ ()

    Vultrax schrieb:

    C:\Users\Windows\Documents\Visual Studio 2012\Projects\Programm\Programm\bin\Debug
    Dieser Pfad ist ein (temorärer) Entwicklungspfad, er ist nur so lange aktuell, bis Du Dein Projekt unter einem "sinnvollen" Pfad gespeichert hast, was ich Dir dringend empfehle.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich habe das Problem mit dem Entpacken anderes gelöst.
    Ich habe vergessen die Datei anzugeben.


    Dim Res() As Byte = My.Resources.text
    IO.File.WriteAllBytes(Application.StartupPath & "\text.txt", Res)
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford