Tắt màn hình bằng một dòng lệnh trên C++

turn off

Thông thường các máy tính xách tay thường có một phím để tắt nhanh màn hình  để tiết kiệm điện khi nghe nhạc. Nhưng cũng có rất nhiều máy không có phím này, nhất là các máy thuộc dòng Dell. Bài viết này sẽ giúp bạn tự viết một chương trình mà khi click vào biểu tượng của chương trình màn hình sẽ  tự động tắt và khi nhấn một phím bất kỳ màn hình sẽ mở lại.

1. Bước thứ nhất, tạo một project  C++

–  Xin lưu ý chương trình mình ở đây dùng visual studio 2010.

–  Tạo một project Win32 Project trong mục Visual C++, rồi đặt tên cho nó trong phần Name. (Như hình bên dưới). Trong cửa sổ hiện ra chọn next sau đó check vào ô Empty project. Rồi Ok.

image

–  Sau đó trong menu project bạn chọn Add New Item… ( Ctrl + Shift + A), ở hộp thoại hiện ra chọn C++ file(.cpp) rồi đặt tên cho file .cpp của bạn ở ô Name (ở đây mình đặt là: turn off minitor). sao đó click vào nút Add.

image

2.   Viết code cho chương trình.

#include <windows.h>

int WINAPI WinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    // Loai bo tuong tac nguoi dung sau 500 mili giay
    Sleep(500);

    // Tat man hinh
    SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM) 2);

    return 0;
}

Đoạn code trên sử dụng hàm SendMessage, là một tính năng rất hữu ích để điều khiển các trạng thái như bật, tắt màn hình…

Giải thích:

  • hWnd : điều khiển các cửa sổ sẽ nhận được thông điệp, nếu bạn không muốn bạn tâm tạo ra trong việc tạo ra một cửa sổ để gởi thông điệp (message) đến, bạn có thể gởi thông điệp cho tất cả các cửa sổ cấp cao nhất (HWND_BROADCAST) hay bạn cũng có thể sử dụng hàm GetDeskTopWindow để gởi thông điệp đến các cửa sổ trên desktop.
  • Msg : chỉ định thông điệp gởi đi (WM_SYSCOMMAND).
  • wPrama :  chỉ định thông điệp bổ sung cụ thể (SC_MINITOR POWER).
  • IPrama :  1 – màn hình hiển thị sử dụng tính năng tiết kiệm điện (low power).  2 – Tắt màn hình.  -1 – bật màn hình.

–  Bây giờ bạn ấn F5 để chạy chương trình. Màn hình của bạn sẽ tắt đi, ấn phím bất kỳ để mở lại màn hình. Bạn vào thư mục debug của project để copy file thực thi của chương trình ra màn hình desktop để tiện sử dụng. Nhưng còn một vấn đề nữa là icon của chương trình được để mặt định rất xấu. Phần tiếp theo sẽ hướng dẫn cách thay icon cho chương trình.

3. Tạo Icon cho chương trình.

–  Thông thường Windows chỉ hỗ trợ thay đổi icon cho các Folder, còn các file thực thi .exe thì chúng ta hay sử dụng các phần mềm khác để hỗ trợ.

–  Công việc thay icon mặc định của khi viết trên môi trường windows Form rất dễ dàng, còn C++ thì ta làm hơi phức tạp hơn chút. Cụ thể như sau:

–  Trong click menu project –> Add New Item… (Ctrl + Shift + A). Trong hộp thoại hiện ra chọn Resource File (.rc)  và đặt tên cho nó trong phần Name.

image

–  Trong solution explorer bạn click vào file resource mà bạn vừa tạo.

image

–  Sau đó click chuột phải vào resource vừa tạo chọn View code. Nhấn Ctrl + A rồi delete hết những gì viết trên code đó và viết vào 2 dòng sau:

#include <winver.h>

IDI_MAINICO     ICON   "icon.ico"

Với “icon.ico” là đường dẫn tới file icon của bạn. Do ở trên tôi đã copy file icon đó qua thư mục chứ code của project nên không cần đường dẫn. Nếu bạn lấy đường dẫn tới một file icon từ ổ đĩa khác thì có thể viết như sau:

#include <winver.h>

IDI_MAINICO ICON "D:/Software/Icon/337 icons Windows 7_/Icons/win.ico"

–  Khi bạn nhấn F5 để chạy chương trình thì file thực thi .exe trong thư mục debug của bạn sẽ chuyển sang icon mà bạn đã chọn đường dẫn trong code của resource. Giống như:

image

– Bây giờ bạn chỉ việc copy file .exe đó ra màn hình desktop để khi nào cần thì sử dụng cho tiện. Chúc bạn thành công!

Click vào đây để download project viết trên visual studio 2010

Advertisements

About thanhcuong1990

Handsome and talent!! ^^
This entry was posted in C++. Bookmark the permalink.

6 Responses to Tắt màn hình bằng một dòng lệnh trên C++

  1. quanntu says:

    thanks!…………………………………..

  2. pepsi says:

    web ban rat hay minh hoc duoc nhieu lam thaks

  3. dantochoccode says:

    web cua may hay lam, tao la dan toc, tao hoc duoc nhieu lam, cam on may

  4. them says:

    cám ơn anh. anh thật giỏi

  5. ho van vuong says:

    web nay khong co dien dan ha anh..

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s