Hallo zusammen,
ich möchte in Powershell bei autom. PC-Anmeldung den Bildschirm "schwarz" machen und gleichzeitig weitere Befehle ausführen, anstelle abzuwarten.
Beide Forms werden im Beispielcode erst nach 5 Sek. beendet. Die 5 Sek. werden abgewartet, bis ich unten per rundll32.exe user32.dll,LockWorkStation (Beispiel) den PC sperre.
Ich muss auch zwei Forms bauen, weil mit WindowState = "Maximized" wird die Form nur auf dem primären Bildschirm als Vollbild angezeigt. Außerdem bleibt dabei die Taskleiste "sichtbar" und der ganze Bildschirm wird nicht "verdeckt"
Bei der Sperre baue ich noch eine Prüfung ein, die einen Tastendruck prüft um rauszugehen, und die Tastatureingabe sperrt (läuft bereits)
Gerne auch Alternativen, wie ich bei allen Bildschirmen ein "schwarzes Fenster" anzeigen lassen kann, welches auch die Taskleiste (Vordergrund) verdeckt.
Was muss ich anders machen?
ich möchte in Powershell bei autom. PC-Anmeldung den Bildschirm "schwarz" machen und gleichzeitig weitere Befehle ausführen, anstelle abzuwarten.
Beide Forms werden im Beispielcode erst nach 5 Sek. beendet. Die 5 Sek. werden abgewartet, bis ich unten per rundll32.exe user32.dll,LockWorkStation (Beispiel) den PC sperre.
Ich muss auch zwei Forms bauen, weil mit WindowState = "Maximized" wird die Form nur auf dem primären Bildschirm als Vollbild angezeigt. Außerdem bleibt dabei die Taskleiste "sichtbar" und der ganze Bildschirm wird nicht "verdeckt"
Bei der Sperre baue ich noch eine Prüfung ein, die einen Tastendruck prüft um rauszugehen, und die Tastatureingabe sperrt (läuft bereits)
Gerne auch Alternativen, wie ich bei allen Bildschirmen ein "schwarzes Fenster" anzeigen lassen kann, welches auch die Taskleiste (Vordergrund) verdeckt.
Was muss ich anders machen?
PowerShell:
Add-Type -AssemblyName System.Drawing
Add-Type -AssemblyName System.Windows.Forms
$form = New-Object System.Windows.Forms.Form
$form.Text = "Fenster1"
$form.Width = 15000
$form.Height = 15000
$form.BackColor = [System.Drawing.Color]::Black
$form.FormBorderStyle = [System.Windows.Forms.FormBorderStyle]::None
$form.StartPosition = [System.Windows.Forms.FormStartPosition]::CenterScreen
$form.TopMost = $true
$form.WindowState = "Maximized"
# Formular 2
$form2 = New-Object System.Windows.Forms.Form
$form2.Text = "Fenster2"
$form2.Width = 15000
$form2.Height = 15000
$form2.BackColor = [System.Drawing.Color]::black
$form2.FormBorderStyle = [System.Windows.Forms.FormBorderStyle]::None
$form2.StartPosition = [System.Windows.Forms.FormStartPosition]::CenterScreen
$form2.TopMost = $true
# Timer erstellen
$timer = New-Object System.Windows.Forms.Timer
$timer.Interval = 5000 # 5 Sekunden in Millisekunden
$timer.Add_Tick({
# Schließe beide Formulare nach 3 Sekunden
$form.Close()
$form2.Close()
$timer.Stop()
})
# Timer starten
$timer.Start()
# Formulare anzeigen
$form.Show()
$form2.Show()
#hier weiterer Befehl und mehr Prüfungen, z.B.
rundll32.exe user32.dll,LockWorkStation
Zuletzt bearbeitet: