Accès au temps d'inactivité de Windows avec Go
Ce guide fournit une solution pour récupérer le temps d'inactivité d'un système Windows à l'aide de Golang.
Accéder à l'API Windows dans Go
Obtenir des informations système spécifiques à Windows nécessite l'utilisation du package syscall. Pour accéder à l'API, vous devrez obtenir godoc et l'exécuter localement :
go get golang.org/x/tools/cmd/godoc godoc --http=:6060
Ensuite, ouvrez http://127.0.0.1:6060/ dans un navigateur Web.
Obtenir les dernières informations d'entrée
Go n'a pas d'API directe pour GetLastInputInfo(). Cependant, vous pouvez l'appeler directement depuis la DLL :
<code class="go">user32 := syscall.MustLoadDLL("user32.dll") getLastInputInfo := user32.MustFindProc("GetLastInputInfo")</code>
Configurer une structure
Définir une structure pour contenir la valeur de retour :
<code class="go">type LastInputInfo struct { cbSize uint32 dwTime uint32 }</code>
Initialisez le champ cbSize avec la taille de la structure :
<code class="go">var lastInputInfo LastInputInfo lastInputInfo.cbSize = uint32(unsafe.Sizeof(lastInputInfo))</code>
Appel de GetLastInputInfo
Passez un pointeur vers la structure à la fonction :
<code class="go">_, _, err := getLastInputInfo.Call( uintptr(unsafe.Pointer(&lastInputInfo)))) if err != nil { panic("error getting last input info: " + err.Error()) }</code>
N'oubliez pas d'importer les appels système et non sécurisés.
Conseils supplémentaires
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!