

InitializeWallpaper(){ if (wallpaper bitmap defined) { LoadWallpaperBitmap(); }}LoadWallpaperBitmap(){ locate the bitmap on disk load it into memory paint it on screen Report(WallpaperReady);}
LoadWallpaperBitmap函数,而这个函数中存在一行非常重要的代码:Report(WallpaperReady)。这行代码就是报告“壁纸准备就绪”。但是,当你使用了纯色壁纸时,上面的代码会自动跳过LoadWallpaperBitmap函数,也就是说,系统一直等不到“壁纸准备就绪”的信号,直到等了30秒超时,才会继续显示桌面。
除了使用纯色背景会出现上述问题外,如果启用了“隐藏桌面图标”组策略,依然可能出现类似问题。原理差不多,“桌面图标准备就绪”的代码被放到了该策略的条件检查中。
// Original codeInitializeDesktopIcons(){ bind to the desktop folder enumerate the icons add them to the screen Report(DesktopIconsReady);}// Updated with group policy supportInitializeDesktopIcons(){ if (desktop icons allowed by policy) { bind to the desktop folder enumerate the icons add them to the screen Report(DesktopIconsReady); }}
Raymond Chen强调,登录过程本身不一定需要额外的30秒才能完成所有任务,就是因为一个特定组件无法报告其完成情况,即使登录的所有其他部分都已提前完成加载,也要继续等。当然,这只是开发过程中的一个小插曲,微软早就已经通过系统更新解决掉了。屎山代码就是这么来的,我们了解一下这个花絮而已~
有网友一阵见血地评论到:主要原因是微软的厨师太多,它需要一个厨师长。
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/11049.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~