鎖定計算機和關閉顯示器
阿新 • • 發佈:2018-04-24
顯示器 鎖定計算機 簡介
在計算機的日常使用中,有時候希望顯示器關閉,需要主機繼續運行,對於臺式主機來說按下顯示器電源按鈕就可以了,筆記本除了更改電源模式後合上屏幕也沒有其他辦法了,經過研究其實可以通過給Windows發送關閉顯示器的消息來實現這個功能,詳情見代碼。
源碼
/* * 版權所有 (C) 2015 dccw (http://blog.51cto.com/13187574) * * 按照 Apache 許可 2.0 版本(稱為“許可”)授予許可; * 要使用此文件,必須遵循“許可”中的說明。 * 你可以從以下位置獲取“許可”的副本 * * http://www.apache.org/licenses/LICENSE-2.0 * * 除非適用法律要求或書面同意,根據 * “許可”分配的軟件“按原樣”分配, * 不提供任何形式(無論是明示還是默示)的擔保和條件。 * 參見“許可”了解“許可”中管理權限和 * 限制的指定語言。 * * 本代碼實現了關閉顯示器和鎖定計算的功能 * * 編譯命令:cl.exe /D "NDEBUG" 關閉顯示器.c /link kernel32.lib user32.lib * 使用方法: * 命令行執行: 關閉顯示器.exe [-?hdl] * 快捷方式執行: 新建桌面快捷方式->輸入對象位置->打開該快捷方式的屬性頁面 * ->在目標的後面加上相應的參數->點擊快捷鍵輸入框,按下你想使用的快捷鍵 * ->點擊確定->焦點位於桌面時按下你設置的快捷鍵即可運行 * * 恢復方法 * 按下任意鍵/晃動鼠標/點擊鼠標 */ #include <stdio.h> #include <tchar.h> #include <windows.h> static int flag_show_usage = 0; static int flag_lock_workstation = 0; static int flag_shutdown_monitor = 0; static void show_usage(char const *argv) { fprintf(stderr,"用法: %s [-?hdl]\n\n" "選項:\n" " -?,-h : 幫助\n" " -d : 關閉顯示器\n" " -l : 鎖定計算機\n", argv ); } static int get_option(int argc, char *const *argv) { char *p; int i; for (i = 1; i < argc; i++) { p = argv[i]; if (*p++ != ‘-‘) { fprintf(stderr,"無效的選項: \"%s\"", argv[i]); return -1; } while (*p) { switch (*p++) { case ‘?‘: case ‘h‘: flag_show_usage = 1; break; case ‘d‘: flag_shutdown_monitor = 1; break; case ‘l‘: flag_lock_workstation = 1; break; default: fprintf(stderr,"無效的選項: \"%c\"", *(p - 1)); return -1; } } } return 0; } static void lock_workstation(void) { if( !LockWorkStation() ) { _tprintf(_T("鎖定計算機失敗 %d\n"), GetLastError()); } } static void shutdown_monitor(void) { SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM)2); } int main(int argc, char **argv) { if (get_option(argc, argv) != 0) { return 1; } if (flag_show_usage) { show_usage(argv[0]); } if (flag_lock_workstation) { lock_workstation(); } if (flag_shutdown_monitor) { shutdown_monitor(); } return 0; }
編譯方法
cl.exe /D "NDEBUG" 關閉顯示器.c /link kernel32.lib user32.lib
使用方法
- 命令行執行: 關閉顯示器.exe [-?hdl]
- 快捷方式執行: 新建桌面快捷方式->輸入對象位置->打開該快捷方式的屬性頁面->在目標的後面加上相應的參數->點擊快捷鍵輸入框,按下你想使用的快捷鍵->點擊確定->焦點位於桌面時按下你設置的快捷鍵即可運行
恢復方法
- 按下任意鍵
- 晃動/點擊鼠標
鎖定計算機和關閉顯示器