วิธีแสดงกล่องข้อความบน Windows 10 (PowerShell และ Batch)

ในการแสดงกล่องข้อความแบบกำหนดเองบน Windows 10ให้เรียกใช้เมธอดในตัวของ Windows Forms MessageBox.Showจาก Windows PowerShell เรียกใช้เพียงครั้งเดียวจากเทอร์มินัล หรือบันทึกเป็นไฟล์ที่สามารถนำกลับมาใช้ใหม่ได้.batไม่.ps1จำเป็นต้องมีบัญชีผู้ดูแลระบบในเซสชันเดสก์ท็อปที่คุณลงชื่อเข้าใช้

กล่องข้อความ (Message Box) คือกล่องโต้ตอบแบบโมดอลที่เปิดค้างไว้จนกว่าจะถูกปิด และอาจปิดกั้นการโต้ตอบกับเจ้าของกล่องข้อความนั้น มันแตกต่างจากการแจ้งเตือนแบบโทสต์ (Toast Notification) เอกสาร อ้างอิง MessageBox.Show ของ Microsoft แสดงรายการอาร์กิวเมนต์สำหรับข้อความ คำบรรยาย ปุ่ม และไอคอน

เลือกวิธีการแสดงข้อความ

  • กล่องโต้ตอบแบบใช้ครั้งเดียว:เรียกใช้คำสั่งสั้นๆ ใน PowerShell
  • เรียกใช้งานจากพรอมต์คำสั่ง:เริ่ม Windows PowerShell ด้วยคำ สั่ง powershell.exe`.`
  • นำกลับมาใช้ใหม่ในภายหลัง:บันทึกคำสั่งนี้เป็นไฟล์แบตช์หรือสคริปต์ PowerShell

ตัวอย่างเหล่านี้ใช้ Windows PowerShell และSystem.Windows.Formsแอสเซมบลีที่มีอยู่ใน Windows คำสั่งจะโหลดแอสเซมบลีนั้น จากนั้นระบุข้อความ ชื่อเรื่อง ปุ่มตกลง และไอคอนข้อมูล

สร้างไฟล์แบตช์ที่สามารถนำกลับมาใช้ใหม่ได้

  1. เปิดโปรแกรม Notepadจากเมนู Start เอกสารเปล่าก็เพียงพอสำหรับสคริปต์สั้นๆ นี้แล้ว
    หน้าต่าง Notepad ว่างเปล่า โดยมีเคอร์เซอร์อยู่ที่จุดเริ่มต้นของเอกสาร
    เปิดเอกสาร Notepad เปล่าก่อนป้อนสคริปต์
  2. วางสองบรรทัดนี้ลงไป:
    @echo off
    powershell.exe -NoProfile -Command "Add-Type -AssemblyName System.Windows.Forms; [void][System.Windows.Forms.MessageBox]::Show('Backup complete.', 'Backup status', [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]::Information)"
    ไฟล์ Notepad ที่มีบรรทัดแรกของไฟล์แบตช์: @echo off และคำสั่ง PowerShell
    ไฟล์แบตช์นี้จะเรียกใช้ PowerShell โดยไม่โหลดโปรไฟล์
  3. เปลี่ยนBackup complete.เป็นข้อความที่คุณต้องการและBackup statusเปลี่ยนเป็นชื่อเรื่อง คงเครื่องหมายอัญประกาศเดี่ยวไว้รอบทั้งสองข้อความ ค่าของปุ่มและไอคอนที่ระบุอย่างชัดเจนจะทำให้กล่องโต้ตอบคาดเดาได้ จึง[void]ละทิ้งค่าส่งคืนของเมธอดเนื่องจากตัวอย่างนี้ต้องการเพียงแค่แสดงกล่องเท่านั้น
    โปรแกรม Notepad แสดงข้อความในกล่องข้อความของ Windows Forms พร้อมชื่อเรื่อง ข้อความ ปุ่มตกลง และไอคอนข้อมูลที่กำหนดเอง
    ตั้งค่าข้อความและหัวเรื่องในคำสั่ง MessageBox.Show
  4. เลือกไฟล์ > บันทึกเป็นป้อนShowMessage.batชื่อไฟล์ และเลือกไฟล์ทั้งหมดเป็นประเภทไฟล์ จากนั้นบันทึกไว้ในตำแหน่งที่หาง่าย เช่น เดสก์ท็อป หากคุณปล่อยประเภทไฟล์ไว้เป็นเอกสารข้อความ โปรแกรม Notepad อาจบันทึกเป็นไฟล์อื่นShowMessage.bat.txtแทน
    หน้าต่าง "บันทึกเป็น" ของ Windows โดยป้อน ShowMessage.bat เป็นชื่อไฟล์ และเลือก "ไฟล์ทั้งหมด"
    บันทึกไฟล์โดยใช้ส่วนขยาย .bat และเลือก "ไฟล์ทั้งหมด"
  5. เปิดShowMessage.batไฟล์ที่บันทึกไว้ กล่องข้อความจะปรากฏขึ้น คลิกตกลงเพื่อปิด กล่องข้อความ
    โปรแกรม File Explorer ที่เลือกไฟล์ ShowMessage.bat ไว้บนเดสก์ท็อป
    เรียกใช้ไฟล์แบตช์ที่บันทึกไว้จาก File Explorer
    หน้าต่างข้อมูลของ Windows ที่มีชื่อว่า สถานะการสำรองข้อมูล พร้อมข้อความว่า การสำรองข้อมูลเสร็จสมบูรณ์ และมีปุ่ม ตกลง
    กล่องข้อความที่กำหนดเองจะเปิดอยู่จนกว่าจะเลือก "ตกลง"

