Maison >développement back-end >Golang >Comment obtenir le temps d'inactivité de Windows dans Go ?
Comment acquérir le temps d'inactivité de Windows dans Go : un guide complet
Dans Go, acquérir le temps d'inactivité d'un système Windows peut sembler intimidant . Cet article fournit une solution détaillée, offrant un aperçu de l'environnement Go et utilisant l'API Windows pour cette tâche.
En naviguant sur le site Web Go et en utilisant l'outil godoc avec l'indicateur "--http=:6060", comme le suggère la réponse, nous pouvons accéder à la documentation complète de tous les packages Go.
Le package syscall est d'une importance primordiale, qui englobe les fonctions d'accès aux DLL. Bien que Go ne dispose pas d'API pour la fonction spécifique GetLastInputInfo(), il est possible de l'appeler directement depuis la DLL.
Pour accéder aux structures, assurez-vous que tous les champs sont déclarés plats et que tous les champs int sont convertis en int32 pour assurer la compatibilité sur Windows 64 bits.
L'extrait de code ci-dessous décrit les étapes à suivre pour acquérir du temps d'inactivité à l'aide de 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>
En utilisant ces techniques, vous pouvez efficacement acquérir Windows inactif temps d'utilisation de Go, vous permettant de développer des applications robustes et efficaces.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!