Go を使用した Windows アイドル時間へのアクセス
このガイドでは、Golang を使用して Windows システムのアイドル時間を取得するソリューションを提供します。
Go で Windows API にアクセスする
Windows 固有のシステム情報を取得するには、syscall パッケージを使用する必要があります。 API にアクセスするには、godoc を取得してローカルで実行する必要があります。
go get golang.org/x/tools/cmd/godoc godoc --http=:6060
次に、Web ブラウザで http://127.0.0.1:6060/ を開きます。
最後の入力情報の取得
Go には GetLastInputInfo() 用の直接 API がありません。ただし、DLL から直接呼び出すこともできます:
<code class="go">user32 := syscall.MustLoadDLL("user32.dll") getLastInputInfo := user32.MustFindProc("GetLastInputInfo")</code>
構造体のセットアップ
戻り値を保持する構造体を定義します:
<code class="go">type LastInputInfo struct { cbSize uint32 dwTime uint32 }</code>
構造体のサイズで cbSize フィールドを初期化します:
<code class="go">var lastInputInfo LastInputInfo lastInputInfo.cbSize = uint32(unsafe.Sizeof(lastInputInfo))</code>
GetLastInputInfo を呼び出す
構造体へのポインタを関数に渡します:
<code class="go">_, _, err := getLastInputInfo.Call( uintptr(unsafe.Pointer(&lastInputInfo)))) if err != nil { panic("error getting last input info: " + err.Error()) }</code>
忘れずに syscall と unsafe をインポートしてください。
追加のヒント
以上がGo を使用して Windows アイドル時間を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。