เนื่องจากไฟล์แบตช์นี้ใช้ PowerShell ภายในคำสั่งที่อยู่ในเครื่องหมายคำพูด จึงควรใช้ข้อความที่เรียบง่ายและหลีกเลี่ยงการใช้เครื่องหมายคำพูดคู่ในข้อความและชื่อเรื่อง

เรียกใช้คำสั่งโดยตรงใน PowerShell

  1. เปิดWindows PowerShellจากเมนู Start
    หน้าต่าง Windows PowerShell เปิดขึ้นที่พร้อมท์คำสั่ง
    เปิด Windows PowerShell เพื่อใช้งานคำสั่งเพียงครั้งเดียว
  2. วางคำสั่งต่อไปนี้แล้วกดEnter :
    Add-Type -AssemblyName System.Windows.Forms
    [void][System.Windows.Forms.MessageBox]::Show('Backup complete.', 'Backup status', [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]::Information)
    หน้าต่าง PowerShell ที่แสดงคำสั่ง Add-Type และ MessageBox.Show ที่ป้อนเข้าไป
    โหลด Windows Forms จากนั้นเรียกใช้ MessageBox.Show
  3. เมื่อกล่องโต้ตอบปรากฏขึ้นให้คลิกตกลง
    หน้าต่างข้อมูลของ Windows แสดงข้อความ "การสำรองข้อมูลเสร็จสมบูรณ์" ภายใต้หัวข้อ "สถานะการสำรองข้อมูล"
    คำสั่ง PowerShell นี้จะแสดงข้อความที่ต้องการ

สำหรับสคริปต์ PowerShell ที่สามารถนำกลับมาใช้ใหม่ได้ ให้บันทึกสองบรรทัดของ PowerShell ด้านบนลงใน Notepad โดยShowMessage.ps1เลือก"ไฟล์ทั้งหมด " จากนั้นเรียกใช้สำเนาบนเดสก์ท็อปด้วย คำสั่ง `git pull` หากนโยบายการเรียกใช้งานบล็อกสคริปต์ ให้ใช้คำสั่งแบบอินไลน์หรือไฟล์แบตช์แทนการเปลี่ยนนโยบายทั้งอุปกรณ์ โปรด ดู เอกสาร Add-Type& "$env:USERPROFILE\Desktop\ShowMessage.ps1"ของ Microsoft

แสดงข้อความจากพรอมต์คำสั่ง

ในCommand Promptให้วางคำสั่งบรรทัดเดียวนี้แล้วกดEnter คำสั่ง นี้จะเริ่มต้น Windows PowerShell และส่งรหัสบทสนทนาไปให้:

powershell.exe -NoProfile -Command "Add-Type -AssemblyName System.Windows.Forms; [void][System.Windows.Forms.MessageBox]::Show('Backup complete.', 'Backup status', [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]::Information)"
หน้าต่าง Command Prompt ที่มีคำสั่ง powershell.exe ซึ่งเรียกใช้กล่องข้อความของ Windows Forms
Command Prompt สามารถส่งคำสั่งเรียกใช้งานแบบเดียวกันไปยัง PowerShell ได้

หน้าต่างโต้ตอบจะปรากฏขึ้นบนเดสก์ท็อป ปิดหน้าต่างนั้นด้วยปุ่มOKจากนั้น Command Prompt จะกลับไปยังพร้อมท์คำสั่งเดิม สวิตช์นี้ จะเริ่ม PowerShell โดยไม่โหลดโปรไฟล์ผู้ใช้ ตามที่อธิบายไว้ใน เอกสารอ้างอิงบรรทัดคำสั่ง Windows PowerShellของ-NoProfileMicrosoft

