C 獲取系統空閒時間

2021-06-05 02:28:37 字數 1804 閱讀 8835

自己做的在使用者不進行任何操作時,在設定時間後自動休眠,重啟,關機。雖然不怎麼實用,但其核心還是值得初學者學習的,就是用user32.dll獲取系統空閒時間。下面是主要的實現**:

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.windows.forms;

using system.data.sqlclient;

using system.runtime.interopservices;

using system.diagnostics;

namespace test

[dllimport("user32.dll")]

private static extern bool getlastinputinfo(ref lastinputinfo plii);

public form1()

private void form1_load(object sender, eventargs e)

private ulong getidletick()

return (ulong)environment.tickcount - lii.dwtime;

}private void timer1_tick(object sender, eventargs e)}}

private void btn_hibernation_click(object sender, eventargs e)

fun = "定時休眠";

time = convert.touint64(txt_time.text.trim());

txt_time.readonly = true;

timer1.start();

}private void btn_restart_click(object sender, eventargs e)

fun = "定時重啟";

time = convert.touint64(txt_time.text.trim());

txt_time.readonly = true;

timer1.start();

}private void btn_shutdown_click(object sender, eventargs e)

fun = "定時關機";

time = convert.touint64(txt_time.text.trim());

txt_time.readonly = true;

timer1.start();

}public void shutdown()

public void restart()

public void hibernation()

private void form1_sizechanged(object sender, eventargs e)

}private void exit_click(object sender, eventargs e)

private void notifyicon1_doubleclick(object sender, eventargs e)

private void btn_reset_click(object sender, eventargs e)}}

如何打發空閒時間

1從事軟體工作,經常會遇到一陣松一陣忙的情況。忙的時候有事做,松的時候就會產生無聊的感覺。這段時間真不知道如何打發,因為在這段時間內,不知道老大什麼時候下乙個任務給你做。若把這 段時間用來學習,感覺學習時間太短,學習不到什麼。我們是不是應該具備一種能力,用一天的時間或幾個小時的時間掌握一種技術。但這...

Tokio 最大空閒時間

參考 對於阻塞任務,tokio 會新啟動乙個執行緒來執行,這個也是在乙個執行緒池中,任務完成後,不會立即銷毀。經過空餘時間後,還是沒有任務,就會進行銷毀,預設 10 秒。use std use tokio runtime builder fn main io result thread sleep ...

HOW TO 監視Window空閒時間

author 水如煙 示例public class form1 private withevents watcher asnew lzmtw.usystem.lastinputwatcher private subform1 load byval sender assystem.object,byv...