เมื่อกดปุ่ม Ctrl+Alt+Del พิชิตมารไม่ได้ ... การเปิด/ปิดการใช้งาน Task Manager

หากเวลาเครื่องเรามีปัญหาซึ่งส่วนใหญ่ก็คือการติดไวรัสคอมพิวเตอร์ (เนื่องมาจากความสำส่อนในการใช้งาน ... 55555+) แม้ว่าเราอาจสแกนหาและกำจัดไวรัสทิ้งไปแล้วก็ตามที แต่ทว่าระบบบางส่วนก็อาจจะเสียหายไม่สามารถใช้งานได้ตามปกติ ดังนั้นจึงต้องมานั่งสั่งงานแบบอัตโนมือ เพื่อทำการแก้ไขข้อบกพร่องของระบบ บทความนี้จะเป็นการนำเสนอแนวทางปฏิบัติจริง (อันสุดแสนจะง่ายดาย) สำหรับการแก้ไขปัญหาโลกแตก คือไม่สามารถกดปุ่ม Ctrl+Alt+Del พิชิตมาร ... เพื่อเรียกใช้งาน Task Manager ขึ้นมาได้ ... แอ่นแอ้นนนนน
  1. การเข้าไปแก้ไขผ่านทางคำสั่ง RegEdit (โดยไล่ไปตามเส้นสีแดงที่ขีดไว้นั่นแหละครับ)
  1. การสั่งผ่านทาง Registry File (Reg)
  2. จากภาพ คือ ข้อความตัวอักษรธรรมดาๆนี่เอง แต่มีนามสกุลเป็น Reg ซึ่งเราสามารถกดดับเบิ้ลคลิ๊ก เพื่อเรียกขึ้นมาใช้งานได้เลย
  1. การสั่งผ่านทาง Command Line โดยใช้คำสั่ง regedit

  2. /S เป็น Option เพื่อยกเลิกการยืนยันในการลงทะเบียนระบบ นั่นคือ Dialog ข้างบนจะไม่ปรากฏออกมา
หากไปบอกอย่างนี้ สำหรับผู้คนทั่วไปในระดับผู้ใช้งาน (Users) เขา (หรือเธอ) ก็คงจะนำมาใช้งานได้แบบไม่ค่อยจะสะดวกสบายนัก และ ด้วยความที่ตัวเราเองต้องการจะฝึกฝนเป็นนักพัฒนาซอฟท์แวร์ ดังนั้นมันควรที่จะต้องใส่ติ่งไอเดียความคิดเข้าไป เพื่อเป็นการฝึกสมองประลองปัญญา ผมจึงนำเสนอบทความนี้เป็นแนวทางให้พี่น้องทุกท่านได้ลองชิมดู ... เอิ๊กๆๆๆๆ ... เราอย่าไปมองแค่ว่า แหมแค่เรื่องง่ายๆหมูๆแบบนี้จะทำไปมันทำไมให้เสียเวลา ... ซึ่งผมถามกลับก่อนเลยว่า แล้วก่อนหน้านี้คุณคิดว่าจะทำมันบ้างหรือเปล่า ?????
หลักการทำงานของโปรแกรมนี้ไม่ได้ยุ่งยากสลับซับซ้อนอะไรเลย เพราะเราจะไม่เข้าถึง Key/Sub Key ต่างๆที่อยู่ใน Registry โดยตรงผ่านทาง API (Application Programming Interface) เพื่อลดกระบวนการขั้นตอนที่ยุ่งยากออกไป และง่ายต่อการศึกษา ... โดยหลักการมีอยู่ว่า ...
  1. สร้าง Text File ขึ้นมา 1 ไฟล์ ให้มีนามสกุลเป็น Reg
  2. กำหนด Key/Sub Key ต่างๆขึ้นมาตามที่เราต้องการ
  3. ทำการ Registry ระบบ โดยให้ผ่านทางคำสั่ง Shell
  4. ลบไฟล์ Reg ที่สร้างขึ้นมานั้นทิ้งไป ... จบ
  5. บทความนี้คุณก็ไม่จำเป็นต้องรู้หลักการของเปิด/ปิดไฟล์ ... ให้ดูจากโค้ดแล้วค่อยไปลงรายละเอียดเพิ่มเติมเอาเองได้ครับผม
ดาวน์โหลด Source Code สำหรับ MS Visual Basic 6.0 - Service Pack 6
ดาวน์โหลดโปรแกรม TaskManagerOnOff.exe เพื่อนำไปใช้งานได้เลย
ดาวน์โหลด TaskManagerOnOff.vbs เพื่อดู Script
ดาวน์โหลด Visual Basic 6.0 SP5: Run-Time Redistribution Pack
ดาวน์โหลด Microsoft Data Access Object (MDAC) และ Jet 4.0 Update
ดาวน์โหลด Microsoft Visual Basic Service Pack 6
เริ่มต้นกระบวนการทำงาน

