Cara Memperoleh Masa Terbiar Windows dalam Go: Panduan Komprehensif
Dalam Go, memperoleh masa terbiar sistem Windows mungkin kelihatan menakutkan . Artikel ini menyediakan penyelesaian terperinci, menawarkan cerapan tentang persekitaran Go dan menggunakan API Windows untuk tugasan ini.
Dengan menavigasi tapak web Go dan menggunakan alat godoc dengan bendera "--http=:6060", seperti yang dicadangkan oleh jawapannya, kami boleh mengakses dokumentasi komprehensif bagi semua pakej Go.
Yang paling penting ialah pakej syscall, yang merangkumi fungsi untuk mengakses DLL. Walaupun Go tidak mempunyai API untuk fungsi tertentu GetLastInputInfo(), adalah mungkin untuk memanggilnya terus daripada DLL.
Untuk mengakses struktur, pastikan semua medan diisytiharkan rata dan sebarang medan int ditukar kepada int32 kepada memastikan keserasian pada Windows 64-bit.
Coretan kod di bawah menggariskan langkah-langkah untuk memperoleh masa terbiar menggunakan GetLastInputInfo():
<code class="go">import ( "syscall" "unsafe" ) // GetWindowsIdleTime retrieves the idle time of a Windows system func GetWindowsIdleTime() (idleTime uint32, err error) { // Load the user32 DLL and locate the GetLastInputInfo procedure user32, err := syscall.LoadDLL("user32.dll") if err != nil { return } getLastInputInfo, err := user32.FindProc("GetLastInputInfo") if err != nil { return } // Define the structure to receive the input information var lastInputInfo struct { cbSize uint32 dwTime uint32 } // Set the structure size lastInputInfo.cbSize = uint32(unsafe.Sizeof(lastInputInfo)) // Call the GetLastInputInfo function r1, _, err := getLastInputInfo.Call(uintptr(unsafe.Pointer(&lastInputInfo))) if r1 == 0 { err = fmt.Errorf("error getting last input info: %w", err) return } // Return the input idle time idleTime = lastInputInfo.dwTime return }</code>
Dengan menggunakan teknik ini, anda boleh memperoleh Windows melahu dengan berkesan masa menggunakan Go, memperkasakan anda untuk membangunkan aplikasi yang mantap dan cekap.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Windows Idle Time dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!