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

หรือติดต่อเข้ามาทาง Inbox ที่ เฟซบุ๊ค ผมครับ

หน้าหลัก
ข่าวสาร - บทความ ทั้งหมด
VB 6/VB.Net
ASP/ASP.Net
จับฉ่ายคอมพิวเตอร์
เรียนรู้ผ่าน Flash Movie
บทความที่มีผู้ตอบล่าสุด  
 RSS Feeds
 ดาวน์โหลดโปรแกรม RSS Reader ได้ที่นี่ ...   Download โปรแกรม RSS Reader

Forum - www.g2gnet.com
Webmaster - www.g2gnet.com
Visitors - Session views
 5 3 5 7 7 8 7

7 ธันวาคม พ.ศ.2549
272 Users On-Line.
Visitors - Page views
 8 6 9 4 0 9 9
1 กุมภาพันธ์ พ.ศ.2551

Google   
เว็บ g2gnet.com
ขนาดตัวอักษร:  

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

Category »  VB 6/VB.Net
โดย : Webmaster เมื่อ 10/11/2551 1:05:00
(อ่าน : 32664) 
หากเวลาเครื่องเรามีปัญหาซึ่งส่วนใหญ่ก็คือการติดไวรัสคอมพิวเตอร์ (เนื่องมาจากความสำส่อนในการใช้งาน ... 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
เห็นมั้ยครับว่างานง่ายๆหมูๆแบบนี้ หากเราพยายามคิดจินตนาการ งานสร้างสรรค์ขึ้นมาแล้ว นอกจากได้พัฒนาในด้านทักษะ ฝีมือมากยิ่งขึ้นไป เรายังสามารถนำมาสร้างประโยชน์ให้กับทั้งตัวเราเอง และ ผู้อื่นในสังคมได้อีกด้วย ... บทความนี้มันก็มีทั้งคุณ และ โทษ ก็อยู่ที่ว่าคุณจะเลือกนำไปใช้ในทางด้านไหนก็แล้วกันครับผม

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


จี ทู จี เน็ต ดอต คอม - g2gNet Dot Com
เลขทะเบียนพาณิชย์อิเล็กทรอนิกส์ 0407314800231
CopyLeft © 2004 - 2099 g2gNet.Com All rights reserved.
Email: [email protected] หรือ โทร. 08-6862-6560