golang编写一个window定时关机的方法
小编给大家分享一下golang编写一个window定时关机的方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、网站建设、淮安区网络推广、微信平台小程序开发、淮安区网络营销、淮安区企业策划、淮安区品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供淮安区建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
代码如下:
package mainimport (
"flag"
"fmt"
"github.com/robfig/cron"
"time")import (
. "github.com/CodyGuo/win")var (
arg string)func init() {
flag.StringVar(&arg, "uFlags", "shutdown", "shutdown logoff reboot")}func main() {
flag.Parse()
c := cron.New(cron.WithSeconds())
c.AddFunc("0 40 18 * * ?", shutdown)
c.Start()
select {}
switch arg {
case "logoff":
logoff()
case "reboot":
reboot()
case "shutdown":
shutdown()
default:
fmt.Println("您输入的参数有误.")
}}func Test(){
fmt.Println(time.Now())}func logoff() {
ExitWindowsEx(EWX_LOGOFF, 0)}func reboot() {
getPrivileges()
ExitWindowsEx(EWX_REBOOT, 0)}func shutdown() {
getPrivileges()
ExitWindowsEx(EWX_SHUTDOWN, 0)}func getPrivileges() {
var hToken HANDLE var tkp TOKEN_PRIVILEGES OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY, &hToken)
LookupPrivilegeValueA(nil, StringToBytePtr(SE_SHUTDOWN_NAME), &tkp.Privileges[0].Luid)
tkp.PrivilegeCount = 1
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED AdjustTokenPrivileges(hToken, false, &tkp, 0, nil, nil)}cron表达式
c.AddFunc("0 40 18 * * ?", shutdown)看完了这篇文章,相信你对“golang编写一个window定时关机的方法”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
本文名称:golang编写一个window定时关机的方法
网页链接:http://www.jxjierui.cn/article/ipjjjo.html


咨询
建站咨询
