C Programming: เขียนโปรแกรมตั้งเวลาshutdownเครื่องล่วงหน้ากันเถอะ ;P

สวัสดีฮ้าฟฟ..กลับมาพบจอมมารน้อยอีกครั้งกันนะคร้าบบ

              วันนี้จะมาอธิบายการเขียนโค้ดสั่งคอมปิดเครื่องตามกำหนดเวลากัน ด้วยความที่จอมมารน้อยเปิดโหลดอะไรบางอย่างไว้และไม่รู้จะโหลดเสร็จเมื่อไหร่ และอยากจะนอนแล้ว แต่กะเวลาที่จะโหลดเสร็จได้ เลยหาวิธีสั่งให้คอมปิดตามกำหนดเวลา เช่น คาดเวลาว่าโหลดเสร็จในอีก 3 ชั่วโมงข้างหน้า ตามปกติแล้วจะมีคำสั่งที่สั่งผ่าน cmd หรือ command line ด้วยคำสั่ง

shutdown -s -t 10800

-s >> สั่ง shutdown

-t >> กำหนดเวลา

10800 >> เวลาที่ต้องการให้ปิดเครื่อง หน่วยเป็นวินาทีนะ (3 ชั่วโมง ก็คือ 3x60x60 = 10800 นั่นเองฮะ)

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

**ปล.สามารถดาวน์โหลดSource code หรือใครไม่อยากยุ่งยากก็เอาตัวโปรแกรม myShutdown.exe คลิกเพื่อใช้งานได้เลยนะ ลิ้งก์อยู่ด้านล่างสุด แต่ว่าคอมที่ใช้ได้ต้องเป็น 64bit นะ ถ้าไม่ใช่ต้องเอาโค้ดไปคอมไพล์ใหม่จ้าา *3*

วิธีการนำโค้ดไปใช้งาน (การใช้งานโปรแกรมอยู่ข้อ 4)

1. เปิด Dev-C++ , Code::Blocks หรือโปรแกรมอื่นๆที่สามารถคอมไพล์ภาษาซีได้ หรือจะใช้ Notepad ก็ได้นะ แต่เวลาเซฟให้เซฟด้วยสกุลลงท้าย .c เช่น “myShutdown.c” ต้องมีฟันหนู(“) ด้วยนะ เป็นการบังคับให้เซฟด้วยสกุลนี้ ไม่งั้นอาจได้ออกมาเป็น .txt นะ

2. เขียนโค้ดตามภาพเลยนะ แล้วก็เซฟ เช่นเซฟชื่อว่า myShutdown.c ข้อควรระวังอย่างแรง!! ห้ามเซฟด้วยชื่อ shutdown.c เด็ดขาด เนื่องจากตอนคอมไพล์จะได้ตัวโปรแกรมออกมาเป็น shutdown.exe ซึ่งเกิดความทับซ้อนกับตัวของระบบเอง เตือนแล้วนะ 55555+

3. คอมไพล์โปรแกรม จะได้หน้าต่างดำๆ (cmd หรือ command line หรือ หน้าต่าง DOS) ถ้าใช้ Notepad เขียน ให้ดูวิธีการคอมไพล์ที่กระทู้นี้ ( C Programming: compile โปรแกรมด้วย command prompt ) นะ

4. ได้โปรแกรมออกมาแล้วหล่ะ ที่นี้คราวหน้าถ้าอยากจะให้ปิดเครื่องตามเวลาที่กำหนด ก็แค่ดับเบิ้ลคลิกแค่ myShutdown.exe เมื่อคลิกจะได้หน้าต่างแบบนี้

first

ถ้าต้องการจะ shutdown ตามช่วงเลา ก็ใส่ s แล้ว enter จะมีคำสั่งให้ใส่เวลาที่ต้องการปิดเครื่อง ก็ใส่เวลาลงไป หน่วยเป็นวินาทีนะๆ

ถ้าต้องการยกเลิกการ shutdown ก็ดับเบิ้ลคลิกโปรแกรมขึ้นมาใหม่ แล้วใส่ a แทน

คำอธิบายโค้ด (ควรมีพื้นฐานโครงสร้างภาษาซีมาก่อน อธิบายเพียงคร่าวๆ โดยเฉพาะในส่วนฟังก์ชันต่างๆ คร่าวมากๆนะฮะ)

  •  #include >> เรียก header ที่รวมฟังก์ชันต่างๆที่จำเป็นในการเขียนโค้ด ซึ่งในที่นี้เรียก
    •  stdio.h >> standard input output ก็คือรวมฟังก์ชันพื้นฐานในส่วนการแสดงผลและรับค่า เช่น printf scanf นะฮะ
    • stdlib.h >> standard library ในที่นี้เรียกใช้ด้วยเนื่องจากต้องใช้ฟังก์ชัน system ซึ่งฟังก์ชันนี้อยู่ใน stdlib.h นั่นเอง
    • string.h >> อันนี้จะเป็นพวกเกี่ยวกับตัวอักษร เช่น
      • strcpy(a,”Hello”); //ฟังก์ชันนี้จะทำการก๊อปปี้ข้อมูลทางด้านขวาใส่ด้านซ้าย หรือก็คือนำเอาคำว่า Hello ลงไปใส่ในตัวแปร a
      • strcat(a,”World”); //ฟังก์ชันนี้จะเอาข้อความทางด้านขวาไปต่อข้อความในด้านซ้าย ดูจากบรรทัดก่อนหน้า a เก็บคำว่า Hello อยู่ ดังนั้นเมื่อนำคำว่า “World” ไปต่อหลัง a ก็จะกลายเป็น HelloWorld นั่นเอง
  • int main() { …Statement… } >> เป็นฟังก์ชันหลักในการทำงานของโปรแกรม ภายใน { } จะใส่คำสั่งต่างๆในการทำงานลงไป ก็คือใส่คำสั่งต่างๆลงในส่วน Statement ตรงนี้นั่นเองนะ
  • ในส่วน function พื้นฐานต่างๆ
    • printf(” “); //print format  เป็นคำสั่งในการแสดงข้อความบนหน้าจอ
    • scanf(” “,&var); //scan format เป็นคำสั่งในการรับค่าเข้าไปเก็บในตัวแปร
    • getch(); // การรับตัวอักษร 1 ตัว เนื่องจากเขียน C เลยไม่มีปัญหา แต่หากใช้ C++ จะพบปัญหาเกิดขึ้น เนื่องจาก getch(); เป็นฟังก์ชันที่อยู่ใน conio.h ดังนั้นหากใช้ C++ ในการเขียน จะต้องประกาศ #include “conio.h” ด้วยนั่นเอง
    • system(); //เป็นฟังก์ชันที่ช่วยให้สามารถสั่งคำสั่งของ DOS ได้

Download: myShutdown

Review code on GitHub: https://github.com/npmoewii/window-shutdown/

จอมมารน้อย

ก็แค่จอมมารตัวน้อยที่น่ารักที่สุดที่อยากพัฒนาการเขียนโปรแกรมเพื่อสันติสุขของชาวโลก..เท่านั้นเอง >w<

ใส่ความเห็น