Programm stürzt ab? HILFE

  • Allgemein

Es gibt 21 Antworten in diesem Thema. Der letzte Beitrag () ist von FloFuchs.

    Programm stürzt ab? HILFE

    Hey,
    ich habe ein Programm geschrieben, was den PC sperrt und sich nur über einen richtigen Code entsperren lässt.
    Alles schön und gut. Ich unterdrücke den Taskmanager und möchte dies auch für den Explorer machen.
    Taskmanager unterdrücken klappt problemlos, jedoch wenn ich den Explorer unterdrücke crasht das Programm bei jedem 2. start.
    Auskommentieren brachte heraus das es genau dieser Punkt ist der es zum Crashen bringt.

    VB.NET-Quellcode

    1. Name = "explorer.exe"
    2. For Each explorer In Process.GetProcessesByName("explorer")
    3. explorer.Kill()
    4. Next


    Danke für jede Hilfe :D
    Hey,

    du weißt der Stringvariable einen Wert zu. Dieser Wert entspricht dem Namen des Prozessen den du "killen" willst.
    Warum verwendest du den dann nicht?
    Like this:

    VB.NET-Quellcode

    1. Dim Name As String = "explorer.exe"
    2. For Each explorer In Process.GetProcessesByName(Name)
    3. explorer.Kill()
    4. Next


    Grüßle Marco
    dann müsste das programm ja auch wegen dem taskmanager abschmieren, was es aber nicht macht.

    der code ist fast gleich

    VB.NET-Quellcode

    1. Name = "taskmgr.exe"
    2. For Each taskmgr In Process.GetProcessesByName("taskmgr")
    3. taskmgr.Kill()
    4. Next


    Naja ich probier deinen code mal und sag schonmal danke :)

    EDIT:
    Es kommt nun ein anderes problem

    VB.NET-Quellcode

    1. Name = "taskmgr.exe"
    2. Dim Name As String = "taskmgr.exe"
    3. For Each explorer In Process.GetProcessesByName(Name)
    4. taskmgr.Kill()
    5. Next
    6. Dim Name As String = "explorer.exe"
    7. For Each explorer In Process.GetProcessesByName(Name)
    8. explorer.Kill()
    9. Next

    Ich kann ja nicht 2mal das gleiche definieren

    EDIT2:
    Denkfehler. Ich mach einfach Name2 anstatt Name -.-"
    @MarcoIT: Das .exe-Anhängsel ist da aber immer noch deplatziert.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    Immernoch ein Problem:

    VB.NET-Quellcode

    1. Dim Name2 As String = "taskmgr"
    2. For Each taskmgr In Process.GetProcessesByName(Name2)
    3. taskmgr.Kill()
    4. Next
    5. Dim Name As String = "explorer"
    6. For Each taskmgr In Process.GetProcessesByName(Name)
    7. explorer.Kill()
    8. Next


    der beschwert sich das explorer bei explorer.Kill() nicht deklariert wurde
    Du kannst die Variable mehrfach benutzen:

    VB.NET-Quellcode

    1. Dim Name As String
    2. Name = "taskmgr"
    3. For Each taskmgr In Process.GetProcessesByName(Name)
    4. taskmgr.Kill()
    5. Next
    6. Name = "explorer"
    7. For Each taskmgr In Process.GetProcessesByName(Name)
    8. explorer.Kill()
    9. Next

    Der Explorer ist auch da, wenn Du kein Icon davon siehst, die Taskleiste ist z.B. ein Explorer.
    Irgendwann weint natürlich das System, wenn Du ihm die Grundlagen entziehst.
    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!
    Auch hier habe ich das Problem das er Explorer als nicht deklariert ansieht.

    Ich habe den ganzen Code in einen Timer rein gepackt.
    Ohne Taskmanager und Explorer sollte es doch nicht möglich sein den entsprechenden explorer task zu starten oder?
    Wenn ja dann werde ich es in die load packen

    Fehler:

    VB.NET-Quellcode

    1. Fehler 1 "explorer" wurde nicht deklariert. Auf das Objekt kann aufgrund seiner Schutzstufe möglicherweise nicht zugegriffen werden. E:\Programmierung\Programmierte Programme\sperre\SperrBildschirm No. 1\SperrBildschirm No. 1\Form1.vb 173 13 SperrBildschirm No. 1
    Es steht doch da, du hast die Variable "explorer" nich deklariert!

    VB.NET-Quellcode

    1. For Each taskmgr In Process.GetProcessesByName(Name)
    2. explorer.Kill()
    3. Next


    wieso auf einmal explorer.kill?

    wieso nich

    VB.NET-Quellcode

    1. dim name as string="taskmgr"
    2. for each tralala as process in Process.GetProcessesByName(Name)
    3. tralala.kill
    4. next
    5. name="explorer"
    6. for each tralala as process in Process.GetProcessesByName(Name)
    7. tralala.kill
    8. next


    aber wie Rod gesagt hat, wenn du den explorer killst wirst du dann un wann ein Problem kriegen mach ma alles zu un starte ma den Taskmanager un such ma nach dem explorer-prozess
    @Firestorm:
    Das war ein unbeabsichtigter Copy-&-Paste-Fehler.
    Du darfst ihn behalten. :thumbsup:
    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!
    Ja hast du Dir die Sache mim Explorer mal angesehen?

    HTML-Quellcode

    1. http://www.neuber.com/taskmanager/deutsch/prozess/explorer.exe.html

    weiß nich ob das uU ein Problem gibt?

    @ Firestorm
    schon klar, deshalb ja tralala :D
    btw... so könntest du es in ne procedure auslagern ;)