作为监控程序,通常的做法是,通过驱动程序启动主程序。但用户可以进入安全模式,使得驱动程序都启动不了,主程序也就无法启动了。但像Norton防火墙这样的软件,即使进入安全模式,也无法完全禁止启动。不知道这在技术上是如何实现的。特此请教。谢谢!
解决方案 »
- 蹩脚新手请教,这个string统计符合的做法有什么错误之处?
- 关于头文件 resource.h 的问题,求助
- 这段直接画桌面窗口的代码为什么不能处理鼠标消息呢?
- 这个问题我要崩溃了,必须问了
- 紧急问题,高手快来救救,
- 想做一个虚拟串口程序,哪位高人能给点建议,或者指个方向,不胜感激
- 怎么快速的去看懂1个软件的开发?
- 从书上看见一个奇怪的定义,没有见过,请大吓指教~!
- 关于用ANSI C++在Window下写控制台程序的小问题
- 如图,如何在相交的图中拟合出多个圆,并分别得到其周长,面积,圆心坐标?
- 怎么让一个COM组件在IE里显示为透明的?
- _ftscanf在定义_UNICODE后出现无法返回EOF的问题
用Winlogon通知包(Winlogon Notification Package)
就是一个DLL,HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify下创建一个项项里的说明:
Asynchronous[REG_DWORD]:表明是否异步处理winlogon事件,如设为 1,winlogon将启动一个新线程来处理。
DllName[REG_EXPAND_SZ]:指定要加载的DLL名。
Impersonate[REG_DWORD]:表明是否以登陆用户的权限来处理事件。
Lock[REG_SZ]:锁定桌面事件。
Logoff[REG_SZ]:注销事件。
Logon[REG_SZ]:登陆事件。
Shutdown[REG_SZ]:关机事件。
StartScreenSaver[REG_SZ]:启动屏保事件。
StartShell[REG_SZ]:启动shell(一般指explorer.exe)事件。
Startup[REG_SZ]:系统开机事件。
StopScreenSaver[REG_SZ]:停止屏保事件。
Unlock[REG_SZ]:解除桌面锁定事件。当然这是一个DLL,你要么把功能在DLL里实现,要么让它启动一个程序并保护进程。