`
dato0123
  • 浏览: 906445 次
文章分类
社区版块
存档分类
最新评论

对Skin++在VS2005中的一个问题的解决方案

 
阅读更多

今天遇到一个很奇怪的问题:在vs2005中新建一个MFC程序,然后想在里面使用Skin++在工程的stdafx.h里加入 #include “SkinPPWTL.h” Linker->InputAdditional Dependencies处加上SkinPPWTL.lib就遇到下面的编译错误:

errorLNK2019:unresolvedexternalsymbol"__declspec(dllimport)int__cdeclskinppLoadSkin(wchar_t*,int)"(__imp_?skinppLoadSkin@@YAHPA_WH@Z)referencedinfunction"public:virtualint__thiscallCdemo2App::InitInstance(void)"(?InitInstance@Cdemo2App@@UAEHXZ)
网上搜索了半天也只在CSDN上看到有一个人问了同样的问题,可惜没有人能给出解决方案,而官方的论坛要注册版用户才能进去。我就尝试先在VC6.0中建立一个新项目,在工程的stdafx.h里加入 #include “SkinPPWTL.h”,然后在工程的Project->Setting->Link->InputObject/library modules处加上SkinPPWTL.lib,然后在CDemoApp::InitInstance()这里加入:

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

skinppLoadSkin(_T("..//..//skins//AquaOS//AquaOS.ssk"));

恩,这次编译通过。最后把项目转换为2005下的项目,运行ok

然后我就想如何处理才能直接在2005下建立新项目呢?查阅了些资料后,发现其实很简单,前面报错的原因是:项目的字符属性设置不正确。

这是我的第一个解决方案:在工程的属性页(AudioOrtpRecv Property Pages)里的Configuration Properties中的General 有一个Characoer Set,把这里设置成Use Multi-Byte Character,再次运行第一个程序就ok了,大功告成。

此外,试用版每次运行起来都会先跳出个注册页面,让人十分反感,我们可以加入下列代码将这个窗口自动处理掉,注意ThreadKill要声明成static方法哦,因为要创建线程嘛。

voidCDemoApp::SetSkin(CStringstrSkinFile)
{
DWORDdwThread;
HANDLEhThread
=::CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ThreadKill,0,0,&dwThread);
CloseHandle(hThread);
BOOLbReg
=skinppLoadSkin(strSkinFile.GetBuffer(strSkinFile.GetLength()));
strSkinFile.ReleaseBuffer();
}


DWORDCDemoApp::ThreadKill(LPVOIDlp)
{
intiCount=0;
while(iCount++<10000)
{
Sleep(
1);
HWNDhWnd
=::FindWindow(NULL,"UIPOWER");
if(hWnd==NULL)continue;
WPARAMwp
=BN_CLICKED<<16|IDNO;
::SendMessage(hWnd,WM_COMMAND,wp,
0);
break;
}


然后CDemoApp::InitInstance()这里加入:

theApp.SetSkin(_T("..//..//skins//AquaOS//AquaOS.ssk"));

当然如果需要完全的破解版,这里有破解补丁:

http://download.csdn.net/source/361720


到这就一切搞定,下面是效果图:

2008041403.jpg

到这里还没完呢,现在对中文是不支持的!所以我上面都是用的英文(^o^),那么就开始自己动手修正这个bug吧。我在第一个解决方案中 Characoer Set设置成Use Multi-Byte Character,这样是不行地。应该还原为Use Unicode Character Set,这样才能支持unicode编码。

然后这里要改为:skinppLoadSkin("..//..//skins//skin//Phenom//Phenom.ssk");然后我们在SkinPPWTL.h头文件里定义一个typedef char MYCHAR;把所有的TCHAR都改成MYCHAR,再把 _tcscpy(szResImageName,_T(""));改为strcpy(szResImageName,"");,试试效果,这下中文可以了吧。。。

分享到:
评论

相关推荐

    Skin++ For Visual Studio.Net 3.1.1

    提供了所有标准控件的Skin解决方案,可以完美地设计程序每部分的界面细节,完全做到了所见即所得的界面效果,满足了目前所有的VS.Net应用程序界面开发需求。本产品彻底改变了VS.Net开发界面难的问题,使用本产品可以...

    界面控件 Skin++ for Visual Basic

    提供了所有标准控件的Skin解决方案,可以完美地设计程序每部分的界面细节,完全做到了所见即所得的界面效果,满足了目前所有的Visual Basic应用程序界面开发需求。本产品彻底改变了Visual Basic 开发界面难的问题,...

    皮肤控件研究文档,破解后的库文件,皮肤设计工具使用教程

    由此在一个控件界面中,可以灵活的配置界面元素,可以满足绝大多数界面设计需要. 动态的控制界面元素。同时DSkinLite提供相应的API可以控制这些元素(image,text,rect)的显示/隐藏,同时修正某些 属性,如image...

    基于QT的换肤整体解决方案(QSkinStyle)---(Linux平台Demo程序)

    基于QT的换肤整体解决方案(QSkinStyle) 具备调用方法简单、集成系统方便、运行稳定高效等功能特点; 界面设计与业务逻辑进行彻底分离: 完全基于QT,不依赖于其他第三方库; 支持QT定义的所有控件; 采用皮肤...

    vc绚丽UI工具

    提供了所有标准控件的Skin解决方案,可以完美地设计程序每部分的界面细节,完全做到了所见即所得的界面效果,满足了目前所有的Visual C++应用程序界面开发需求。本产品彻底改变了Visual C++开发界面难的问题,使用本...

    Alien Skin Blow Up(图像无损放大滤镜) v3.0.0.677.23611 注册版.rar

    BlowUp是一款高质量图像无损放大插件,其功能优于双三次插值和任何第三方解决方案。BlowUp使高级图像缩放变得易如反掌,它可以将图像放大至1600%甚至3600%,而不会留下明显的修饰痕迹。 BlowUp支持包括CMYK的多种...

    SIMCA Omics Skin教程

    SIMCA软件是由瑞典Umetrics公司于1987年研究开发,是目前全 球最受科研工作者欢迎的多元变量统计分析软件,并已经成为多元变 ...OPLS ® 、OPLS-DA ® 、O2PLS ® 等分析模块来提供最优的解决方案。

    winform皮肤skinbuilder2

    下载后的rar文件里有一个IrisSkin2.dll和一个skin文件夹。 添加引用,将IrisSkin2.dll引用进项目中。 然后在解决方案资源管理器里右击项目→添加→新建文件夹,文件夹名为skin。 建完skin文件夹后再右击这个...

    SubText 2.1

    subtext开源博客是基于.text博客的基础上修改过来的,现在.text程序已经不再更新,但是subtext的团队仍然在不断的更新过程中,目前,subtext已经很强大了,升级到了.NET2.0+SQL2005,同时也建立了VS2008的解决方案。...

    Pulse-Oximeter血氧解决方案

    the skin from one side of the clip and received on the other side with a photodiode. Good arterial blood flow is required to measure oxygen saturation. Most applications use transmissive optical ...

    ASP.NET 2.0 Website Programming_Problem - Design - Solution.part2.rar

    本书继承了第一版的风格:遵循提出问题、设计方案和解决方案的顺序。首先提出需要解决的问题,然后说明实现的过程,最后在ASP.NET2.0中编写具体的软件代码,其中介绍了很多2.0的新特性,如Master,Theme和Skin等,...

    ASP.NET 2.0 Website Programming_Problem - Design - Solution.part1.rar

    本书继承了第一版的风格:遵循提出问题、设计方案和解决方案的顺序。首先提出需要解决的问题,然后说明实现的过程,最后在ASP.NET2.0中编写具体的软件代码,其中介绍了很多2.0的新特性,如Master,Theme和Skin等,...

    Aviato-E-Commerce-Template:Aviato 是终极电子商务前端解决方案。 除了对流行框架的所有默认组件进行样式设置外,它还引入了许多可以在整个网站上使用的新的灵活元素。 总共 25+ 个组件

    Aviato 是基于 Bootstrap 3 的终极电子商务前端解决方案。随着流行框架的所有默认组件的样式化,它引入了许多新的灵活元素,您可以在整个网站上使用。 总共 25+ 个组件。 示例站点 家 关于 价钱 接触 店铺 单品 ...

    医十ETEN SKIN直播策划方案.docx

    医十ETEN SKIN直播策划方案.docx

    Pixelvision2:由Pulseh创建并由Late Mr继续的Steam Skin

    隐藏SteamVR按钮,直到找到解决方案为止。 查看问题进行讨论。 字型 皮肤需要在您的系统上安装SegoeWP系列的一组字体。 您可以下载它们。 CRC-32:1616ac72 MD4:1936e15c27a076116d000637a0b5d15e MD5:adaed62...

    react-skin:React 的可换肤组件

    我对这个问题的解决方案是创建一个组件库,将组件逻辑与组件外观分开,以创建可换肤组件的概念。 该解决方案的灵感来自框架的同名概念。可换肤组件问题: 为了说明这个库的目的,让我们创建一个简单的组件,一个...

    xheditor v1.0.0 rc2 build 100401

    xhEditor是一个基于jQuery开发的简单迷你并且高效的可视化XHTML编辑器,基于网络访问并且兼容IE 6.0+,Firefox 3.0+,Opera 9.6+,Chrome 1.0+,Safari 3.22+。 xhEditor is a simple,small,fast WYSWYG(What You See ...

    veeam-ansible:使用Ansible部署和配置各种Veeam解决方案的示例代码

    Ansible示例代码该存储库包含用于使用Ansible自动执行各种Veeam解决方案的Veeam部署/配置的示例代码。 是一款非常简单的IT自动化引擎,可自动执行云配置,配置管理,应用程序部署,服务内编排以及许多其他IT需求。 ...

    veeam-postman:邮递员收集的各种Veeam解决方案

    该存储库包含各种Veeam解决方案的Postman集合。 是开发人员为开发人员构建的工具。 它提供了一个完整的API开发环境,并具有简化的协作,可以帮助许多用例,包括测试,开发和产品开发。 它们的确有因此,如果您正在...

Global site tag (gtag.js) - Google Analytics