vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Wie Taskleiste aktualisieren? 
Autor: Cheffboss
Datum: 03.05.21 17:34

Moin!
Ich versuche mit „Process.GetProcessesByName("Microsoft.Msn.Weather").CloseMainWindow“ eine App zu beenden.
In diesem Fall die Wetter-App von Windows 10.
Wenn ich aber die App beende, bleibt in der Taskleiste der Eintrag immer noch vorhanden, und erst auf klick, verschwindet er.
Die Kill variante möchte ich aber nicht verwenden!
Deshalb suche ich nun folgende Lösungen:
1. Taskleiste Aktualisieren…
2. Prüfen ob Prozess eine APP oder eine Desktopanwendung ist…
3. Vielleicht den Objektname auslesen…
Und dann prüfen ob der Objektname „C:\program files\windowsapps\“ enthält.
Falls „Ja“, dann muss es eine App sein.
Es geht darum, dass ich bestimmte Programme/Apps per Klick beenden kann.
Freue mich auf eure Hilfe!
BIG THX


https://i.ibb.co/3dT9fyH/bug1.jpg

 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles _
   Button1.Click
        ProzesseJetztBeenden("Microsoft.Msn.Weather", True)
    End Sub
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles _
      Button2.Click
        ProzesseJetztBeenden("Microsoft.Msn.Weather", False)
    End Sub
    Private Sub ProzesseJetztBeenden(wert As String, Vorgang As Boolean)
        Try
            For Each prozess In Process.GetProcessesByName(wert)
                If Vorgang Then
                    prozess.CloseMainWindow()   ' ICON bleibt, bis auf klick.
                    ' If Prozess eine App dann Kill
                    ' Oder, Taskleiste aktualsieren
                    ' Oder, Objektname auslesen...
                Else
                    prozess.Kill()              ' ICON geht weg.
                End If
            Next
        Catch
        End Try
    End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Wie Taskleiste aktualisieren? 
Autor: Cheffboss
Datum: 06.05.21 16:50

@an alle
Da ich leider keine andere Lösung gefunden habe.
Habe ich nun diese Lösung erarbeitet.
Ist die Funktion sauber, kann man diese verwenden?
Ich denke schon, falls jemand einen Fehler gefunden hat, oder eine andere Verbesserung hat, wäre ich sehr dankbar.
Wie findet ihr den Lösungsweg?

Hier der Code:
Private Function PrüfeObAppOrNot(pfad As String) As Boolean
        Dim zeilen() As String = pfad.Split("\")
        If zeilen(0) = "c:" And zeilen(1) = "program files" And zeilen(2) = _
          "windowsapps" Then
            If System.IO.File.Exists(pfad) Then Return True
        End If
        Return False
    End Function
 
    Private Sub Label1_Click(sender As Object, e As EventArgs) Handles _
      Label1.Click
 
        If PrüfeObAppOrNot(Me.lvProzesse.Items( _
          Me.lvProzesse.FocusedItem.Index).SubItems(2).Text) Then
            MsgBox("Ja, es ist eine APP!")
        Else
            MsgBox("Nein, das ist keine App!")
        End If
    End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Wie Taskleiste aktualisieren? 
Autor: Cheffboss
Datum: 07.05.21 18:58

@an alle
So ich habe diesen Code nun prüfen lassen und die Info bekommen das er seinen Dienst tut.
Nochmals Danke an alle, hier im Forum.
Diesen Code gebe ich frei, jeder darf diesen verwenden.
THX
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel