[.NET] Virsual Basic 2008 - Protzesse beenden!

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von d3v., 30. August 2009 .

Schlagworte:
  1. 30. August 2009
    Virsual Basic 2008 - Protzesse beenden!

    Hay,

    ich bin n totaler anfänger bei virsual basic, doch übe kräftig!
    Jez kam mir ne idee für ein programm! Undzwar ein Programm wo ich nen button drücke und es Prozesse schließt, die ich angebe!

    Hab soweit alles fertig, nur bei einigen prozessen bekomme ich nen fehler:

    Benutze folgenden Code

    For Each Process In System.Diagnostics.Process.GetProcessesByName("TUProgSt")
    Process.Kill()
    Next


    Allerdings kommt immer die Fehlermeldung

    mit der meldung:

    ine Ausnahme (erste Chance) des Typs "System.ComponentModel.Win32Exception" ist in System.dll aufgetreten.



    Der Fehler kommt allerdings nur bei einigen Dateien, wo der zugriff verweigert wird, wie umgeh ich das?
     
  2. 30. August 2009
    AW: Virsual Basic 2008 - Protzesse beenden!

    Entweder dein Prog als Administrator starten oder per Try den Fehler abfangen und ggf weiterverarbeiten.
     
  3. 30. August 2009
    AW: Virsual Basic 2008 - Protzesse beenden!

    Starte es die ganze Zeit als admin, und von "Try" weiß ich cnithmal was es ist
     
  4. 30. August 2009
    AW: Virsual Basic 2008 - Protzesse beenden!

    Das sind das evtl. Systemprozesse.
    btw: Google -> VB.net Try -> 2. erg: Visual Basic .NET programming for Beginners - Try ... Catch
     
  5. 30. August 2009
    AW: Virsual Basic 2008 - Protzesse beenden!

    Probier einfach mal



    Code:
    For Each Process In System.Diagnostics.Process.GetProcessesByName("TUProgSt")
    try
    Process.Kill()
    catch ex as exception
    MsgBox(ex.Message)
    Finally
    Next
    End try
    
    
    So sollts funktionieren

    des ex.Message, steht für deine Fehlermeldung wo auftritt, der try chatch block verhindert, dass dein Programm "abstürtzt", dein Finally wird immer ausgeführt auch wenn ein fehlerfall vorliegt , so solltest du alle prozesse killen können, die möglich sind

    mfg
    Edit: ist ungetestet, funktioniert das nicht, pack das finally einfach weg und mach unter dem end try das : next wieder
     
  6. 30. August 2009
    AW: Virsual Basic 2008 - Protzesse beenden!

    Habs versaucht...

    For Each Process In System.Diagnostics.Process.GetProcessesByName("TUProgSt")
    try
    Process.Kill()
    catch ex as exception
    MsgBox(ex.Message)
    Finally
    Next
    End try

    geht ohne fehlermeldung.... Allerdings bleibt der Prozess an -.-
     
  7. 30. August 2009
    AW: Virsual Basic 2008 - Protzesse beenden!

    Bist du dir sicher, dass du den Prozess beenden darfst?

    Vllt is es ein Systemprozess oder einer, der nach Beendung direkt wieder neu startet. Das könnte ggf eine Einstellung eines Dienstes sein.
    D.h. wenn du den Prozess beendest, dann wird er automatisch wieder gestartet. (sc.exe config)

    greez
     
  8. 30. August 2009
    AW: Virsual Basic 2008 - Protzesse beenden!

    Ja bin ich... gehört zu tune up und manuell kann ich ihn ebenfalls problemlos schließen!
    Nur die Automatiesierung will bei dem nicht klappen!
     
  9. 30. August 2009
    AW: Virsual Basic 2008 - Protzesse beenden!

    Versuch doch mal den Prozess so oft zu beenden, bis er wirklich geschlossen ist.

    Code:
    For Each proc In System.Diagnostics.Process.GetProcessesByName("TUProgSt")
     try
     Do
     proc.Kill()
     Loop Until proc.HasExited
     catch ex as exception
     MsgBox(ex.Message)
     Finally
     Next
     End try
    Kann nicht versprechen, dass das wirklich funzt

    greez
     
  10. 31. August 2009
    AW: Virsual Basic 2008 - Protzesse beenden!

    Leider immernoch zugriff verweigert...
     
  11. 31. August 2009
    AW: Virsual Basic 2008 - Protzesse beenden!

    benutz mal den normalen nicht .net weg über die apis ala OPENPROCESS mit PROCESS_TERMINATE.

    vorher brauchste aber SE_DEBUG privileges. das wird wohl auch der grund sein, warum es in .net scheitert.
     
  12. 1. September 2009
    AW: Virsual Basic 2008 - Protzesse beenden!

    Benutze kein .net... Ähm könntest du mir mal zeigen wie es dann aussehen würde?!
     
  13. 1. September 2009
    AW: Virsual Basic 2008 - Protzesse beenden!

    was benutzt du hier bitte sonst? klar ist das .net ...

    is zwar bcx, aber ist lesbar und enthält die teile die du brauchst: (man beachte ProcessSetPrivilege)
    http://www.bcxgurus.com/bcxusers/SmOkeN/BCX.Process.Snippets/Processes.bas

    nehm trotzdem mal an dass dir das immernoch nicht weiterhilft ...
     
  14. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.