Microsoft/Windows
파워셀로 GUI 만들기(컴파일 없이)
구차니
2025. 7. 22. 17:23
와.. bash는 따위였구나..
$w=1024 $h=720 $form=New-Object system.windows.forms.form $form.Icon=[System.Drawing.SystemIcons]::Asterisk $form.Text="A Good Wizard" $form.MaximizeBox=0 $form.Height=$h $form.Width=$w $form.Left=20 $form.Top=20 $form.StartPosition="Manual" $form.FormBorderStyle=1 $form.Topmost-$false $titleBox=New-Object system.windows.forms.RichTextBox $titleBox.Width=$w-40 $titleBox.Height=30 $titleBox.Top=10 $titleBox.Left=10 $titleBox.Font="Consolas, 14" $titleBox.Multiline=$false $titleBox.ReadOnly=$true $titleBox.BackColor="#3333FF" $titleBox.ForeColor="white" $titleBox.BorderStyle=0 $titleBox.Text="Welcome Message" $contentBox=New-Object system.windows.forms.RichTextBox $contentBox.Width=$w-40 $contentBox.Height=$h-140 $contentBox.Top=50 $contentBox.Left=10 $contentBox.Font="consolas, 12" $contentBox.ForeColor="#00FF00" $contentBox.BackColor="Black" $contentBox.BorderStyle=0 $contentBox.ReadOnly=$true $contentBox.Text=" ***1. Click next button to begin.*** ***2. When finished, done button should be activated.*** ***3. Write the things you found.*** ***4. Save the log file.*** Last Modified: August 9, 2021 Author: Iseop" $prevBtn=New-Object system.windows.forms.Button $prevBtn.Enabled=$false $prevBtn.Text="< Prev" $prevBtn.Width=80 $prevBtn.Height=30 $prevBtn.Top=$h-80 $prevBtn.Left=$w-260 $prevBtn.Add_Click( { $Global:step--; Run-Check } ) $nextBtn=New-Object system.windows.forms.Button $nextBtn.Text="Next >" $nextBtn.Width=80 $nextBtn.Height=30 $nextBtn.Top=$h-80 $nextBtn.Left=$w-170 $nextBtn.Add_Click( { $Global:step++; Run-Check } ) $doneBtn=New-Object system.windows.forms.Button $doneBtn.Text="Done" $doneBtn.Width=50 $doneBtn.Height=30 $doneBtn.Top=$h-80 $doneBtn.Left=$w-80 $doneBtn.Enabled=$false $doneBtn.Add_Click( { $logfile=((Get-Date -Format "yyyyMMdd")+".log") "$env:USERNAME finished the wizard." > $logfile notepad $logfile $form.Close() } ) $pinTopCheckBox=New-Object System.Windows.Forms.CheckBox $pinTopCheckBox.Width=200 $pinTopCheckBox.Top=$h-80 $pinTopCheckBox.Left=10 $pinTopCheckBox.Text="Pinned on top" $pinTopCheckBox.checked=$false $pinTopCheckBox.Add_CheckStateChanged( { if(!($pinTopCheckBox.checked)) { $form.topmost=$false } else { $form.topmost=$true } } ) $form.Controls.Add($titleBox) $form.Controls.Add($contentBox) $form.Controls.Add($prevBtn) $form.Controls.Add($nextBtn) $form.Controls.Add($doneBtn) $form.Controls.Add($pinTopCheckBox) $form.ShowDialog() |
[링크 https://iseop.tistory.com/70]
[링크 https://jdh5202.tistory.com/442]