' โปรแกรมย่อยในการเปิดใช้งาน Task Manager
Private Sub EnableTaskMgr()
' เริ่มต้นการสร้างเท็กซ์ไฟล์ (Text File หรือ ไฟล์ตัวอักขระ ข้อความ นี่แหละครับ) ขึ้นมาใหม่
' Output คือ เป็นการสั่งให้เขียนข้อมูลลงไปในไฟล์
Open "C:\TaskTemp.reg" For Output As #1

' สร้างข้อมูลของการลงทะเบียนระบบ (Registry)
Print #1, "Windows Registry Editor Version 5.00"
' แค่เลื่อนบรรทัดใหม่ไป (กิ๊บเก๋ไปงั้น)
Print #1, ""

' กำหนด หรือ ระบุคีย์ที่ต้องการ
Print #1, "[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]"

' กำหนดค่าเป็น 0 คือ การเปิดใช้งาน Task Manager ได้ (Enabled)
' อันที่จริงเมื่อ DisableTaskMgr = 0 หรือ False ในทางโปรแกรมน่ะครับ ...
' แต่ผมให้ความหมายในการเปิดใช้งานของ Task Manager ได้ (Enabled)
Print #1, """DisableTaskMgr""" & "=dword:00000000"

' ปิดไฟล์
Close #1

' สั่งให้ลงทะเบียนระบบ ... ผ่านทางคำสั่ง Shell (เมื่อต้องการให้ไปทำงานยัง Application ตัวอื่น)
' การใช้ Option /S คือ ไม่ต้องยืนยันการลงทะเบียนระบบ

Shell ("Regedit /S C:\TaskTemp.reg")

' เมื่อใช้งานเสร็จเรียบร้อยแล้ว ให้จัดการลบไฟล์ TaskTemp.Reg ทิ้งไปได้เลย ด้วยคำสั่ง Kill
Kill "C:\TaskTemp.reg"
End Sub

' โปรแกรมย่อยในการปิดใช้งาน Task Manager
Private Sub DisableTaskMgr()

Open "C:\TaskTemp.reg" For Output As #1
Print #1, "Windows Registry Editor Version 5.00"
Print #1, ""
Print #1, "[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]"
' กำหนดค่าเป็น 1 คือ การบล็อก Task Manager (Disabled)
Print #1, """DisableTaskMgr""" & "=dword:00000001"

Close #1
Shell ("Regedit /S C:\TaskTemp.reg")
Kill "C:\TaskTemp.reg"
End Sub

หากมีของเดิมอยู่แล้ว ก็ลองทดสอบโดยการเปลี่ยนเป็นชื่อใหม่ หรือ ลบทิ้งไปเลยก็ได้



ผลจากการรันโปรแกรม



Private Sub cmdOK_Click()
' เลือกเปิดการใช้งาน Task Manager
If chkTask(0).Value = vbChecked Then
' ไปโปรแกรมย่อยเปิดใช้งาน Task Manager
Call EnableTaskMgr

' ทดสอบสั่งให้ Task Manager ทำงาน โดยให้โฟกัส Application ไปด้วย vbNormalFocus
Shell ("TaskMgr.exe"), vbNormalFocus

' เลือกปิดการใช้งาน Task Manager
Else
Call DisableTaskMgr
Shell ("TaskMgr.exe")
End If
End Sub
เห็นมั้ยครับว่างาน ง่ายๆหมูๆแบบนี้ หากเราพยายามคิดจินตนาการ งานสร้างสรรค์ขึ้นมาแล้ว นอกจากได้พัฒนาในด้านทักษะ ฝีมือมากยิ่งขึ้นไป เรายังสามารถนำมาสร้างประโยชน์ให้กับทั้งตัวเราเอง และ ผู้อื่นในสังคมได้อีกด้วย ... บทความนี้มันก็มีทั้งคุณ และ โทษ ก็อยู่ที่ว่าคุณจะเลือกนำไปใช้ในทางด้านไหนก็แล้วกันครับผม

ทำไม่ได้ หรือ ไม่ได้ทำ หรือ ไม่ได้แม้แต่กระทั่งจะคิดเลย ...

โพสต์ยอดนิยมจากบล็อกนี้

I miss you all กับ I miss all of you ต่างกันอย่างไร

ปัญหาและเฉลยวิชาธรรม นักธรรมชั้นตรี สอบในสนามหลวง วันอังคาร ที่ ๒๙ กันยายน พ.ศ.๒๕๕๒

ปัญหาและเฉลยวิชาอนุพุทธประวัติ นักธรรมชั้นโท สอบในสนามหลวง วันอาทิตย์ ที่ ๒๐ พฤศจิกายน พ.ศ. ๒๕๔๘