对于学校,我必须使用与大多数其他软件不同的方法开发反恶意软件。我们必须将程序列入白名单并阻止执行非白名单软件,而不是将有害软件列入黑名单。我们使用C#和WPF在C和其余程序中编写了一个驱动程序。驱动程序稳定,程序运行良好。但是我们有一个很大的问题。我们无法切换用户。
一旦我们尝试切换用户,计算机就会冻结(程序未运行时不会发生)。我们已经在互联网上看了很长一段时间,我们没有找到任何关于这个问题的宝贵帮助。
我现在的问题:
*我不能包含代码,因为我们必须遵守有关源代码的保密协议。
答案 0 :(得分:0)
您应该能够使用SystemEvents.SessionEnding和SystemEvents.SessionSwitch事件来检测系统关闭和用户更改。
听起来好像至少部分程序应该作为服务运行。服务每台机器只运行一个实例,因此不需要为不同的用户暂停和重置任何内容。