如何让我的程序替代WINDOWS注销程序运行(100分)

  • 主题发起人 主题发起人 Tommi
  • 开始时间 开始时间
T

Tommi

Unregistered / Unconfirmed
GUEST, unregistred user!
在WINDOWS注销用户时,可以锁住所有的程序,等待用户确认。
不知道程序是向WINDOWS发出什么指令可以让WINDOWS认为是注销
 
; ExitWindowsEx(v,0)
//v=0 从新登陆 =1 关机 =2从新启动
 
从新登陆 关机 从新启动
 
这样的问题居然抢不到,唉:)
 
不是用ExitWindowsEx(),用这个函数会真的退出。我的意思是象WINDOWS的LOGOUT一样,会
控制WINDOWS出现一个阴影,然后出现一个确认的窗口,确认要不要退出,我想知道的是这
个用程序怎么实现。
 
你可以这样处理,能够实现相似的功能;

1. 查找Desktop Window 的所有Child Window;
2. 向 Child Window 发送关闭消息

Win98肯定不是这样处理的,应该是获取Thread或Process;
但是Windows API 中我只能找到 TerminateThread 和 TerminateProcess,
找不到能够获取系统中目前所有Process/Thread的方法.(是不是Bill保留了?)
 
傻办法:两个窗体,一个全屏在后,
启动时把全屏拷贝,画在上面并阴
影处理;然后显示第二个窗体提示
 
ExitWindowsEx( UINT uFlags,// shutdown operation
DWORD dwReserved // reserved
);
一般情况下dwReserved为0,
uFlags可为:
EWX_LOGOFF 重新登录
EWX_REBOOT 热启动
EWX_SHUTDOWN 如果主板是ATX,关闭电源
 
我程序想要实现的功能是这样的:
运行我的程序,给WINDOWS系统一个信息,让它认为是要LOGOUT,这样WINDOWS就会
锁住当前的所有进程,将控制权让当前我的程序独享,而我的程序就可以根据密码或其它
进程处理计算机
 
就象我们的程序可以向WINDOWS发一个如下信息:
设置: systemparametersinfo(spi_screensaverrunning,1,nil,0);
取消: systemparametersinfo(spi_screensaverrunning,0,nil,0);
可以让系统认为是屏幕保护在运行一样,我们能不能也发一个信息,让系统认为
LOGOUT正在运行,实际是我们的程序在运行。
 
附加功能 将问题提前
 
exitwindowsex(ewx_force,2);
系统注销,但程序不关闭,并打开c盘why???
 
知道答案记得send份email给我哦,不胜感激
 
Tommi:如果还想接着讨论请定期提前自己的帖子,如果不想继续讨论请结束帖子。
 
多人接受答案了。
 
后退
顶部