我正在使用Ruby编写一个应用程序,它将在Windows上作为后台进程运行。
在应用程序中的某一点,我希望它锁定用户屏幕。我尝试了几种方法,如" system"," exec",反引号,产生新进程,调用批处理脚本等等。
看来由于这个程序在后台运行,我无法访问普通的shell命令,而且我必须使用Win32API来锁定用户屏幕。
我如何使用Win32API来完成此任务?
答案 0 :(得分:2)
要从Ruby执行此操作,请使用本主题中介绍的Win32API
类:How do I call Windows DLL functions from Ruby?
来自LockWorkStation
的文档:
LockWorkStation 功能只能由交互式桌面上运行的进程调用。此外,用户必须登录,并且工作站尚未锁定。
这表示您无法通过服务拨打LockWorkStation
。