Aktive Prozesse als *.txt-Datei abspeichern

  • VB.NET

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

    Aktive Prozesse als *.txt-Datei abspeichern

    Hallo leute !:D (Wochenende :D)
    ich bin neu hier und hoffe ihr könnt mir weiterhelfen,
    ich möchte gerne wissen wie man die aktuellen Prozesse unter Windows
    in einer Textdatei abspeichern kann. Eigentlich könnte ich das mit dem savedialog^^
    aber ich weiß nicht wie man an die prozesse so herann kommt, dass man diese
    listenweise als textdatei abspeichern kann zB.:
    ----------------
    explorer
    calc
    avguard
    ----------------
    usw...
    würde mich sehr über Hilfe freuen, binn auch seit einer Zeit am versuchen aber ich bekomms nicht hinn
    danke:whistling:
    Also ich habe mir Prozesse mit wie hier [VB 2008] Task aus Taskmanager auslesen ausgelese, per items.add in ne Listbox oder ein listview oder Datagridview gespeichert, und dan mit streamwriter in eine Textdatei gespeichert. Wahlweise läßt sich der Teil mit den Boxen und Listview übergehen wenn du das ganze in zB. tmpstr() oder tmpstr jeweils as string zwischenspeicherts. welche der beiden Möglichkeiten kann ich leider nicht gerade sagen. Ich hofe das das weiterhelfen konnte.

    VB.NET-Quellcode

    1. file.create(application.startuppath & "/einedatei.txt").dispose() 'Datei erstellen und freigeben
    2. Dim sw as new streamwriter(application.startuppath & "/einedatei.txt")'Streamwriter auf die Datei anlegen
    3. For Each p As Process In Process.GetProcesses 'Jeden Prozess durchgehen
    4. If p.MainWindowTitle IsNot Nothing AndAlso p.MainWindowTitle <> String.Empty Then
    5. sw.writeline(p.MainWindowTitle) ' Wenn der Fenstertitel nicht Nothing ist, dann in die Datei eine neue Zeile mit dem Titel schreiben
    6. End If
    7. Next


    Aus dem Link bon hECTOR chan angepasst.
    Viele Grüße
    Sebastian
    Erst mal speichert der obenstehende Code den Fenstertitel ab, nicht den Prozessnamen.
    Der Grund, warum du in der Datei nichts siehst, wird sein, dass sie immer noch geöffnet ist.
    Mit sw.Dispose() sollte das gelöst sein. Oder du schreibst es direkt so:

    VB.NET-Quellcode

    1. ' File.Create ist unnötig, da der StreamWriter ggf. sowieso die Datei erstellt
    2. Using sw As New StreamWriter(Path.Combine(Application.StartupPath, "einedatei.txt"))
    3. For Each p As Process In Process.GetProcesses()
    4. sw.WriteLine(p.Name)
    5. Next
    6. End Using


    // Edit: :/

    haiyyu schrieb:

    Erst mal speichert der obenstehende Code den Fenstertitel ab, nicht den Prozessnamen.
    Der Grund, warum du in der Datei nichts siehst, wird sein, dass sie immer noch geöffnet ist.
    Mit sw.Dispose() sollte das gelöst sein. Oder du schreibst es direkt so:

    VB.NET-Quellcode

    1. ' File.Create ist unnötig, da der StreamWriter ggf. sowieso die Datei erstellt
    2. Using sw As New StreamWriter(Path.Combine(Application.StartupPath, "einedatei.txt"))
    3. For Each p As Process In Process.GetProcesses()
    4. sw.WriteLine(p.Name)
    5. Next
    6. End Using


    // Edit: :/

    danke habe es zwar schon anders hinbekommen aber trotzdem danke!