| |
VB.NET - Ein- und UmsteigerWie 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 | |
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 | |
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 | |
| 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 |
|
|
TOP! Unser Nr. 1
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|
|
|
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
|
|