• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 如何设置WEB页面为桌面墙纸100分在线等

如何设置WEB页面为桌面墙纸100分在线等

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了web页面制作案例,web页面设计规范,web认证页面,web页面,网易邮箱web页面等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 如何设置WEB页面为桌面墙纸100分在线等
描述:

不能用SetWallpaper这个方法来设置.
这样设置只能先保存WEB页面.再当墙纸贴上去.
不知道 IActiveDesktop还有哪个函数可以直接设置....


解决方案1:

AfxOleInit();
HRESULT   hr;   
IActiveDesktop   *pActiveDesktop;   
COMPONENT   compDesktopItem;   
    compDesktopItem.cpPos.dwHeight=100;
compDesktopItem.cpPos.dwWidth=100;
hr   =   CoCreateInstance(CLSID_ActiveDesktop,   NULL,      CLSCTX_INPROC_SERVER,   
IID_IActiveDesktop,   (void**)&pActiveDesktop);   
compDesktopItem.dwSize   =   sizeof(COMPONENT);  
CString strSrc="http://sohu.com";
int unicodeLen=MultiByteToWideChar(CP_ACP,0,strSrc,-1,NULL,0); 
wchar_t  *pUnicode;  
pUnicode=new  wchar_t[unicodeLen+1];  
memset(pUnicode,0,(unicodeLen+1)*sizeof(wchar_t));  
MultiByteToWideChar(CP_ACP,0,strSrc,-1,(LPWSTR)pUnicode,unicodeLen);  
wcscpy( compDesktopItem.wszSubscribedURL,pUnicode);
wchar_t  *pUnicode1;  
pUnicode1=new  wchar_t[unicodeLen+1];  
memset(pUnicode1,0,(unicodeLen+1)*sizeof(wchar_t));  
MultiByteToWideChar(CP_ACP,0,strSrc,-1,(LPWSTR)pUnicode1,unicodeLen);  
wcscpy( compDesktopItem.wszSource,pUnicode1);
wchar_t  *pUnicode2;  
pUnicode2=new  wchar_t[unicodeLen+1];  
memset(pUnicode2,0,(unicodeLen+1)*sizeof(wchar_t));  
MultiByteToWideChar(CP_ACP,0,strSrc,-1,(LPWSTR)pUnicode2,unicodeLen);  
wcscpy( compDesktopItem.wszFriendlyName,pUnicode2);//显示用的
    COMPPOS cpPos1;
    cpPos1.dwSize=sizeof(COMPPOS);
cpPos1.dwHeight=100;
cpPos1.dwWidth=100;
cpPos1.iLeft=200;
cpPos1.iTop=200;
cpPos1.fCanResize=TRUE;
cpPos1.fCanResizeX=TRUE;
cpPos1.fCanResizeY=FALSE;
cpPos1.izIndex=10010;
cpPos1.iPreferredLeftPercent=10;
cpPos1.iPreferredTopPercent=10;
    compDesktopItem.cpPos=cpPos1;
compDesktopItem.dwID=0;
compDesktopItem.fChecked=TRUE;//FALSE就默认不开启
compDesktopItem.fDirty=TRUE;
compDesktopItem.fNoScroll=FALSE;
compDesktopItem.iComp />
///////////////////
pActiveDesktop->AddDesktopItem(&compDesktopItem,0);   
//pActiveDesktop->ModifyDesktopItem(&compDesktopItem,COMP_TYPE_WEBSITE);修改
pActiveDesktop->ApplyChanges(AD_APPLY_ALL);   
delete pUnicode;
delete pUnicode1;
    delete pUnicode2;
::CoUninitialize();
呵呵
楼主给分吧!~

解决方案2:

hr = CoCreateInstance ( CLSID_ActiveDesktop,  NULL, CLSCTX_INPROC_SERVER,       
IID_IActiveDesktop, (void**) &pIAD );
if(!SUCCEEDED(hr))  return FALSE;
    ::MessageBox(NULL,"成功1","2",NULL);
    hr = pIAD->GenerateDesktopItemHtml( pwszFileName,pcomp,dwReserved);
if(!SUCCEEDED(hr)) return FALSE;
------------------------------------------------------------------------------------------------------
hr = CoCreateInstance ( CLSID_ActiveDesktop,  NULL, CLSCTX_INPROC_SERVER,       
IID_IActiveDesktop, (void**) &pIAD );
这句完后,hr的值写的很清楚,在这句之前你要先调用 CoInitialize();
记得最后结束时调用 CoUninitialize()


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 如何设置WEB页面为桌面墙纸100分在线等

相关文章

  • 2017-06-04 MFC写ActiveX控件
  • 2017-06-04 一个关于ATL的问题
  • 2017-06-05 WTL画图问题
  • 2017-06-05 求COM开发ADO的例子或书籍
  • 2017-06-04 LOGFONTCFont中的下划线与类型有关
  • 2017-06-04 用VARIANT返回vector<POINT>,怎么办呢?不会
  • 2017-06-04 郁闷……哪里有COM的例子?尽可能简单的例子。
  • 2017-06-04 PDF控件问题
  • 2017-06-04 SetWindowTextW_T"LPC……"不显示字的问题
  • 2017-06-04 DCOM如何走Internet?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 如何让我的服务程序在winxp登录前运行?
    • ie9运行Activex控件调用directdraw的CreateSurface创建yuv表面失败
    • 怎样获得系统里当前正在运行的应用程序(不是进程)
    • 打算换公司,如何将vc写的客户端软件做成控件,供客户浏览器使用?
    • MFC工程向导,为什么我选择支持automation的时候,会多了一个类?
    • 请教用ATL创建SERVICE的问题???紧急!
    • 在automation要怎么样才能使用标记为“restricted”的属性?(高难度技术性问题)
    • ServerBindings到底是个什么类型
    • 调用动态库时内存的释放问题,请教各位大虾!
    • 如何在Activex控件中加入加入快捷键功能啊?大哥大姐们来帮我吧!!!!!

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有