如何判断Windows桌面是否功能齐全(已加载)c#

Pen*_*uin 2 c# desktop window

我正在编写一个在Windows登录时运行的应用程序,但是我希望它等到桌面完全正常运行/加载之后才开始执行任何操作.当Windows完全加载桌面时有没有办法解决问题?

小智 5

很老的问题,但我需要相同的.以下代码似乎有效:

        [DllImport("user32.dll", SetLastError = true)]
        static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

        // wait until desktop ready

        IntPtr lHwnd = IntPtr.Zero;
        do
        {
            lHwnd = FindWindow("Shell_TrayWnd", null);
            Thread.Sleep(100);
        } while (lHwnd == IntPtr.Zero);
Run Code Online (Sandbox Code Playgroud)