Mengakses Windows Idle Time dengan Go
Panduan ini menyediakan penyelesaian untuk mendapatkan semula masa terbiar sistem Windows menggunakan Golang.
Mengakses Windows API dalam Go
Mendapatkan Maklumat sistem khusus Windows memerlukan penggunaan pakej syscall. Untuk mengakses API, anda perlu mendapatkan godoc dan menjalankannya secara setempat:
go get golang.org/x/tools/cmd/godoc godoc --http=:6060
Kemudian, buka http://127.0.0.1:6060/ dalam penyemak imbas web.
Mendapatkan Maklumat Input Terakhir
Go tidak mempunyai API langsung untuk GetLastInputInfo(). Walau bagaimanapun, anda boleh memanggilnya terus dari DLL:
<code class="go">user32 := syscall.MustLoadDLL("user32.dll") getLastInputInfo := user32.MustFindProc("GetLastInputInfo")</code>
Menyediakan Struktur
Tentukan struktur untuk menyimpan nilai pulangan:
<code class="go">type LastInputInfo struct { cbSize uint32 dwTime uint32 }</code>
Mulakan medan cbSize dengan saiz struktur:
<code class="go">var lastInputInfo LastInputInfo lastInputInfo.cbSize = uint32(unsafe.Sizeof(lastInputInfo))</code>
Memanggil GetLastInputInfo
Lepaskan penuding kepada struktur ke fungsi:
<code class="go">_, _, err := getLastInputInfo.Call( uintptr(unsafe.Pointer(&lastInputInfo)))) if err != nil { panic("error getting last input info: " + err.Error()) }</code>
Ingat untuk mengimport syscall dan tidak selamat .
Tambahan Petua
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Masa Terbiar Windows Menggunakan Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!