VB怎样判断计算机是否锁定状态

唐诗三百首 2013-03-21 02:08:16
VB怎样判断计算机是否锁定状态还是非锁定状态?
即登录Windows后,按[Ctrl]+[Alt]+[Del]键,再按[Enter]键进入系统锁定状态,
需要输入登录帐号的密码才能解锁.
...全文
1023 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dlx_gd727 2013-03-26
  • 打赏
  • 举报
回复
引用 1 楼 of123 的回复:
无法用任何一种应用程序判断 PC 是否处于锁定状态。 Windows 有三种桌面模式:登录(或安全)桌面、屏保桌面和缺省桌面。 应用程序只能在缺省桌面中运行。否则应用程序岂不是可以轻松获取用户登录口令或其他登录信息。
楼主的意思是pc在锁定状态,一切用户程序都暂停,我还以为程序可以在后台继续运行呢
唐诗三百首 2013-03-22
  • 打赏
  • 举报
回复
用2楼程序改写为VB版的,确实可以,感谢caozhy.
现在还是人类 2013-03-22
  • 打赏
  • 举报
回复
引用 3 楼 Veron_04 的回复:
锁定状态,程序还运行吗?
能,不过不是应用程序,而是NT服务程序
星空独行 2013-03-22
  • 打赏
  • 举报
回复
学习啦,非常感谢!
贝隆 2013-03-21
  • 打赏
  • 举报
回复
锁定状态,程序还运行吗?
threenewbee 2013-03-21
  • 打赏
  • 举报
回复
[DllImport("user32", EntryPoint = "OpenDesktopA", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)] private static extern Int32 OpenDesktop(string lpszDesktop, Int32 dwFlags, bool fInherit, Int32 dwDesiredAccess); [DllImport("user32", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)] private static extern Int32 CloseDesktop(Int32 hDesktop); [DllImport("user32", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)] private static extern Int32 SwitchDesktop(Int32 hDesktop); public static bool IsWorkstationLocked() { const int DESKTOP_SWITCHDESKTOP = 256; int hwnd; int rtn; hwnd = OpenDesktop("Default", 0, false, DESKTOP_SWITCHDESKTOP); if (hwnd != 0) { rtn = SwitchDesktop(hwnd); if (rtn == 0) { // Locked CloseDesktop(hwnd); return true; } else { // Not locked CloseDesktop(hwnd); } } else { // Error: "Could not access the desktop..." } return false; } C#代码,关键就是那几个判断会话桌面的API,自己修改下吧。
of123 2013-03-21
  • 打赏
  • 举报
回复
无法用任何一种应用程序判断 PC 是否处于锁定状态。 Windows 有三种桌面模式:登录(或安全)桌面、屏保桌面和缺省桌面。 应用程序只能在缺省桌面中运行。否则应用程序岂不是可以轻松获取用户登录口令或其他登录信息。

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