Powershell Script - Grafische Oberfläche um Anwendungen zu starten
Hallo zusammen,
ich bin auf der Suche nach einem Powershell Script welches mir eine Grafische Oberfläche anzeigt.
Bis hier hin kein Problem. Hier habe ich einige Anleitungen gefunden. Beispiel Script
Jedoch möchte ich aus dem ps Script diverse Anwendungen starten können.
Ich möchte quasi eine Icon der Anwendung sehen und nach einem klick darauf startet die Anwendung.
Als Beispiel nehmen wir mal die calc.exe und firefox.exe
Weiß zufällig jemand wie das funktioniert?
Vielen Dank für eure Hilfe.
ich bin auf der Suche nach einem Powershell Script welches mir eine Grafische Oberfläche anzeigt.
Bis hier hin kein Problem. Hier habe ich einige Anleitungen gefunden. Beispiel Script
Jedoch möchte ich aus dem ps Script diverse Anwendungen starten können.
Ich möchte quasi eine Icon der Anwendung sehen und nach einem klick darauf startet die Anwendung.
Als Beispiel nehmen wir mal die calc.exe und firefox.exe
Weiß zufällig jemand wie das funktioniert?
Vielen Dank für eure Hilfe.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1216696996
Url: https://administrator.de/contentid/1216696996
Ausgedruckt am: 21.11.2024 um 18:11 Uhr
6 Kommentare
Neuester Kommentar
moin,
Uwe sein Leitfaden kann sicher Interessant sein:
Powershell Leitfaden für Anfänger
Das verlinkte Buch enthält sicher auch etwas GUI Zeugs.
Das Buch von Tobias Weltner Powershell 5 ab Seite 1019 --> Gestalten von Benutzeroberflächen
Du könntest auf poshgui.com für 1 Woche GUIs zusammen bauen und im Quelltext anschauen wie die Elemente eingesetzt werden.
vg
Uwe sein Leitfaden kann sicher Interessant sein:
Powershell Leitfaden für Anfänger
Das verlinkte Buch enthält sicher auch etwas GUI Zeugs.
Das Buch von Tobias Weltner Powershell 5 ab Seite 1019 --> Gestalten von Benutzeroberflächen
Du könntest auf poshgui.com für 1 Woche GUIs zusammen bauen und im Quelltext anschauen wie die Elemente eingesetzt werden.
vg
Der Dativ ist - immer noch - dem Genitiv sein Tod.
Serus @joe2017,
könntest du als ganz einfaches Beispiel so machen:
Sieht dann in dem Fall so aus (Doppelklick auf die Icons führt die jeweilige Anwendung dann aus)
Das war jetzt eine ganz einfache Möglichkeit mittels einer ListView und Windows Forms, mit WPF lässt sich auch noch mehr realisieren.
Grüße Uwe
könntest du als ganz einfaches Beispiel so machen:
# hide powershell console
Add-Type –MemberDefinition '[DllImport("user32.dll")]public static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);' -name Window -namespace W32
[void][W32.Window]::ShowWindow((Get-Process -id $pid).MainWindowHandle, 0)
# function that generates the form
function GenerateAppStarter {
param(
[parameter(mandatory=$true)][hashtable]$apps
)
# Load Assembly
Add-Type -A System.Windows.Forms
# Form object
$form1 = New-Object System.Windows.Forms.Form -Property @{
ClientSize = '400,300'
Text = "App-Starter"
}
# list view object
$lv = New-Object System.Windows.Forms.ListView -Property @{
MultiSelect= $false
Dock = 5
View = 'LargeIcon'
# double click event starts associated application
add_DoubleClick = {
$lv.SelectedItems | %{start $_.Name}
}
}
# add imagelist
$imagelist = New-Object System.Windows.Forms.ImageList
# add icons of apps to imagelist and add apps to listview
$apps.GetEnumerator() | %{$cnt=0}{
if (Test-Path $_.Value){
$imagelist.Images.Add([System.Drawing.Icon]::ExtractAssociatedIcon($_.Value))
[void]$lv.Items.Add($_.Value,$_.Key,$cnt)
$cnt++
}else{
[System.Windows.Forms.MessageBox]::Show("App with path '$($_.Value)' does not exist!","Error",0,48)
}
}
# assign imagelist to listview
$lv.LargeImageList = $imagelist
# add listview to form
$form1.Controls.Add($lv)
# show form
[void]$form1.ShowDialog()
}
# Assign apps with path
$myapps = [ordered]@{
'Explorer' = 'C:\Windows\explorer.exe'
'Firefox' = 'C:\Program Files\Mozilla Firefox\firefox.exe'
}
# call form function with apps
GenerateAppStarter -apps $myapps
Das war jetzt eine ganz einfache Möglichkeit mittels einer ListView und Windows Forms, mit WPF lässt sich auch noch mehr realisieren.
Grüße Uwe
OT:
Nach kurzem Googeln, müsste es dann "Uwe seinem Leitfaden" heißen?
Ich war viel Kreide holen. ;)
Nach kurzem Googeln, müsste es dann "Uwe seinem Leitfaden" heißen?
Ich war viel Kreide holen. ;)
Knapp daneben