[Suche] Taskmanager Anwendungen anzeigen
#21
0
In solchen Fällen ist das Timing wahrscheinlich nicht ganz Sauber. Aber für den Normalfall, abgesehen vom testen, sollte es jetzt so funktionieren.
Habe gestern Abend auch noch mal ein bisschen über PCem gespielt, mit dem Prozesscheck im Hintergrund, ging ohne Probleme.

Was ich jedoch festgestellt habe ist, dass PCem geschlossen wird, sobald man im Fenstermodus Optionen über das Dropdown Menü einstellen will. Werde ich mir heute Abend noch einmal in ruhe angucken, das Verhalten bekommt man auch noch weg.

Edit:

Habe mir gerade mal ein Stündchen Zeit genommen und das ganze wesentlich verfeinert:

Code:
$Result = Get-Process |
Select-Object -Property processname, mainwindowhandle, id|
Where-Object -FilterScript {
  $_.ProcessName -eq 'PCem'
}
While ($Result)
{
  $Result = Get-Process |
  Select-Object -Property processname, mainwindowhandle, id |
  Where-Object -FilterScript {
    $_.ProcessName -eq 'PCem'
  }                    
  foreach($obj in $Result)
  {
    if($obj.MainWindowHandle -eq 0)
    {
      Stop-Process -Id $obj.id -Force
    }
  }
}

Konnte nun auf meinem System keine Probleme mehr feststellen, es wird nur nach den wirklichen "PcEM" Prozessen gesucht, nicht mehr über ein "-like *PcEM*"
Zusätzlich hab ich noch die Eigenschaft "mainwindowhandle" gefunden, bei geschlossener Anwendung wird die Handle ID auf 0 gesetzt. Dies wird nun überprüft, und scheint besser zu arbeiten als die Suche nach einem leeren "mainwindowtitle".

Hier noch die Batch mit der ich jetzt starte, Timeout wird benötigt um die Anwendung zu initialisieren, dauert bei mir circa 2 Sekunden, also von System zu System unterschiedlich.

Code:
start d:\\Working\\PCEM\\pcem.exe --config "D:\\Working\\PCEM\\configs\\Win98SELite.cfg"
TIMEOUT /T 3 /NOBREAK
D:\\Users\\karschro\\Desktop\\CheckPCEM.exe

Passe den Code jetzt auch in den anderen Beiträgen an, und entferne die alten EXE Dateien.


Angehängte Dateien
.exe   CheckPCEM.exe (Größe: 277 KB / Downloads: 2)
[Bild: banner_cool3zhjth.jpg]
Zitieren
#22
0
Hi,

Danke Andi und D2001.

:weiter
start /D %CD% pcem.exe --config .\\configs\\dos622.cfg
timeout /T 3 /NOBREAK >nul
powershell -WindowStyle Hidden -Executionpolicy Bypass -command ".'%CD%\\prog\\close.ps1'"
:end

Hiermit starte ich PCem und das PowerShell Script (close.ps1) funktioniert jetzt prima.
Problem war die Timeout Zeile und das ! vor close.ps1.

Wenn ich die ALT-Taste und die TAB-Taste drücke, kann ich doch die geöffneten Programme sehen und wechseln.
Warum geht das nicht einfach über die Kommandozeile?
Zitieren
#23
0
D2001 schrieb:Habe mir gerade mal ein Stündchen Zeit genommen und das ganze wesentlich verfeinert: [...]
Danke dafür, D2001. Funktioniert jetzt tatsächlich prima! Smile
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste