比如说把日历显示在桌面上之类的

解决方案 »

  1.   

    http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersguide/shell_adv/activedesktop.asp?frame=true
      

  2.   

    屏幕精灵好像是显示在最前端的,我要改变桌面。一楼的给的是用IActiveDesktop接口,我要在WINCE平台下做,好像没有这个接口,请问有没有其他方法。
      

  3.   

    我有。直接在桌面上显示一个模拟时钟。
    HWND wnd = FindWindow(0,_T("Program Manager"));
    if(wnd) wnd = GetWindow(wnd,GW_HWNDCHILD|GW_HWNDFIRST);
    if(wnd) wnd = GetWindow(wnd,GW_HWNDCHILD|GW_HWNDFIRST);
    如果wnd非NULL,那么它就是你看到的桌面了。
    只需要对它操作即可。
    HDC dc = GetDC(wnd);
    //...
    ReleaseDC(dc,wnd);
      

  4.   

    GetDesktopWindow 就可以得到桌面的句柄呀,你就可以用这个句柄向桌面上绘图等操作!!!要说好的控件,Xtreme Tookie Pro 9.81 不错! 里边有你想要的日历控件等许多有用控件
      

  5.   

    桌面本来不属于你的窗口,刷新后当然会消失了!如果你想保持桌面状态,你必须用线程/全局窗口钩子WH_WNDHOOK,拦截桌面的WM_PAINT,然后自己先绘制内容,返回给系统继续处理就OK了
      

  6.   

    各位给的方法在PC上大都可行,只是在CE下都有问题,都快一年了,我自己也很熟悉windows编程了,谢谢大家
      

  7.   

    各位给的方法在PC上大都可行,只是在CE下都有问题,都快一年了,我自己也很熟悉windows编程了,谢谢大家