Go 调用 Windows 的系统 API,检测是否锁屏

因为应用需要根据当前电脑是否处于活跃状态来执行不同的动作,所以需要获取电脑当前活跃的窗口判断是否处于锁屏
可以通过调用Windows 的库来执行相应的API

import ("log""syscall"
)func main() {const successCallMessage = "The operation completed successfully."// 加载类库user32 = syscall.NewLazyDLL("user32.dll")// 创建新的调用进程getForegroundWindow = user32.NewProc("GetForegroundWindow")// 调用相应的函数activeWindowId, _, err := getForegroundWindow.Call()if err != nil && err.Error() != successCallMessage {log.Println(err)}log.Println("activeWindowId:", activeWindowId)
}

当调用成功后时,会返回三个结果,第一个是当前活跃的窗口 ID,当 ID 为 0 时,就说明处于锁屏状态;第三个参数是操作信息,如果成功内容就是The operation completed successfully.

这个函数没有入参,所以直接通过Call()调用,函数的详细信息可以参考微软提供的API GetForegroundWindow function

其他的函数调用也是一样,不同的是传入的参数和返回的结果,但调用过程是一样的

参考文章

  • Programming reference for Windows API
  • GetForegroundWindow function
  • WindowsDLLs

Go 调用 Windows 的系统 API,检测是否锁屏相关推荐

  1. 快速构建Windows 8风格应用33-构建锁屏提醒

    快速构建Windows 8风格应用33-构建锁屏提醒 原文:快速构建Windows 8风格应用33-构建锁屏提醒 引言 Windows Phone(8&7.5)和Windows 8引入了锁屏概 ...

  2. C#获取系统当前是否处于锁屏状态

    C#获取系统当前是否处于锁屏状态 C#引用代码如下: [DllImport("GetScreendll.dll", CallingConvention = CallingConve ...

  3. 阳光系统下载 Win7电脑锁屏壁纸怎么设置

    阳光系统下载 Win7电脑锁屏壁纸怎么设置 如果我们在使用电脑的过程中,如果暂时离开了电脑,系统就会自动进入锁屏状态,但是一些用户觉得默认的锁屏壁纸太单调,没有任何美观可言.那么Win7电脑锁屏壁纸怎 ...

  4. 如何在Windows 10 1709版本中保存锁屏壁纸

    如何在Windows 10 1709版本中保存锁屏壁纸 [日期:2018-03-25] 来源:Linux公社  作者:醉落红尘 [字体:大 中 小] 许多用户似乎对Windows 10 Fall Cr ...

  5. 手动设置Windows 7的开关机、锁屏登陆界面壁纸

    手动设置Windows 7的开关机.锁屏登陆界面壁纸 前些天,我操作自己PC机更改了喜欢的开关机.锁屏画面.以下简单记录操作的步骤: 1.选张喜欢的背景图(图片分辨率和我们PC机的系统显示分辨率一样大 ...

  6. Windows 2003系统也玩图片收藏屏保

    Windows Me/XP的屏幕保护程序可以将"我的文档"里收藏的图片做成屏保.但是在Windows其它版本的操作系统中却没有该功能.想将这个功能移植到Windows 2003中去 ...

  7. Win系统 - 喜欢的WIN10锁屏壁纸,怎么下载?

    Win10的锁屏界面有时候挺好看的,要是能拿来当壁纸就好了........ 锁屏壁纸?拿来当桌面?放着我来!! 先看一下Windows锁屏壁纸应该在哪里设置: 桌面空白处右击,选择个性化,在锁屏界面即 ...

  8. 用xp系统的rundll32进行锁屏!!!!!劲爆!!!!!

    http://hi.baidu.com/joleincn/blog/item/d1dfb7d939c69fe177c638b0.html 通常,正在忙一些事情,可是又有急事要走开,又不想让别人看自己的 ...

  9. 手势密码控件--只需调用本控件即可实现自动锁屏的控件

    手势密码在很多应用中应用较多,手势密码的view代码用的系统手势键盘的代码. 包括手势密码的设置,手势密码的验证,以及应用的自动锁屏. 本控件可保护应用内隐私 本控件以实现x秒之后无操作自动锁屏.使用 ...

最新文章

  1. 2022-2028年中国微机电系统(MEMS)行业投资分析及前景预测报告
  2. Create a restful app with AngularJS/Grails(4)
  3. 交叉验证python代码_急!请教一个python里交叉验证的问题
  4. 看清条款,小心网通陷阱
  5. 斯坦福CS229机器学习课程的数学基础(概率论)翻译完成
  6. 《c语言从入门到精通》看书笔记——第16章 网络套接字编程(下)——套接字
  7. jq之slideDown() stop()
  8. HTML,CSS,JavaScript学习笔记--导航
  9. android 技能标签功能_android专业技能总结.doc
  10. angular ts 表格_angular表格内容滚动实现
  11. php语句创建数据表,用mysql语句创建数据表详细教程
  12. Java StringBuffer 用法
  13. 我的同学总结关于linux
  14. 360,手机助手的功能,既然有如此二面性?
  15. 什么是云服务器ECS?云服务器是干什么的?
  16. ​跨学科整合,打造大数据最强集团军:清华大学大数据能力提升项目宣讲会来了!...
  17. python importlib bootstrap_python - importlib._bootstrap和Python解释器初始化 - SO中文参考 - www.soinside.com...
  18. pytorch中torch.mul、torch.mm/torch.bmm、torch.matmul的区别
  19. 机器学习:逻辑回归(OvR 与 OvO)
  20. Rosalind Java|Consensus and Profile

热门文章

  1. Css table 圆角处理
  2. 新服务器 一步一步 带你搭建docker 环境 (PHP 篇章)
  3. ReactNative利用Animated(动画)实现颜色(backgroundColor)的动态变化
  4. 从内核源代码配置文件预測泛泰新品(A920 ?)
  5. 学生用计算机排行,2017学生笔记本电脑排行
  6. jqGrid调整宽度
  7. 新手小白学JAVA JUnit单元测试方法
  8. 好人卡:别让需要你的人觉得你太好
  9. 游戏攻略:《刺客信条:启示录》通关感想和对刺客信条3展望
  10. U盘插电脑有声音,不读取