Ome*_*mer 3 windows com winapi operating-system windows-shell
编辑:我改述了我的问题,请忽略下面的所有评论(截至5月7日).
首先,我将尝试解释这个问题:
我的过程是尝试使用ITrayDeskBand :: ShowDeskBand以编程方式显示Deskband.
除了操作系统加载所有进程(重置或注销后)之外,它在任何时候都可以正常工作.
Windows启动并开始加载各种应用程序\服务后,鼠标光标设置为等待几秒钟(取决于运行的应用程序数量\所有内容的速度).
如果鼠标光标设置为wait并且进程在此期间运行,则调用将失败.
但是,如果我的进程等待几秒钟(在此之后光标变为常规)然后调用该调用,一切都很好.
在Windows 7和Windows Vista上都重现了此行为.
基本上我要问的是:
1)仅仅为了基本知识,当光标设置为忙时操作系统会做什么?
2)更重要的问题:如何在此过程结束时以编程方式检测?
起初,我认为资源管理器没有正确加载,所以我使用了WaitForInputIdle,但事实并非如此.
后来我认为忙碌的光标表示CPU正忙,所以我创建了我的进程,IDLE_PRIORITY_CLASS但是在光标忙的时候收到了空闲时间.
Windows永远不会停止加载应用程序和/或服务!
事实上,应用程序来来去去,其中一些是交互式的,其中一些没有任何用户交互.甚至服务在不同的时间点加载(取决于它们的设置和外部条件 - 例如,只有当OS检测到Smard卡设备已连接时,Smard卡资源管理器服务才可能启动).应用程序可以(但不能)自动停止,以便执行某些服务.
人们永远不知道Windows何时停止加载所有应用程序和/或服务.
| 归档时间: |
|
| 查看次数: |
1341 次 |
| 最近记录: |