在 Windows 7 上锁定屏幕时如何自动退出程序?

h_a*_*_z_ 6 windows-7

有没有办法在我锁定屏幕时自动退出 Windows 7 上的程序?

Bre*_*ugh 4

根据 grawity 的建议,不要使用我放在这个答案末尾的批处理文件。这是因为与Win32 API函数的调用约定rundll32.exe LockWorkStation匹配(详细信息请参阅此MSDN博客条目)。话虽这么说,有一个更好的选择,它不需要太多的工作。

您可以使用AutoIt 脚本语言DllCall函数来调用 Win32 API 函数,而不会损坏调用堆栈。您还可以使用ProcessClose代替TASKKILL以下是LockWorkStation来自 MSDN 的参考资料,供您参考。

将以下两行放入文件中,并将其另存为exitandlock.au3(或类似的内容)。然后您可以使用 AutoIt 运行它(如果需要,甚至可以将其编译为 .exe)。

ProcessClose("yourapp.exe")
DllCall("user32.dll", "BOOL", "LockWorkStation")
Run Code Online (Sandbox Code Playgroud)

这应该为您提供您想要的内容,而不会破坏调用堆栈。然后,您可以将该文件绑定到热键并使用它来锁定您的工作站。或者,您可以将其编译为 .exe 文件,并将其设置为在计算机处于非活动状态后作为计划任务运行。

最后,您可能还想使用该WinClose函数作为ProcessClose.


正如我所说,请不要使用此方法。我将其保留在这里只是为了完整性,因为这是互联网上使用最广泛的方式之一。您可以使用简单的批处理文件来使用以下TASKKILL命令来执行此操作:

@ECHO OFF
TASKKILL /IM yourapp.exe
Rundll32.exe User32.dll,LockWorkStation
Run Code Online (Sandbox Code Playgroud)

然后,当您想要锁定工作站时,只需运行批处理文件即可。或者,您也可以指定一个热键来执行批处理文件,然后当您想要锁定它时只需按该组合键即可。有关该命令的更多详细信息TASKKILL,请参阅Microsoft 的这篇文章