enrixk
Goto Top

Mit Powershell prüfen, ob GUI zum Prozess geöffnet ist

Hallo Powershell-Profis,

ich lasse mit dem folgenden Skript das Programm letsview starten. Das funktioniert in 80% der Fälle problemlos. In 20% der Fall startet zwar der Prozess letsview.exe, allerdings ohne, dass sich das GUI öffnet. Die Anwender wissen dann nicht mehr weiter.

Gibt es in Powershell eine Möglichkeit zu prüfen, ob sich die GUI zu dem Prozess geöffnet hat?
class LetsviewSetup{
	[string] $remote
		
	LetsviewSetup(){
		$this.remote="I:\Remote.v2\AppData\LetsView"  
		
		if(Get-Process -Name letsview -EA SilentlyContinue){
			Get-Process letsview* | Stop-Process
		}
	
		If(test-path -Path $this.remote){
	  		Remove-Item -Path $this.remote -Force -Recurse
		}	
	}
	
	[void] startLetsview(){
		Start-Process  -FilePath "C:\Program Files (x86)\LetsView\LetsView\letsview.exe"   
	}
	
	[void] endLetsview(){
		while(Get-Process -Name letsview -EA SilentlyContinue){
			#hier passiert gar nichts.
		}
		Remove-Item -Path $this.remote -Force -Recurse

	}
}
$start= [LetsviewSetup]::new()
$start.startLetsview()
$start.endLetsview()

Danke

Content-ID: 2837738433

Url: https://administrator.de/contentid/2837738433

Ausgedruckt am: 04.11.2024 um 22:11 Uhr

Tezzla
Lösung Tezzla 19.05.2022 um 09:50:03 Uhr
Goto Top
Moin,

Get-Process | Where-Object {$_.MainWindowTitle -ne ""}  

liefert dir alle geöffneten Fenstertitel zurück. Grenze das auf dein gewünschtes Fenster ein und prüfe, ob der Eintrag existiert. Danach kannst du dann noch automatisch die EXE abschießen und neustarten, falls gewünscht.

VG
colinardo
Lösung colinardo 19.05.2022 aktualisiert um 09:52:09 Uhr
Goto Top
if ((Get-Process letsview).MainWindowHandle -ne 0){
   # main window handle
}else{
   # no main window handle
}
Grüße Uwe
MrCount
Lösung MrCount 19.05.2022 um 09:51:36 Uhr
Goto Top
Servus,

versuche es mal hiermit
Get-Process |where {$_.mainWindowTItle -like "*DEIN_FENSTER-TITEL*"} |format-table id,name,mainwindowtitle –AutoSize  
Enrixk
Lösung Enrixk 19.05.2022 um 15:40:08 Uhr
Goto Top
Ihr habt mir prima geholfen!