กล่องข้อความแจ้งเตือนข้อมูลของ Windows ที่มีชื่อว่า "สถานะการสำรองข้อมูล" พร้อมปุ่ม "ตกลง" ปรากฏบนเดสก์ท็อป
ปิดกล่องโต้ตอบเพื่อกลับไปยังหน้าต่าง Command Prompt

ใช้ปุ่ม ใช่ และ ไม่

ในการถามคำถาม ให้เปลี่ยนค่าพารามิเตอร์ของปุ่มและไอคอน จากนั้นตรวจสอบผลลัพธ์ เมธอดจะส่งคืนค่าDialogResultดังนั้นสคริปต์ของคุณจึงสามารถดำเนินการที่แตกต่างกันได้ขึ้นอยู่กับคำตอบ:

$answer = [System.Windows.Forms.MessageBox]::Show('Continue with cleanup?', 'Confirm action', [System.Windows.Forms.MessageBoxButtons]::YesNo, [System.Windows.Forms.MessageBoxIcon]::Question)
if ($answer -eq [System.Windows.Forms.DialogResult]::Yes) { 'Continue with cleanup' } else { 'Cancelled' }
หน้าต่างยืนยันของ Windows ที่มีชื่อว่า "ยืนยันการกระทำ" พร้อมปุ่ม "ใช่" และ "ไม่ใช่"
ใช้คำว่า ใช่ และ ไม่ เมื่อสคริปต์ต้องการให้ผู้ใช้ตัดสินใจ

สตริงที่ใช้เครื่องหมายอัญประกาศเดี่ยวใน PowerShell จะถือว่าอักขระส่วนใหญ่เป็นไปตามตัวอักษร หากข้อความของคุณมีเครื่องหมายอะพอสโทรฟี ให้ใช้เครื่องหมายอะพอสโทรฟีสองตัวภายในสตริง (ตัวอย่างเช่น ) โปรดดู หลักเกณฑ์การใช้เครื่องหมายอัญประกาศของ PowerShell'Don''t close this window'จาก Microsoft สำหรับคำสั่งแบตช์ ให้หลีกเลี่ยงการใช้เครื่องหมายอัญประกาศคู่ภายในข้อความด้วย เนื่องจากคำสั่งนั้นซ้อนอยู่ภายในอาร์กิวเมนต์ ที่ใช้เครื่องหมายอัญประกาศ-Command

หากกล่องข้อความไม่ปรากฏขึ้น

  • ตรวจสอบให้แน่ใจ ว่าไฟล์ลงท้ายด้วย.batหรือ.ps1ไม่ใช่.txt
  • เรียกใช้งานในเซสชันเดสก์ท็อปที่ลงชื่อเข้าใช้แล้ว เนื่องจากบริการหรือกระบวนการที่ไม่ต้องมีการโต้ตอบอาจไม่แสดงส่วนติดต่อผู้ใช้ในเซสชันนั้น
  • ใช้Alt+Tabหากกล่องโต้ตอบอาจอยู่หลังหน้าต่างอื่น
  • หากสคริปต์ที่บันทึกไว้ล้มเหลว ให้ลองใช้คำสั่งแบบอินไลน์เพื่อแยกปัญหาที่เกิดจากชื่อไฟล์หรือการอ้างอิง

หากสิ่งที่คุณต้องการคือการแจ้งเตือนที่ไม่รบกวนงานปัจจุบัน ให้ใช้การแจ้งเตือนของ Windows แทนกล่องโต้ตอบแบบโมดอลนี้ สำหรับป๊อปอัพแบบกำหนดเองง่ายๆ ที่ต้องได้รับการยืนยัน วิธีการใช้ PowerShell ด้านบนเป็นวิธีที่สั้นที่สุด

ฝากความเห็น

วิธีการตรวจสอบสถานะฮาร์ดไดรฟ์ใน Windows Server

วิธีการตรวจสอบสถานะฮาร์ดไดรฟ์ใน Windows Server

ตรวจสอบสถานะดิสก์และตัวนับความน่าเชื่อถือของ Windows Server ตรวจสอบข้อมูล SMART เมื่อมีให้ใช้งาน และแยกคำเตือนเกี่ยวกับฮาร์ดแวร์ออกจากข้อผิดพลาดของ NTFS

วิธีการเพิ่มและลบผู้ใช้ใน Windows Server

วิธีการเพิ่มและลบผู้ใช้ใน Windows Server

