我把我的DLL插入到WINLOGON后,用CreateProcess创建了一个新的进程,为什么这个进程没有界面,但是用任务管理器可以看到这个进程正在运行.而我把这个DLL插入到EXPLORER.EXE里边就一切正常.
这是为什么?
这是为什么?
解决方案 »
- 感恩贴^_^
- 现无英语四级证书,今后可否获得上海户口?
- CString 和 String 怎么互换啊?
- 如何记录别人输入的信息
- 在一个类里面调用另一个类的函数,编译器报错的问题!!急急!!谢谢了!!!!
- 我在一个对话框上有两个树型控件,点选一个另一个的点选状态就会丢失,请问如何保持两个点选状态?
- ◎◎◎◎◎◎◎◎◎◎高分求解CButton的移动与放大缩小问题,解决就给分,不够再加!◎◎◎◎◎◎◎◎◎◎
- 问题,一个很白痴,又很弱智的问题,各位达人帮忙一下,多谢多谢!!!
- 键盘模拟程序在windows锁屏后就无法使用了,怎么办?
- 如何制作uninstall程序?(真情回报,无私奉献,倾家荡产)
- 紧急求助
- 好久没来MFC了 ... 散分 200 ,问个老问题 : 工资
一般系统程序(比如winlogon)运行在LocalSystem帐户下,它拥有的windows station和desktop不具有交互能力。也就是说:不能显示窗口、菜单,不能接受鼠标、键盘等。WinLogon.exe产生3个桌面:
WinLogon桌面:就是那个登录的对话框所在的桌面。当用户登录以后,切换到default桌面
Default桌面:Explorer.exe 和所有用户程序运行的桌面。我们最经常用到的桌面.
Screen saver桌面:系统空闲时,运行的屏保桌面。你把dll插入到WINLOGON后,产生的新进程,仍然是系统进程,没有交互能力。你可以通过指定该进程的windows station(WinSta0)和desktop(default),它就能与你交互了。
当你把dll插入到EXPLORER.EXE,它是运行在登录的帐户下的,拥有交互能力。因此,就一切正常了。
http://community.csdn.net/Expert/topic/4117/4117272.xml?temp=.6930353
感谢kuangjingbo!
另外,windows station和desktop的主要作用,主要就出于安全的目的。如果,还能随意的设定别的进程的windows station和desktop,那么安全的目的就不在了。所以,我认为没有这种api。
在window2000以上,主要有三个桌面:default,winlogon,还有一个动态创建的屏保。
楼主要试下的话,在启动了程序后,你可以接下:alt_ctrl_del键,切换到winlogon桌面,看下有没有。???
急啊