作为监控程序,通常的做法是,通过驱动程序启动主程序。但用户可以进入安全模式,使得驱动程序都启动不了,主程序也就无法启动了。但像Norton防火墙这样的软件,即使进入安全模式,也无法完全禁止启动。不知道这在技术上是如何实现的。特此请教。谢谢!

解决方案 »

  1.   

    这个小意思啦,
    用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里实现,要么让它启动一个程序并保护进程。
      

  2.   

    谢谢 EagleTwenty(玄风残翼@鹰)!我在理解您这段话的意思。