Go 调用 Windows 的系统 API,检测是否锁屏
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,检测是否锁屏相关推荐
- 快速构建Windows 8风格应用33-构建锁屏提醒
快速构建Windows 8风格应用33-构建锁屏提醒 原文:快速构建Windows 8风格应用33-构建锁屏提醒 引言 Windows Phone(8&7.5)和Windows 8引入了锁屏概 ...
- C#获取系统当前是否处于锁屏状态
C#获取系统当前是否处于锁屏状态 C#引用代码如下: [DllImport("GetScreendll.dll", CallingConvention = CallingConve ...
- 阳光系统下载 Win7电脑锁屏壁纸怎么设置
阳光系统下载 Win7电脑锁屏壁纸怎么设置 如果我们在使用电脑的过程中,如果暂时离开了电脑,系统就会自动进入锁屏状态,但是一些用户觉得默认的锁屏壁纸太单调,没有任何美观可言.那么Win7电脑锁屏壁纸怎 ...
- 如何在Windows 10 1709版本中保存锁屏壁纸
如何在Windows 10 1709版本中保存锁屏壁纸 [日期:2018-03-25] 来源:Linux公社 作者:醉落红尘 [字体:大 中 小] 许多用户似乎对Windows 10 Fall Cr ...
- 手动设置Windows 7的开关机、锁屏登陆界面壁纸
手动设置Windows 7的开关机.锁屏登陆界面壁纸 前些天,我操作自己PC机更改了喜欢的开关机.锁屏画面.以下简单记录操作的步骤: 1.选张喜欢的背景图(图片分辨率和我们PC机的系统显示分辨率一样大 ...
- Windows 2003系统也玩图片收藏屏保
Windows Me/XP的屏幕保护程序可以将"我的文档"里收藏的图片做成屏保.但是在Windows其它版本的操作系统中却没有该功能.想将这个功能移植到Windows 2003中去 ...
- Win系统 - 喜欢的WIN10锁屏壁纸,怎么下载?
Win10的锁屏界面有时候挺好看的,要是能拿来当壁纸就好了........ 锁屏壁纸?拿来当桌面?放着我来!! 先看一下Windows锁屏壁纸应该在哪里设置: 桌面空白处右击,选择个性化,在锁屏界面即 ...
- 用xp系统的rundll32进行锁屏!!!!!劲爆!!!!!
http://hi.baidu.com/joleincn/blog/item/d1dfb7d939c69fe177c638b0.html 通常,正在忙一些事情,可是又有急事要走开,又不想让别人看自己的 ...
- 手势密码控件--只需调用本控件即可实现自动锁屏的控件
手势密码在很多应用中应用较多,手势密码的view代码用的系统手势键盘的代码. 包括手势密码的设置,手势密码的验证,以及应用的自动锁屏. 本控件可保护应用内隐私 本控件以实现x秒之后无操作自动锁屏.使用 ...
最新文章
- 2022-2028年中国微机电系统(MEMS)行业投资分析及前景预测报告
- Create a restful app with AngularJS/Grails(4)
- 交叉验证python代码_急!请教一个python里交叉验证的问题
- 看清条款,小心网通陷阱
- 斯坦福CS229机器学习课程的数学基础(概率论)翻译完成
- 《c语言从入门到精通》看书笔记——第16章 网络套接字编程(下)——套接字
- jq之slideDown() stop()
- HTML,CSS,JavaScript学习笔记--导航
- android 技能标签功能_android专业技能总结.doc
- angular ts 表格_angular表格内容滚动实现
- php语句创建数据表,用mysql语句创建数据表详细教程
- Java StringBuffer 用法
- 我的同学总结关于linux
- 360,手机助手的功能,既然有如此二面性?
- 什么是云服务器ECS?云服务器是干什么的?
- ​跨学科整合,打造大数据最强集团军:清华大学大数据能力提升项目宣讲会来了!...
- python importlib bootstrap_python - importlib._bootstrap和Python解释器初始化 - SO中文参考 - www.soinside.com...
- pytorch中torch.mul、torch.mm/torch.bmm、torch.matmul的区别
- 机器学习:逻辑回归(OvR 与 OvO)
- Rosalind Java|Consensus and Profile