ไวรัสที่ทำงานอยู่ในปัจจุบันที่นับถอยหลังก็มาจากที่ อยากเก่งก็เขียนเองแต่ VB ตัวนี้คงไม่ได้ผลเท่าที่ควรต้องประยุกต์ใช้นะครับ
"ควรใช้ฟังก์ชั่นนี้ใช้ให้เกิดประโยชน์ในทางที่ดีและสร้างสรรค์"คุณสมบัติของฟังก์ InitiateSystemShutdown สามารถจะระบุและกำหนดให้ คอมพิวเตอร์ที่อยู่ในระบบเน็ทเวิคส์เดียวกัน นั้นๆ สามารถ Shutdown,Restart,Logoff เครื่องได้ โดยการระบุชื่อของเครื่องคอมพิวเตอร์นั้น แต่ต้องเป็นระบบปฎิบัติเดียวกัน คือ Windown NT3.1 ,Windown XP,Windown 2000(อันนี้ยังไม่ได้ทดสอบ)
ระบบปฎิบัติการที่สนับสนุน API fucntion นี้ : Windows NT 3.1 ขึ้นไป ,Windown XP,Windows2000; ส่วน Win9x/ME: ไม่สนับสนุนฟังก์ชั่นนี้
ไฟล์ดาต้าไลเบอร์รี่ ที่ต้องการ : Advapi32.dll
ทำการกำหนดฟังก์ชั่นจากไฟล์ Advapi32.dll จะใช้แบบ Pubic หรือ Private ก็ได้แล้วแต่โปรแกรมที่เราจะสร้างขึ้นมา
Private Declare Function InitiateSystemShutdown Lib _
"advapi32.dll" _
Alias "InitiateSystemShutdownA" _
(ByVal lpMachineName As String, _
ByVal lpMessage As String, _
ByVal dwTimeout As Long, _
ByVal bForceAppsClosed As Long, _
ByVal bRebootAfterShutdown As Long) As Long
ความหมายและหน้าที่ของตัวแปรที่ใช้ใน Fucntion นี้ ผมจะขออธิบายเฉพาะฟังก์ชั่นของ InitiateSystemShutdown เท่านั้นส่วนฟังก์ชั่นประกอบในโปรแกรมตัวอย่างนี้ไม่ขออธิบายนะครับ
lpMachineName
ชื่อคอมพิวเตอร์ที่ระบบให้ทำการ shut down ถ้า lpMachineName เป็นค่าว่างเปล่า จะเป็นการ shuts down ที่ local computer
lpMessage
ตัวแปรสำหรับการแสดงข้อความที่ Dialog Box ตอนจะ Shutdown เครื่อง จะไม่ใส่ก็นะครับถ้าไม่ต้องการให้แสดง
dwTimeout
ระบุเวลา (เป็น seconds นะครับ) หลังจากที่ dialog box การ Shutdown แสดงแล้ว การ shutdown cสามารถจะหยุดได้ด้วยการ AbortSystemShutdown function ถ้า dwTimeout ไม่เป็นศูนย์, InitiateSystemShutdown จะแสดง dialog box บนเครื่อง computer ที่เราระบบให้ทำงาน dialog box จะแสดงชื่อของ User ผู้ซึ่งเรียก function, แสดงข้อความที่ระบุไว้ใน lpMessage , และ กำหนดให้ผู้ใช้ไปที่ log off , dialog box ส่งเสียง เมื่อมันแสดงบนหน้าจอบน windows อื่นๆในระบบ Windows , เราสามารถเคลื่อนย้าย Dialog box แต่ไม่สามารถปิดได้นะครับ. หลังจากที่โปรแกรมนับเวลาไปก่อนจะบังคับให้ shutdown, ถ้าผู้ใช้ logs off, จะไม่สามารถขัดขว้างการ shutdown ได้ อื่นใดก็ตาม computer ที่ shut down เมื่อ timer หมดเวลาแล้ว ถ้าหาก dwTimeout เป็นศูนย์ computer จะ shuts down โดยไม่ทำการแสดง dialog box, และ shutdown ไม่สามารถหยุดได้ด้วย AbortSystemShutdown
bForceAppsClosed
เป็นการกำหนดให้ถามหรือตรวจสอบโปรแกรมที่เปิดใช้ในเครื่องนั้นๆ Save ข้อมูลก่อน ถ้าค่านี้เป็นจริง( TRUE), จะปิดโปรแกรมนั้นๆเลย แต่ถ้าค่านี้เป็นเท็จ(FALSE), dialog box จะแสดงก่อนให้ผู้ใช้เลือกว่าจะ Save ข้อมูลหรือไม่ครับ
bRebootAfterShutdown ค่าจะกำหนดว่าจะให้คอมพิวเตอร์ไป Restart เครื่องใหม่หรือเปล่าหลังจากที่ถูก Shutdown ไปแล้ว ถ้าค่านี้เป็นจริง(TRUE) เจ้า computerจะไป restart เครื่องให้ใหม่ครับ แต่ถ้าหาก ค่านี้เป็นเท็จ(FALSE) ก็จะไม่ Restart และหยุดการทำงานของ diskและเคลียร์หน้าจอและแสดงข้อความ"safe to power down."
เอาแหละครับมาสร้างโปรแกรมกันดีกว่า โดยเริ่มต้นด้วยการเปิด VB New Project ขึ้นมาใหม่ จากนั้นเข้าไปที่ส่วนของ Code Viewer แล้วเริ่มเขียนโค๊ด หรือจะCopy ไป วาง ก็ได้โดยตัดส่วนที่เป็นตัวหนังสือออก
กำหนดค่าคงที่ในโปรแกรม
**Hidden Content: To see this hidden content your post count must be 5 or greater.**
หมายเหตุการส่งคืนค่าอีกนิดครับ
ถ้า ฟังก์ชั่นนี้ทำงานสำเร็จ จะคืนค่าที่ไม่ใช่ศูนย์นะครับ แต่หากว่าฟังก์ชั่นนี้ทำงานไม่สำเร็จจะส่งคืนค่ากลับมาเป็นศูนย์ สามารถจะไปรับค่าเพื่อดูข้อความผิดผลาดได้ด้วยการเรียกฟังก์ชั่น GetLastError นะครับ
หากจะ Copy Code ก็ทำได้นะครับเอาไป Paste ที่ Code Viwer ของ VB อันไหนที่เป็นคำอธิยบายจะขึ้น Error code ก็ใส่เครื่องหมาย ' Mark ไว้นะครับและขอให้สนุกกับการศึกษาการทำงานของฟังก์ชั่นนี้นะครับ


Reply With Quote
</div>
</div>
