HOW TO 監視Window空閒時間

2021-04-17 13:37:18 字數 3490 閱讀 6636

author:

水如煙

示例public

class

form1

private

withevents

watcher 

asnew

lzmtw.usystem.lastinputwatcher

private

subform1_load(

byval

sender 

assystem.object, 

byval

e as

system.eventargs) 

handles

mybase

.load

watcher.timerinterval 

=100

watcher.start()

end sub

private

subwatcher_freeticks(

byval

ticks 

aslong

) handles

watcher.freeticks

me.text 

=string

.format(

"空閒時間 

", timespan.frommilliseconds(ticks).tostring)

end sub

end class **

imports

system.runtime.interopservices

namespace

lzmtw.usystem

''' 

''' 監視window鍵盤滑鼠空閒時間

'''  '

'' 

public

class

lastinputwatcher

implements

idisposable

''' 距上次活動結束後的空閒時間。毫秒單位

public

event

freeticks(

byval

ticks 

aslong

)private

withevents

timer 

asnew

system.windows.forms.timer

''' 

''' 監視時鐘的間隔。毫秒單位

''' 

public

property

timerinterval() 

asinteger

getreturn

timer.interval

endget

set(

byval

value 

asinteger

)timer.interval 

=value

endset

end property

public

substart()

timer.start()

end sub

public

sub[

stop

]()timer.stop()

end sub

private

subtimer_tick(

byval

sender 

asobject

, byval

e as

system.eventargs) 

handles

timer.tick

raiseevent

freeticks(win32native.getlastinputtime)

end sub

private

disposedvalue 

asboolean

=false

protected

overridable

subdispose(

byval

disposing 

asboolean)if

notme

.disposedvalue 

then

ifdisposing 

then

timer.dispose()

endif

endif

me.disposedvalue 

=true

end sub

public

subdispose() 

implements

idisposable.dispose

dispose(

true

)gc.suppressfinalize(me)

end sub

private

class

win32native

private

subnew

()end sub

private

shared

pil 

aslastinputinfo

shared

subnew

()pil.cbsize 

=marshal.sizeof(pil)

end sub

<

structlayout(layoutkind.sequential)

>

_private

structure

lastinputinfo

<

marshalas(unmanagedtype.u4)

>

_public

cbsize 

asinteger

<

marshalas(unmanagedtype.u4)

>

_public

dwtime 

asinteger

end structure

<

dllimport(

"user32.dll")

>

_private

shared

function

getlastinputinfo(

byref

plii 

aslastinputinfo) 

asboolean

end function

public

shared

function

getlastinputtime() 

aslong

ifnot

getlastinputinfo(pil) 

then

return

0return

environment.tickcount 

-ctype

(pil.dwtime, 

long

)end function

end class

end class

end namespace

如何打發空閒時間

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

CPU 空閒時在幹嘛?

人空閒時會發呆會無聊,計算機呢?假設你正在用計算機瀏覽網頁,當網頁載入完成後你開始閱讀,此時你沒有移動滑鼠,沒有敲擊鍵盤,也沒有網路通訊,那麼你的計算機此時在幹嘛?有的同學可能會覺得這個問題很簡單,但實際上,這個問題涉及從硬體到軟體 從 cpu 到作業系統等一系列環節,理解了這個問題你就能明白作業系...

CPU 空閒時在幹嘛?

人空閒時會發呆會無聊,計算機呢?假設你正在用計算機瀏覽網頁,當網頁載入完成後你開始閱讀,此時你沒有移動滑鼠,沒有敲擊鍵盤,也沒有網路通訊,那麼你的計算機此時在幹嘛?有的同學可能會覺得這個問題很簡單,但實際上,這個問題涉及從硬體到軟體 從 cpu 到作業系統等一系列環節,理解了這個問題你就能明白作業系...