none
[vb.net2008] 如何更有效的做..一段時間mouse沒有動作, 就執行某一段程式.. RRS feed

  • 問題

  • 如何更有效的做, 當mouse一段時間沒有動作, 就執行某一段程式..

    我目前想到的做法是用 API 然後每隔幾秒記錄mouse位置, 來做判斷比較... 不知道有無更有效的方法..

     

    2008年5月23日 上午 02:46

解答

  • 沒啥簡單的方法。

     

    標準做法仍是使用 Timer ,其次對 DesktopWindow 掛一個 WndProc 的 CallBack 函數,過濾 Window Message ,凡是跟滑鼠有關的,都把時間原點重置,當 Timer 事件觸發時,比對時間原點跟目前時間的差距決定是否要把你的畫面挑上來。

     

    .Net 有簡單的說明:HOW TO:使用用來攔截 Windows 程序的類別

    ms-help://MS.MSDNQTR.v80.cht/MS.MSDN.v80/MS.VisualStudio.v80.cht/dv_fxnetcf/html/5a6dba94-1fa2-41cf-acd8-f5163cee9c30.htm

     

    2008年5月23日 上午 07:02
    版主

所有回覆

  • 將該程式複製到Windows\system32並將附檔名改為scr,然後去設定閒置多久要執行螢幕保護程式,並選擇那個檔名。

    2008年5月23日 上午 06:09
  • 我是想做.. 當一段時間使用者沒有移動mouse, 則我的程式將主視窗移到最上層...

    2008年5月23日 上午 06:12
  • 沒啥簡單的方法。

     

    標準做法仍是使用 Timer ,其次對 DesktopWindow 掛一個 WndProc 的 CallBack 函數,過濾 Window Message ,凡是跟滑鼠有關的,都把時間原點重置,當 Timer 事件觸發時,比對時間原點跟目前時間的差距決定是否要把你的畫面挑上來。

     

    .Net 有簡單的說明:HOW TO:使用用來攔截 Windows 程序的類別

    ms-help://MS.MSDNQTR.v80.cht/MS.MSDN.v80/MS.VisualStudio.v80.cht/dv_fxnetcf/html/5a6dba94-1fa2-41cf-acd8-f5163cee9c30.htm

     

    2008年5月23日 上午 07:02
    版主