十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
在計(jì)算機(jī)的日常使用中,有時候希望顯示器關(guān)閉,需要主機(jī)繼續(xù)運(yùn)行,對于臺式主機(jī)來說按下顯示器電源按鈕就可以了,筆記本除了更改電源模式后合上屏幕也沒有其他辦法了,經(jīng)過研究其實(shí)可以通過給Windows發(fā)送關(guān)閉顯示器的消息來實(shí)現(xiàn)這個功能,詳情見代碼。
10余年的永和網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整永和建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“永和網(wǎng)站設(shè)計(jì)”,“永和網(wǎng)站推廣”以來,每個客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
/*
* 版權(quán)所有 (C) 2015 dccw (https://blog.51cto.com/13187574)
*
* 按照 Apache 許可 2.0 版本(稱為“許可”)授予許可;
* 要使用此文件,必須遵循“許可”中的說明。
* 你可以從以下位置獲取“許可”的副本
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* 除非適用法律要求或書面同意,根據(jù)
* “許可”分配的軟件“按原樣”分配,
* 不提供任何形式(無論是明示還是默示)的擔(dān)保和條件。
* 參見“許可”了解“許可”中管理權(quán)限和
* 限制的指定語言。
*
* 本代碼實(shí)現(xiàn)了關(guān)閉顯示器和鎖定計(jì)算的功能
*
* 編譯命令:cl.exe /D "NDEBUG" 關(guān)閉顯示器.c /link kernel32.lib user32.lib
* 使用方法:
* 命令行執(zhí)行: 關(guān)閉顯示器.exe [-?hdl]
* 快捷方式執(zhí)行: 新建桌面快捷方式->輸入對象位置->打開該快捷方式的屬性頁面
* ->在目標(biāo)的后面加上相應(yīng)的參數(shù)->點(diǎn)擊快捷鍵輸入框,按下你想使用的快捷鍵
* ->點(diǎn)擊確定->焦點(diǎn)位于桌面時按下你設(shè)置的快捷鍵即可運(yùn)行
*
* 恢復(fù)方法
* 按下任意鍵/晃動鼠標(biāo)/點(diǎn)擊鼠標(biāo)
*/
#include
#include
#include
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"
"選項(xiàng):\n"
" -?,-h : 幫助\n"
" -d : 關(guān)閉顯示器\n"
" -l : 鎖定計(jì)算機(jī)\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,"無效的選項(xiàng): \"%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,"無效的選項(xiàng): \"%c\"", *(p - 1));
return -1;
}
}
}
return 0;
}
static void lock_workstation(void) {
if( !LockWorkStation() ) {
_tprintf(_T("鎖定計(jì)算機(jī)失敗 %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" 關(guān)閉顯示器.c /link kernel32.lib user32.lib