全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1109
推到 Plurk!
推到 Facebook!

如何用程式喚醒睡眠中的程式?

尚未結案
lanfanra
一般會員


發表:48
回覆:51
積分:19
註冊:2003-08-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-04 13:18:35 IP:61.66.xxx.xxx 未訂閱
螢幕如果太久沒有動作,會進入睡眠模式,那如何寫一段程式,讓睡眠中的螢幕,被喚醒呢?
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-04 13:37:16 IP:203.73.xxx.xxx 未訂閱
引言: 螢幕如果太久沒有動作,會進入睡眠模式,那如何寫一段程式,讓睡眠中的螢幕,被喚醒呢?
lanfanra 你好:
(1)只是一個單純的想法,不確定可不可行,建議你自己試試看
(2)利用 Timer1 在一定的週期時間之內,移動滑鼠的位置,例如:
int giCount=0;
__fastcall TForm1::TForm1(TComponent* Owner)
   : TForm(Owner)
{
   Timer1->Interval=1000;
   Timer1->Enabled=true;
}
__fastcall TForm1::~TForm1()
{
   Timer1->Enabled=false;
}
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
   giCount++;
   if(giCount>300) // 5 分鐘
   {
      giCount=0;
      POINT pt;
      GetCursorPos(&pt);
      SetCursorPos(pt.x+1, pt.y+1);
      SetCursorPos(pt.x, pt.y);
   }
}
-- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
lanfanra
一般會員


發表:48
回覆:51
積分:19
註冊:2003-08-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-04 15:06:22 IP:61.66.xxx.xxx 未訂閱
RaynorPao大大您好: 測試過了,不行耶!!!是否有別種方法啊???
afatest
一般會員


發表:11
回覆:18
積分:5
註冊:2003-09-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-04-27 21:07:24 IP:140.129.xxx.xxx 未訂閱
lanfanra 你好:    若以RaynorPao大大的單純想法來看 除了動滑鼠來喚醒睡眠中的程式, 按鍵盤也應該有同樣的效果!    試試下面虛擬按下Shift的動作吧!    keybd_event(VK_LSHIFT,0,0,0); Sleep(0); keybd_event(VK_LSHIFT,0,KEYEVENTF_KEYUP,0);    p.s. 我試過這樣可行喔 笨小孩
------
笨小孩
frankiech
中階會員


發表:7
回覆:78
積分:52
註冊:2002-08-29

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-04-28 08:55:06 IP:61.222.xxx.xxx 未訂閱
引言: [quote] 螢幕如果太久沒有動作,會進入睡眠模式,那如何寫一段程式,讓睡眠中的螢幕,被喚醒呢?
lanfanra 你好:
(1)只是一個單純的想法,不確定可不可行,建議你自己試試看
(2)利用 Timer1 在一定的週期時間之內,移動滑鼠的位置,例如:
int giCount=0;
__fastcall TForm1::TForm1(TComponent* Owner)
   : TForm(Owner)
{
   Timer1->Interval=1000;
   Timer1->Enabled=true;
}
__fastcall TForm1::~TForm1()
{
   Timer1->Enabled=false;
}
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
   giCount  ;
   if(giCount>300) // 5 分鐘
   {
      giCount=0;
      POINT pt;
      GetCursorPos(&pt);
      SetCursorPos(pt.x 1, pt.y 1);
      SetCursorPos(pt.x, pt.y);
   }
}
試試 : POINT pt; GetCursorPos(&pt); SetCursorPos(pt.x 20, pt.y 20);
frankiech
中階會員


發表:7
回覆:78
積分:52
註冊:2002-08-29

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-04-28 08:55:30 IP:61.222.xxx.xxx 未訂閱
引言: [quote] 螢幕如果太久沒有動作,會進入睡眠模式,那如何寫一段程式,讓睡眠中的螢幕,被喚醒呢?
lanfanra 你好:
(1)只是一個單純的想法,不確定可不可行,建議你自己試試看
(2)利用 Timer1 在一定的週期時間之內,移動滑鼠的位置,例如:
int giCount=0;
__fastcall TForm1::TForm1(TComponent* Owner)
   : TForm(Owner)
{
   Timer1->Interval=1000;
   Timer1->Enabled=true;
}
__fastcall TForm1::~TForm1()
{
   Timer1->Enabled=false;
}
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
   giCount  ;
   if(giCount>300) // 5 分鐘
   {
      giCount=0;
      POINT pt;
      GetCursorPos(&pt);
      SetCursorPos(pt.x 1, pt.y 1);
      SetCursorPos(pt.x, pt.y);
   }
}
試試 : POINT pt; GetCursorPos(&pt); SetCursorPos(pt.x 20, pt.y 20);
leobxb
一般會員


發表:18
回覆:30
積分:14
註冊:2003-10-02

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-05-06 08:33:01 IP:61.66.xxx.xxx 未訂閱
用虛擬按鍵的方式我試過,可行喔...  方法:  
keybd_event(VK_UP,0,0,0);
keybd_event(VK_UP,0,KEYEVENTF_KEYUP,0);
 
試試吧!!! 有收穫記得回饋,讓我們台灣跨出程式的出頭天...
系統時間:2024-05-05 13:17:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!