สร้าง มอบสิทธิ์ผู้ดูแลระบบ ปิดใช้งาน หรือลบผู้ใช้ Windows Server ในเครื่องโดยใช้ Computer Management หรือ PowerShell เรียนรู้ว่าเมื่อใดควรใช้ Active Directory แทน

ติดตั้ง Serviio Media Server บน Windows Server

ติดตั้ง Serviio Media Server บน Windows Server

ติดตั้ง Serviio บน Windows Server แชร์โฟลเดอร์สื่อในเครื่องหรือ NAS และทดสอบการเล่น DLNA เรียนรู้วิธีตรวจสอบบริการ Windows ไฟร์วอลล์ และคุณสมบัติเบราว์เซอร์เฉพาะเวอร์ชัน Pro

วิธีแปลงภาพ PNG, JPG หรือ BMP เป็นไฟล์ ICO ใน Windows

วิธีแปลงภาพ PNG, JPG หรือ BMP เป็นไฟล์ ICO ใน Windows

แปลงไฟล์ PNG, JPG หรือ BMP เป็นไฟล์ ICO สำหรับ Windows ด้วย GIMP เตรียมภาพให้เป็นสี่เหลี่ยมจัตุรัส รักษาความโปร่งใสเมื่อจำเป็น เพิ่มขนาดมาตรฐาน และตรวจสอบการส่งออก

วิธีล้างแคชใน Windows 8: คู่มือทีละขั้นตอน

วิธีล้างแคชใน Windows 8: คู่มือทีละขั้นตอน

ล้างข้อมูลภาพขนาดย่อ, DNS, Internet Explorer, Microsoft Store, การค้นหา และ Live Tile ด้วยเครื่องมือในตัวของ Windows 8 และเรียนรู้ว่าการล้างข้อมูลแต่ละครั้งจะลบอะไรบ้าง

วิธีลบช่องทำเครื่องหมายรายการใน File Explorer ของ Windows 10

วิธีลบช่องทำเครื่องหมายรายการใน File Explorer ของ Windows 10

ปิดการใช้งานช่องทำเครื่องหมายรายการใน File Explorer ของ Windows 10 โดยใช้แถบเมนู View หรือใช้ Folder Options หากไม่มีตัวเลือกนี้ ดูว่ามีการเปลี่ยนแปลงอะไรบ้างและวิธีการเลือกไฟล์หลายไฟล์โดยไม่ต้องใช้ช่องทำเครื่องหมาย

ติดตั้ง VMware Workstation Pro บน Windows Server

ติดตั้ง VMware Workstation Pro บน Windows Server

ติดตั้ง VMware Workstation Pro บนโฮสต์ Windows Server ที่เข้ากันได้ ตั้งแต่การตรวจสอบการรองรับและการดาวน์โหลดเวอร์ชันที่ถูกต้อง ไปจนถึงการสร้าง VM เครื่องแรกของคุณ

วิธีอ่านพาร์ติชั่น Linux บน Windows โดยไม่ต้องฟอร์แมตพาร์ติชั่น

วิธีอ่านพาร์ติชั่น Linux บน Windows โดยไม่ต้องฟอร์แมตพาร์ติชั่น

เรียกดูและคัดลอกไฟล์ Ext2, Ext3 หรือ Ext4 บน Windows ด้วยเวิร์กโฟลว์แบบอ่านอย่างเดียว ดูว่าเวอร์ชันฟรีของ Linux Reader รองรับอะไรบ้าง และเมื่อใดที่ WSL เหมาะสม

วิธีใช้งาน Caddy เป็นเว็บเซิร์ฟเวอร์บน Windows Server

วิธีใช้งาน Caddy เป็นเว็บเซิร์ฟเวอร์บน Windows Server

ติดตั้งโปรแกรม Caddy เวอร์ชันสำหรับ Windows, สร้างเว็บไซต์ทดสอบ, เปิดใช้งาน HTTPS อัตโนมัติสำหรับโดเมน และเรียกใช้ Caddy ในฐานะบริการของ Windows Server

วิธีการตั้งค่า Jellyfin Server บน Windows Server

วิธีการตั้งค่า Jellyfin Server บน Windows Server

ติดตั้ง Jellyfin เป็นบริการของ Windows กำหนดสิทธิ์การเข้าถึงสื่อของคุณอย่างจำกัด เสร็จสิ้นการตั้งค่า และเชื่อมต่อไคลเอนต์บนเครือข่าย LAN ของคุณ หรือผ่านการเชื่อมต่อระยะไกลที่ปลอดภัยกว่า