{"id":75,"date":"2025-07-21T20:03:50","date_gmt":"2025-07-21T18:03:50","guid":{"rendered":"https:\/\/wiki.hamsti.pm\/?p=75"},"modified":"2026-02-28T22:04:41","modified_gmt":"2026-02-28T21:04:41","slug":"%e2%9a%a1shortcut-per-klick-automatisiert-mit-batch","status":"publish","type":"post","link":"https:\/\/wiki.hamsti.pm\/?p=75","title":{"rendered":"\u26a1Shortcut per Klick \u2013 automatisiert mit Batch"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\">Mit diesem Shortcut Programm kannst du mehrere Programme und auch Webseiten gleichzeitig mit nur einem Klick starten. Im Hintergrund l\u00e4uft eine Batch-Datei, die alle gew\u00fcnschten Anwendungen automatisch nacheinander \u00f6ffnet. Ideal f\u00fcr den schnellen Start deiner t\u00e4glichen Tools.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd27 <strong>Funktionen<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In erster Linie die Funktionen unseres Shortcut Programms erkl\u00e4rt: <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\ud83d\udcdd <strong>Programme\/Webseiten ausw\u00e4hlen<\/strong>: <\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Durch das setzen eines H\u00e4kchens werden die Programme\/Webseiten ausgew\u00e4hlt die gestartet werden sollen.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u2714\ufe0f <strong><strong>\u201eAlles ausw\u00e4hlen\u201c<\/strong><\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Klick auf diesen Button, um alle Eintr\u00e4ge auf einmal zu markieren.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u274c<\/strong> <strong>\u201eAuswahl l\u00f6schen\u201c<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Hebt alle H\u00e4kchen wieder auf.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\ud83d\ude80<\/strong> <strong>\u201eProgramme + Webseiten starten\u201c<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Startet alle aktuell ausgew\u00e4hlten Programme oder\/und Webseiten.<br>Die URLs werden im Browser ge\u00f6ffnet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u2699\ufe0f<strong>Anleitung<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\">Zun\u00e4chst erstellen wir eine neue PowerShell-Datei mit dem Namen &#8222;<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-black-color\"><strong>start.ps1<\/strong><\/mark>&#8222;. Zus\u00e4tzlich legen wir eine Batch-Datei namens &#8222;<strong>start_programm.bat<\/strong>&#8220; an, die sp\u00e4ter als Starter f\u00fcr das PowerShell-Skript dient.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\">Anschlie\u00dfend \u00f6ffnen wir die Datei <strong>start.ps1<\/strong> in einem Texteditor, z.\u202fB. Notepad oder dem Editor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\"><strong>In diese Datei tragen wir folgenden Code ein:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code has-light-gray-background-color has-background\"><code>Add-Type -AssemblyName System.Windows.Forms; # Aktiviert GUI-Elemente<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Durch diesen Code wird die .NET &#8211; Bibliothek von Microsoft eingebunden. Hierbei wird die ben\u00f6tigte Bibliothek also Windows Forms von dieser genutzt, um die Erstellung grafischer Benutzeroberfl\u00e4chen, kurz GUI in Powershell zu erm\u00f6glichen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Nun k\u00fcmmern wir uns um die Erstellung und Formatierung des Fensters:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code has-light-gray-background-color has-background\"><code>$form = New-Object System.Windows.Forms.Form # Fenster Erstellung\n$form.Text = 'Shortcut' # Bezeichnung Titel des Fensters\n$form.Size = New-Object System.Drawing.Size(400, 400) # Gr\u00f6\u00dfe des Fensters bestimmen\n$form.StartPosition = 'CenterScreen' # Position wo das Fenster spawnen soll\n$form.BackColor = &#91;System.Drawing.Color]::LightCyan # Hintergrundfarbe bestimmen<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Folgendes passiert nun in dem Code: <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:16px\">Es wird ein Fenster erstellt <em>New-Object<\/em><\/li>\n\n\n\n<li style=\"font-size:16px\"><em>.Text<\/em> legt den Fenster Titel fest &#8211; in unserem Fall &#8222;Shortcut&#8220;<\/li>\n\n\n\n<li><em>.Size<\/em> bestimmt die Gr\u00f6\u00dfe des Fensters &#8211;  ich habe hierf\u00fcr jeweils 400px f\u00fcr die H\u00f6he und 400px f\u00fcr die Breite gew\u00e4hlt<\/li>\n\n\n\n<li style=\"font-size:16px\">Durch <em>.StartPosition<\/em> setze ich nun diese Position fest wo das Fenster spawnen soll<strong> &#8211; <\/strong>in meinem Fall wird das Fenster in der Mitte des Bildschirms spawnen<\/li>\n\n\n\n<li><em>.BackColor<\/em> dient dazu wie der Name schon sagt die &#8222;Back&#8220; also die Hintergrundfarbe zu bestimmen &#8211; In meinem Fall ist der Hintergrund hellblau<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\">Mit diesem Abschnitt ist das Layout des Fensters vollst\u00e4ndig erstellt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\"><br>Optional habe ich noch ein kleines Bild hinzugef\u00fcgt, das die Benutzeroberfl\u00e4che optisch erg\u00e4nzt. Es ist auch m\u00f6glich ein Gif hierbei einzuf\u00fcgen. <br><strong>Der entsprechende Code f\u00fcgen wir hierf\u00fcr unter den bestehenden Code hinzu:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code has-light-gray-background-color has-background\"><code>$image = New-Object System.Windows.Forms.PictureBox # Variable wird erstellt\n$image.ImageLocation = 'C:\\Users\\Test\\Desktop\\StartUp\\cat.gif' # Pfad zum Bild\/Gif\n$image.SizeMode = 'StretchImage' # Bild wird gestreckt\n$image.Size = New-Object System.Drawing.Size(60, 70) # Gr\u00f6\u00dfenangabe\n$image.Location = New-Object System.Drawing.Point(10, 30) # Positionierung\n$form.Controls.Add($image) # Bild wird eingef\u00fcgt<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:16px\"><em>$image<\/em> ist hierbei f\u00fcr die Erstellung eines PictureBox-Element zum Anzeigen von Bildern zust\u00e4ndig<\/li>\n\n\n\n<li style=\"font-size:16px\">In <em>.ImageLocation <\/em>f\u00fcgen wir den Pfad zu dem Bild\/Gif ein &#8211; Vergiss nicht die Apostrophen (&#8218;) vor und nach dem Pfad!<\/li>\n\n\n\n<li style=\"font-size:16px\"><em>.SizeMode<\/em> skaliert hierbei das eingef\u00fcgt Bild &#8211; d.h das Bild\/Gif wird in der vorgegeben Gr\u00f6\u00dfe ausgegeben<\/li>\n\n\n\n<li style=\"font-size:16px\">Die Gr\u00f6\u00dfe des Bildes wird anhand <em>.Size<\/em> angegeben<\/li>\n\n\n\n<li style=\"font-size:16px\"><em>.Location<\/em> gibt die Position des Bildes an &#8211; In meinem fall will ich das mein Gif oben Links haben und passe dementsprechend die Werte an <\/li>\n\n\n\n<li style=\"font-size:16px\">Durch .Control.Add($image) wird das angegeben Bild\/Gif in das Fenster eingef\u00fcgt<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\"><strong>Einf\u00fcgen eines Textfeld + die Formatierung <\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code has-light-gray-background-color has-background\"><code>$label = New-Object System.Windows.Forms.Label # Neues Textfeld erstellen\n$label.Text = 'Guten Morgen' # Textinhalt\n$label.Font = New-Object System.Drawing.Font('Arial', 20, &#91;System.Drawing.FontStyle]::Bold)  # Schriftart, -gr\u00f6\u00dfe, -stil\n$label.ForeColor = &#91;System.Drawing.Color]::DarkSlateGray # Schriftfarbe\n$label.AutoSize = $true # Gr\u00f6\u00dfe passt sich dem Text an\n$label.Location = New-Object System.Drawing.Point(70, 30) # Position auf dem Formular\n$form.Controls.Add($label) # Label dem Formular hinzuf\u00fcgen\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:16px\">Wie oben schon erw\u00e4hnt erstellt <em>New-Object<\/em> etwas &#8211;  in diesem Falle ein Textfeld<\/li>\n\n\n\n<li style=\"font-size:16px\">Der Text der in dem Textfeld stehen soll wird in <em>.Text<\/em> festgelegt &#8211; Im Beispiel &#8222;Guten Morgen&#8220;<\/li>\n\n\n\n<li style=\"font-size:16px\">Es wird nun anhand <em>.Font <\/em>die Schriftart, die Schriftgr\u00f6\u00dfe und weitere Einstellungen festgelegt &#8211; Schriftart (Arial), Schriftgr\u00f6\u00dfe (20pt) und Stil (bold)<\/li>\n\n\n\n<li style=\"font-size:16px\">Ebenso wird durch<em> .ForeColor<\/em> die Textfarbe festgelegt &#8211; Im Beispiel dunkelgrau<\/li>\n\n\n\n<li style=\"font-size:16px\"><em>.Autosize<\/em> Passt die Labelgr\u00f6\u00dfe automatisch an den Text an<\/li>\n\n\n\n<li style=\"font-size:16px\"><em>.Location<\/em> gibt wie oben schon erw\u00e4hnt die Position an &#8211; In diesem Fall geht es hierbei nicht um ein Bild oder ein Gif sondern um ein Textfeld &#8211; diese befindet sich nun rechts neben dem Bild<\/li>\n\n\n\n<li style=\"font-size:16px\">Durch .Control.Add($label) wird das Textfeld in das Fenster eingef\u00fcgt<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\"><strong>Nun k\u00fcmmern wir uns um die Auswahlliste und die Checkliste:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code has-light-gray-background-color has-background\"><code>$checkedListBox = New-Object System.Windows.Forms.CheckedListBox\n$checkedListBox.Items.AddRange(@(\n    \"wikiHamsti\",\n    \"Google\"\n))\n$checkedListBox.Location = New-Object System.Drawing.Point(10, 100)\n$checkedListBox.Size = New-Object System.Drawing.Size(150, 100)\n$form.Controls.Add($checkedListBox)\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:16px\">Gleiches Spiel <em>New-Object erstellt <\/em>etwas &#8211;  in diesem Falle eine Liste mit Checkboxen<\/li>\n\n\n\n<li style=\"font-size:16px\"><code><em>AddRange(@(...))<\/em><\/code>: F\u00fcgt die Eintr\u00e4ge hinzu, die sp\u00e4ter gestartet werden k\u00f6nnen &#8211; Hier benennen wir auch Programme und URLs die wir sp\u00e4ter anhand des Programm starten wollen<\/li>\n\n\n\n<li style=\"font-size:16px\"><em><code>Location<\/code> <\/em>und <code><em>Size<\/em><\/code>: setzen die Position und die Gr\u00f6\u00dfe auf dem Formular fest<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\"><strong>Nun geben wir den Pfad der Programme und die URL der Webseite an: <\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code has-light-gray-background-color has-background\"><code>$programPaths = @{\n    \"wikiHamsti\" = \"https:\/\/wiki.hamsti.pm\/\"\n    \"Google\"    = \"https:\/\/www.google.com\/\"\n}<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:16px\"><em>$programPaths<\/em> erstellt ein Dictionary (Hashtable),<strong> <\/strong>das die Namen aus der Liste den jeweiligen URLs oder Pfaden zuordnet<\/li>\n\n\n\n<li style=\"font-size:16px\">Wichtig: Achte darauf das die Benennungen hierbei exakt sind &#8211; d.h. wir haben den Eintrag oben &#8222;wikiHamsti&#8220; genannt = wir benenne diesen unter $programPaths ebenso &#8222;wikiHamsti&#8220;<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Lass uns nun den Button erstellen durch den alle Checkboxen einen Hacken bekommen:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$selectAllButton = New-Object System.Windows.Forms.Button\n$selectAllButton.Text = 'Alles auswaehlen'\n$selectAllButton.Location = New-Object System.Drawing.Point(200, 100)\n$selectAllButton.Size = New-Object System.Drawing.Size(150, 30)\n$selectAllButton.BackColor = &#91;System.Drawing.Color]::White\n$selectAllButton.ForeColor = &#91;System.Drawing.Color]::Black\n$selectAllButton.Add_Click({\n    for ($i = 0; $i -lt $checkedListBox.Items.Count; $i++) {\n        $checkedListBox.SetItemChecked($i, $true)\n    }\n})\n$form.Controls.Add($selectAllButton)<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:16px\">Erstellt einen Button, der beim Klicken alle Checkboxen aktiviert<\/li>\n\n\n\n<li style=\"font-size:16px\">Die Schleife <em><code>for<\/code> <\/em>geht durch alle Eintr\u00e4ge und setzt sie auf <code><em>Checked<\/em><\/code><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Gleiches Spiele hier auch der einzige Unterschied ist hierbei nur das die Hacken alle entfernen werden sollen sobald du den Button anklickst:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code has-light-gray-background-color has-background\"><code>$selectNoneButton = New-Object System.Windows.Forms.Button\n$selectNoneButton.Text = 'Auswahl loeschen'\n$selectNoneButton.Location = New-Object System.Drawing.Point(200, 140)\n$selectNoneButton.Size = New-Object System.Drawing.Size(150, 30)\n$selectNoneButton.BackColor = &#91;System.Drawing.Color]::White\n$selectNoneButton.ForeColor = &#91;System.Drawing.Color]::Black\n$selectNoneButton.Add_Click({\n    for ($i = 0; $i -lt $checkedListBox.Items.Count; $i++) {\n        $checkedListBox.SetItemChecked($i, $false)\n    }\n})\n$form.Controls.Add($selectNoneButton)<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:16px\">Dieser Button entfernt alle H\u00e4kchen aus der Liste<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:16px\">Funktioniert analog zum vorherigen Button, setzt aber <code>false<\/code><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Lass uns nun den Button zu Starten des ganzen erstellen:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code has-light-gray-background-color has-background\"><code>$okButton = New-Object System.Windows.Forms.Button #Neuer Button wird erstellt\n$okButton.Text = 'Start' #Texteingabe\n$okButton.Location = New-Object System.Drawing.Point(10, 320) #Position des Buttons\n$okButton.Size = New-Object System.Drawing.Size(370, 30) #Gr\u00f6\u00dfe des Buttons\n$okButton.BackColor = &#91;System.Drawing.Color]::White #\n$okButton.ForeColor = &#91;System.Drawing.Color]::Black #\n$okButton.Add_Click({ #Funktion die durch anklicken des Buttons gestartet wird\n    foreach ($item in $checkedListBox.CheckedItems) {\n        $path = $programPaths&#91;$item.ToString()] #\n        if ($path) {\n            if ($path -like \"http*\") {\n                Start-Process $path\n            } elseif (Test-Path $path) {\n                Start-Process $path\n            } else {\n                &#91;System.Windows.Forms.MessageBox]::Show(\"$item nicht gefunden.\")\n            }\n        }\n    }\n    $form.Close()\n})\n$form.Controls.Add($okButton)<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:16px\">Startet alle markierten Eintr\u00e4ge:<\/li>\n\n\n\n<li style=\"font-size:16px\">Abfrage verschiedener Kriterien findet statt\n<ul class=\"wp-block-list\">\n<li style=\"font-size:16px\">Wenn es eine URL ist (<code>http*<\/code>), \u00f6ffnet es im Browser<\/li>\n\n\n\n<li style=\"font-size:16px\">Wenn es ein Datei-\/Programmpfad ist, wird gepr\u00fcft (<code>Test-Path<\/code>) und dann gestartet<\/li>\n\n\n\n<li style=\"font-size:16px\">Bei Fehlern gibt es eine Meldung in einem Popup &#8211; &#8222;Programmbezeichnung nicht gefunden&#8220;<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li style=\"font-size:16px\">Danach wird das Formular geschlossen<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Fenster aktivieren + Starten<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code has-light-gray-background-color has-background\"><code>$form.Add_Shown({$form.Activate()}) # Fenster wird aktiviert\n$form.ShowDialog() # Fenster wird gestartet<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\">Die \u00dcberschrift erkl\u00e4rt das was hier passiert xD.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\"><strong>Hinweise<\/strong>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\">Die einzelnen Codeabschnitte enthalten erkl\u00e4rende Kommentare hinter jeder Zeile, um das Verst\u00e4ndnis zu erleichtern. Im vollst\u00e4ndigen Code am Ende wurden diese Kommentare weggelassen, damit du den Code direkt und kompakt \u00fcbernehmen kannst.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:16px\">Bitte beachte ebenso: Gebe den Pfad von deinem PC zur Bild bzw. Gif Datei an <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\udde9 <strong>Kompletter Code<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code has-light-gray-background-color has-background\"><code>Add-Type -AssemblyName System.Windows.Forms;\n\n$form = New-Object System.Windows.Forms.Form\n$form.Text = 'Shortcut'\n$form.Size = New-Object System.Drawing.Size(400, 400)\n$form.StartPosition = 'CenterScreen'\n$form.BackColor = &#91;System.Drawing.Color]::LightCyan \n\n$image = New-Object System.Windows.Forms.PictureBox\n$image.ImageLocation = 'C:\\Users\\Test\\Desktop\\StartUp\\cat.gif' \n$image.SizeMode = 'StretchImage'\n$image.Size = New-Object System.Drawing.Size(60, 70)\n$image.Location = New-Object System.Drawing.Point(10, 30)\n$form.Controls.Add($image)\n\n$label = New-Object System.Windows.Forms.Label\n\n$label.Text = 'Guten Morgen' \n\n\n$label.Font = New-Object System.Drawing.Font('Arial', 20, &#91;System.Drawing.FontStyle]::Bold)\n$label.ForeColor = &#91;System.Drawing.Color]::DarkSlateGray \n$label.AutoSize = $true\n$label.Location = New-Object System.Drawing.Point(70, 30)\n$form.Controls.Add($label)\n\n$checkedListBox = New-Object System.Windows.Forms.CheckedListBox\n$checkedListBox.Items.AddRange(@(\n    \"wikiHamsti\", \n    \"Google\"\n  \n))\n$checkedListBox.Location = New-Object System.Drawing.Point(10, 100)\n$checkedListBox.Size = New-Object System.Drawing.Size(150, 100)\n$form.Controls.Add($checkedListBox)\n\n\n$programPaths = @{\n    \"wikiHamsti\" = \"https:\/\/wiki.hamsti.pm\/\" \n    \"Google\"    = \"https:\/\/www.google.com\/\"\n \n}\n\n\n$selectAllButton = New-Object System.Windows.Forms.Button\n$selectAllButton.Text = 'Alles auswaehlen'\n$selectAllButton.Location = New-Object System.Drawing.Point(200, 100)\n$selectAllButton.Size = New-Object System.Drawing.Size(150, 30)\n$selectAllButton.BackColor = &#91;System.Drawing.Color]::White\n$selectAllButton.ForeColor = &#91;System.Drawing.Color]::Black\n$selectAllButton.Add_Click({\n    for ($i = 0; $i -lt $checkedListBox.Items.Count; $i++) {\n        $checkedListBox.SetItemChecked($i, $true)\n    }\n})\n$form.Controls.Add($selectAllButton)\n\n\n$selectNoneButton = New-Object System.Windows.Forms.Button\n$selectNoneButton.Text = 'Auswahl loeschen'\n$selectNoneButton.Location = New-Object System.Drawing.Point(200, 140)\n$selectNoneButton.Size = New-Object System.Drawing.Size(150, 30)\n$selectNoneButton.BackColor = &#91;System.Drawing.Color]::White\n$selectNoneButton.ForeColor = &#91;System.Drawing.Color]::Black\n$selectNoneButton.Add_Click({\n    for ($i = 0; $i -lt $checkedListBox.Items.Count; $i++) {\n        $checkedListBox.SetItemChecked($i, $false)\n    }\n})\n$form.Controls.Add($selectNoneButton)\n\n\n$okButton = New-Object System.Windows.Forms.Button\n$okButton.Text = 'Start'\n$okButton.Location = New-Object System.Drawing.Point(10, 320)\n$okButton.Size = New-Object System.Drawing.Size(370, 30)\n$okButton.BackColor = &#91;System.Drawing.Color]::White\n$okButton.ForeColor = &#91;System.Drawing.Color]::Black\n$okButton.Add_Click({\n    foreach ($item in $checkedListBox.CheckedItems) {\n        $path = $programPaths&#91;$item.ToString()]\n        if ($path) {\n            if ($path -like \"http*\") {\n                Start-Process $path\n            } elseif (Test-Path $path) {\n                Start-Process $path\n            } else {\n                &#91;System.Windows.Forms.MessageBox]::Show(\"$item nicht gefunden.\")\n            }\n        }\n    }\n    $form.Close()\n})\n$form.Controls.Add($okButton)\n\n$form.Add_Shown({$form.Activate()})\n$form.ShowDialog()\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Optional: \ud83d\ude80 Automatischer Start beim Hochfahren<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Dr\u00fccke die <strong>Windows-Taste + R<\/strong>. Dadurch \u00f6ffnet sich das <strong>\u201eAusf\u00fchren\u201c-Fenster<\/strong> (Run-Dialog) in Windows. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gib in dieses Eingabefeld <strong>shell:startup<\/strong> ein und best\u00e4tige mit <strong>Enter<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es \u00f6ffnet sich nun ein Fenster mit der \u00dcberschrift <strong>\u201eAutostart\u201c<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ziehe nun die erstellte <strong>Batch-Datei<\/strong> in dieses Fenster.<\/p>\n\n\n\n<p class=\"has-black-color has-light-gray-background-color has-text-color has-background has-link-color wp-elements-d1e63c7aa23a129cdb4538612211ac4b wp-block-paragraph\"><strong>Wichtig<\/strong>: Stelle sicher, dass in der Batch-Datei der <strong>korrekte Pfad zur PowerShell-Datei<\/strong> angegeben ist. Ansonsten wird die PowerShell-Datei beim Start nicht ausgef\u00fchrt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mit diesem Shortcut Programm kannst du mehrere Programme und auch Webseiten gleichzeitig mit nur einem Klick starten. Im Hintergrund l\u00e4uft eine Batch-Datei, die alle gew\u00fcnschten Anwendungen automatisch nacheinander \u00f6ffnet. Ideal f\u00fcr den schnellen Start deiner t\u00e4glichen Tools. \ud83d\udd27 Funktionen In erster Linie die Funktionen unseres Shortcut Programms erkl\u00e4rt: \ud83d\udcdd Programme\/Webseiten ausw\u00e4hlen: Durch das setzen eines [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":312,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[10,9],"class_list":["post-75","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-projekte","tag-automatisierung","tag-batchdatei"],"_links":{"self":[{"href":"https:\/\/wiki.hamsti.pm\/index.php?rest_route=\/wp\/v2\/posts\/75","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wiki.hamsti.pm\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wiki.hamsti.pm\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wiki.hamsti.pm\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wiki.hamsti.pm\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=75"}],"version-history":[{"count":21,"href":"https:\/\/wiki.hamsti.pm\/index.php?rest_route=\/wp\/v2\/posts\/75\/revisions"}],"predecessor-version":[{"id":315,"href":"https:\/\/wiki.hamsti.pm\/index.php?rest_route=\/wp\/v2\/posts\/75\/revisions\/315"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wiki.hamsti.pm\/index.php?rest_route=\/wp\/v2\/media\/312"}],"wp:attachment":[{"href":"https:\/\/wiki.hamsti.pm\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=75"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wiki.hamsti.pm\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=75"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wiki.hamsti.pm\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=75"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}