วิธีปิดโปรแกรมจาก Visual Basic

สารบัญ:

วิธีปิดโปรแกรมจาก Visual Basic
วิธีปิดโปรแกรมจาก Visual Basic

วีดีโอ: วิธีปิดโปรแกรมจาก Visual Basic

วีดีโอ: วิธีปิดโปรแกรมจาก Visual Basic
วีดีโอ: ปิดโปรแกรมที่รันอัตโนมัติใน windows startup 2024, พฤศจิกายน
Anonim

ภาษาการเขียนโปรแกรมที่ยืดหยุ่นและทรงพลัง Visual Basic. NET เป็นหนึ่งในเครื่องมือที่สร้างขึ้นเป็นพิเศษสำหรับการพัฒนาแอปพลิเคชันสำหรับแพลตฟอร์ม Microsoft. NET ช่วยให้คุณใช้ความสามารถทั้งหมดได้อย่างเต็มที่ โดยเฉพาะอย่างยิ่ง ส่วนประกอบของเนมสเปซ System. Diagnostics ช่วยให้คุณสามารถโต้ตอบกับกระบวนการ บันทึกเหตุการณ์ และตัวนับประสิทธิภาพได้ ตัวอย่างเช่น คุณสามารถปิดโปรแกรมจาก Visual Basic โดยใช้คลาส Process

วิธีปิดโปรแกรมจาก Visual Basic
วิธีปิดโปรแกรมจาก Visual Basic

จำเป็น

ไมโครซอฟต์วิชวลสตูดิโอ

คำแนะนำ

ขั้นตอนที่ 1

อิมพอร์ตเนมสเปซ System, System. Diagnostics และ System. Threading เพิ่มบรรทัดของรหัสต่อไปนี้ที่จุดเริ่มต้นของโมดูล:

ระบบนำเข้า

นำเข้า System. Diagnostics

นำเข้า System. Threading

นี่เป็นเพียงเพื่อความสะดวกในการใช้ส่วนประกอบที่เกี่ยวข้องกับเนมสเปซเหล่านี้

ขั้นตอนที่ 2

รับข้อมูลของกระบวนการที่จะปิด ใช้อ็อบเจ็กต์คลาส System. Diagnostics. Process ประกาศตัวแปรของคลาสนี้:

Dim oProc เป็นกระบวนการ

จากนั้นใช้วิธีการบางอย่างเพื่อค้นหากระบวนการที่จำเป็น

ขั้นตอนที่ 3

หากโปรแกรมซึ่งจำเป็นต้องปิดในอนาคตเปิดขึ้นโดยแอปพลิเคชันที่กำลังพัฒนา ให้บันทึกวัตถุที่ส่งคืนโดยวิธี Start เมื่อเริ่มต้น:

oProc = Process. Start ("app.exe")

ขั้นตอนที่ 4

หากคุณต้องการปิดกระบวนการด้วยตัวระบุที่รู้จัก ให้ใช้เมธอด GetProcessById แบบคงที่ของคลาส Process เพื่อรับอ็อบเจ็กต์ที่เกี่ยวข้อง:

oProc = Process. GetProcessById (nID)

โดยที่ nID เป็นตัวระบุตัวเลขของกระบวนการ

ขั้นตอนที่ 5

หากทราบคุณลักษณะบางอย่างของกระบวนการเป้าหมายเท่านั้น ให้ค้นหา รับรายการกระบวนการที่ทำงานบนเครื่องโลคัลเป็นอาร์เรย์ของอ็อบเจ็กต์ของคลาส Process ใช้ GetProcesses (ส่งคืนกระบวนการทั้งหมด) หรือ GetProcessesByName (เฉพาะกระบวนการที่มีชื่อที่กำหนด):

หรี่ aoAllProcesses As Process () = Process. GetProcesses ()

Dim aoProcsByName As Process () = Process. GetProcessesByName ("app.exe")

แสดงรายการวัตถุอาร์เรย์โดยใช้การวนซ้ำ:

Dim oProc เป็นกระบวนการ

สำหรับแต่ละ oProc ใน aoAllProcesses

'การดำเนินการกับ oProc

ถัดไป

วนรอบคุณสมบัติ MainModule, MainWindowTitle, ProcessName ฯลฯ เพื่อค้นหาวัตถุที่ต้องการ

ขั้นตอนที่ 6

พยายามยุติโปรแกรมโดยส่งข้อความปิดไปยังหน้าต่างหลัก เรียกวิธีการ CloseMainWindow ของวัตถุที่สอดคล้องกับกระบวนการเป้าหมาย หากจำเป็น ให้รอให้แอปพลิเคชันเสร็จสิ้นโดยเรียก WaitForExit เช่น:

oProc. CloseMainWindow ()

oProc. WaitForExit ()

วิธีนี้ไม่รับประกันการสิ้นสุดของโปรแกรม เนื่องจากข้อความปิดหน้าต่างมักถูกประมวลผลและสามารถละเว้นได้

ขั้นตอนที่ 7

รอสักครู่หลังจากเรียก CloseMainWindow เพื่อให้แน่ใจว่าโปรแกรมหยุดทำงาน ใช้วิธีสลีปของคลาสเธรด จากนั้นตรวจสอบสถานะของกระบวนการโดยตรวจสอบคุณสมบัติ HasExited และหากยังไม่เสร็จสิ้น ให้เรียกใช้เมธอด Kill:

กระทู้ สลีป (6000)

oProc.รีเฟรช ()

ถ้าไม่ใช่ oProc. HasExited แล้ว

oProc.ฆ่า ()

จบถ้า

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

ขั้นตอนที่ 8

เพิ่มทรัพยากรระบบหลังจากโปรแกรมเสร็จสิ้นโดยใช้วิธีการปิด:

oProc.ปิด ()

ขั้นตอนที่ 9

เพื่อหลีกเลี่ยงข้อผิดพลาดที่ไม่คาดคิดระหว่างการทำงานของแอปพลิเคชัน ให้วางอัลกอริธึมการปิดโปรแกรมทั้งหมดในบล็อก Try-Catch-End Try ใช้การจัดการข้อยกเว้นที่ครบถ้วนพร้อมข้อความวินิจฉัย หากจำเป็น

แนะนำ: