如题。
不同的电脑可能会用不同的主题,但是目前碰到个情况是程序需要在固定的主题下才可以正确工作,想问一下怎么样编程实现设置系统主题。当然手动在显示属性里是可以设置的了,只是想用代码来实现,不知道各位大侠有什么高招请帮忙指导下,谢谢了。

解决方案 »

  1.   

    去MSDN查一下SystemParametersInfo这个API就可以了
      

  2.   

    桌面主题设置
    IActiveDesktop   *pActiveDesktop;  
       
      HRESULT   hr;  
      CoInitialize(NULL);  
       
      hr   =   CoCreateInstance(CLSID_ActiveDesktop,  
      NULL,  
      CLSCTX_INPROC_SERVER,  
      IID_IActiveDesktop,  
      (void**)&pActiveDesktop);  
       
      COMPONENTSOPT   comps;  
      comps.dwSize   =   sizeof   comps;  
      comps.fEnableComponents   =   TRUE;  
      comps.fActiveDesktop   =   TRUE;  
       
      pActiveDesktop->SetDesktopItemOptions(&comps,0);  
       
      if   (FAILED(pActiveDesktop->SetWallpaper(L"C:\\cy002.jpg",0)))  
      return;  
       
      pActiveDesktop->ApplyChanges(AD_APPLY_ALL|AD_APPLY_FORCE);  
       
      pActiveDesktop->Release();  
      CoUninitialize();
      

  3.   

    SystemParametersInfo貌似可以换桌面,鼠标指针,但是是不能换主题的