ฉันจะแสดงการยืนยันได้อย่างไรหากไม่มีการออกคำสั่งปิดเครื่อง / รีสตาร์ทจากผู้ใช้จริง


4

มีวิธีใดที่จะมีไดอะล็อกยืนยันเมื่อใดก็ตามที่ไม่มีการออกคำสั่งปิดหรือรีสตาร์ทโดยบุคคลที่อยู่ด้านหลังคีย์บอร์ด?

กล่าวอีกนัยหนึ่งเมื่อใดก็ตามที่การปิดหรือการรีสตาร์ทไม่ได้ถูกกระตุ้นโดยตรงจากเมนูเริ่มต้นหรือโดยการกดปุ่มเปิดปิดของคอมพิวเตอร์

เหตุผลเบื้องหลังนี้เป็นเพราะตัวติดตั้งแอปพลิเคชันหรือตัวอัปเดตหลายตัวตัดสินใจที่จะบังคับให้รีสตาร์ทเมื่อเสร็จสิ้นบางครั้งโดยไม่ต้องให้ตัวเลือกในการปิดเครื่องด้วยตนเองในภายหลัง

นี่เป็นเรื่องที่ยุ่งยากสำหรับฉันมากเพราะมันเกิดขึ้นทุกสองสามวันและบางครั้งก็ทำให้ฉันสูญเสียสิ่งที่ฉันกำลังทำอยู่ด้วยความรำคาญที่ต้องรออีกประมาณ 300 ถึง 400 วินาทีเพื่อให้คอมพิวเตอร์รีบูตก่อนที่จะกลับมาทำงานต่อ .

ก่อนหน้านี้ฉันได้ลองใช้ShutdownGuardและตัวติดตามเหตุการณ์ Shutdownแม้ว่าพวกเขาจะปิดกั้นการปิดและการรีสตาร์ททั้งหมดรวมถึงสิ่งที่ริเริ่มโดยผู้ใช้ซึ่งไม่ใช่สิ่งที่ฉันกำลังมองหา

หากสิ่งนั้นเป็นไปไม่ได้ดังนั้นสิ่งที่ช่วยให้การปิดเครื่องทั้งหมด แต่ต้องมีการยืนยันสำหรับการเริ่มต้นใหม่ทั้งหมดจะเพียงพอ


ฉันไม่คิดว่ามันเป็นไปได้ ฉันคุ้นเคยกับการปิดการเรียก Win32 API และไม่มีวิธีที่ง่ายในการแยกความแตกต่างระหว่างคำขอของผู้ใช้และการปิดระบบ

คำตอบ:


1

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

คุณสามารถเขียนสิ่งนี้ใน VB หรือ C # ได้อย่างง่ายดายด้วย WPF และให้ MsgBox ถามผู้ใช้ (หรือเพียงแค่ยกเลิกความพยายามทั้งหมดที่ทำโดยซอฟต์แวร์และอนุญาตให้ผู้ใช้คลิกปุ่ม Shutdown / Restart ในเมนูเริ่ม)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.