- 博客(37)
- 资源 (18)
- 收藏
- 关注
原创 使用DWM实现Aero Glass效果
从Windows Vista开始,Aero Glass效果被应用在了Home Premium以上的系统中(Home Basic不具有该效果)。这种效果是由DWM(Desktop Window Manager)来控制的。对于一般的程序,缺省将在窗口边框应用这种效果。但如果我们想要更多的控制,比如让客户区的一部分也呈现这种效果,那也非常的简单。不需要我们在程序里做任何复杂的算法,我们只需要调API,交给DWM去做就可以了。
2010-06-08 20:23:00
28185
20
原创 Windows 7程序开发系列之二(JumpList篇2 - Destination)
本节讲解了如何在JumpList中创建自定义的目标类别,并响应用户任务。
2010-06-05 01:14:00
7952
1
转载 投身技术行业,你,是否已经准备好?
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://narancia.blog.51cto.com/1365317/316607“没有目标的船,什么风都不是顺风” 你会不会总感觉工作找来找去总是不合适?你会不会有一切都很顺利,但你却总觉得工作时常有烦躁的感觉?你会不会经常反思“这是我想要的生活吗”?你会不会被他人为梦想而拼搏所感动,也想何时自己也能为梦想燃尽斗志?最后,你还有梦想吗? 假如你并没有被以上疑问而困惑,那
2010-06-03 22:22:00
2953
原创 Windows 7程序开发系列之二(JumpList篇1 - User Task)
相对于上一篇中任务栏特性的开发,JumpList的开发显得稍微麻烦一些。JumpList将分为两次讲解,这次先讲解如何添加用户任务(User Task)。同样以foobar2000为例,当右键点击任务栏按钮时,显示程序的JumpList。 最下方3个项目为系统任务,一般不需要我们去操作。上方的两个任务:播放、参数选项,即为自定义的用户任务。用
2010-05-30 23:31:00
7743
3
原创 Windows 7程序开发系列之一(任务栏篇)
Windows 7 引入了很多新特性,其中最直观的莫过于用户界面上的变化。很多人也因为不能适应这种变化而回到了XP。但是在我看来这些新的特性却是一种进步,使用了一段时间之后,也萌生了要做一点开发的冲动。于是把以前一个电源管理的小软件重写了一次(点此下载),利用了Windows 7 的任务栏特性和JumpList。 关于Windows
2010-05-25 20:56:00
15222
12
原创 C++的成员指针
如果不是读《C++编程思想》,恐怕我到今天也不会知道成员指针这东西,真是让我大开了眼界。按我的理解,普通指针指向的地址是相对于整个内存空间的,而成员指针并不包含真实的地址,它实际上代表了一个成员在其类范围内的相对位置。一个小程序可以解释成员指针的用法。#include using namespace std; cl
2009-12-16 21:02:00
5774
原创 基于Direct3D实现简单的粒子系统(二) - 增加LUA脚本支持
之前已经创建了一个简单的粒子系统(点这里),但是使用起来还是不是很方便,这次的任务就是为这个系统增加脚本支持。使用脚本来定义粒子系统的各项属性,再从主程序中将这些属性读出来,创建粒子系统。我对小巧简洁的东西有种特殊的喜好,因此我选择了Lua语言。Lua与C的交互需要频繁的操作栈,使用起来并不是很方便,因此先简单的封装一下,可以不用直接操作栈就可以了。 下面的这
2009-09-14 20:58:00
3638
1
原创 基于Direct3D实现简单的粒子系统
这是一个基于D3D的基本的粒子系统,能够实现一些基本的效果,如:雨、雪、烟花等。代码很少,只有一个头文件和一个CPP文件,便于研究粒子系统的原理。EpParticleSystem.h:#ifndef _EPPARTICLESYSTEM_H_ #define _EPPARTICLESYSTEM_H_ #inc
2009-09-12 07:41:00
5734
1
原创 D3D中FVF的顺序
今天研究D3D中的Point Sprite,尝试在顶点格式中加入psize。结果加进去以后什么也没有显示,百思不得其解,也找不到问题的原因。上网搜索后终于发现问题。我把psize定义到顶点结构的最后面了,而FVF的结构是需要遵循一定的顺序的:
2009-08-27 01:13:00
3280
原创 MinGW+Lua环境配置小结
虽说VC是Windows下C++开发的首选工具,但有时候写一些小程序,我还是更倾向于使用一些轻量级的开发工具。比如最近研究Lua嵌入C++,有时候只是写一些很小的程序,这时候Visual Studio就显得太过臃肿了,于是我选择了EditPlus+MinGW的方法。搞了两个晚上,终于搭建好了环境,在这里总结一下,以备将来查看。 MinGW的安装比较简单了。我偷懒直接下了个自动安装
2009-07-31 00:53:00
6183
原创 删除当前使用的壁纸
Win7中集成了壁纸自动换的功能,赞一个先。话说有一天本人从VeryCD下载了一个壁纸包,1000多张全是游戏壁纸,直接设置为自动更换。很多很漂亮的壁纸,不过也有一些不喜欢的。难道一个个删除,OMG。或者等Win7切换到自己不喜欢的壁纸时再去删除,1000多张啊,找死人了。遂起了贼心,写了个脚本,直接删除当前使用的壁纸。 脚本文件(DeleteWallpaper.j
2009-07-02 23:02:00
3317
2
原创 清除多余的歌词文件
听歌的时候经常会将一些不再听的歌删掉,这个操作一般是在播放器里完成的,时间久了就会留下很多不再需要的歌词文件。虽说歌词文件并不占空间,但心里总是不爽,想把它清理掉。动手干吧。 脚本文件(ClearLrc.js)function HandleFile( fileName ) { baseName = fso.GetBaseN
2009-05-02 23:22:00
3056
原创 天下无不散之筵席
和我住一间屋的同学走了,感觉挺突然的。他是一个果断的人,从我得知他想走到今天还不到一个月。晚饭后我们将他送上了出租车,现在他已经在回北京的火车上了。谁都没有说太多离别的话,其实谁都很舍不得。但是既然毕业了,成家立业是迟早的事,终究都是会分开的,只是感觉现在来的早了一点。他自己也挺伤感的,那天晚上他喝了很多酒,他是个有分寸的人,我从来没有看见他喝醉过。唯独那天晚上,他喝多了,说了很多以前
2009-02-23 19:53:00
2853
原创 Ogre中的动画混合(AnimationBlender)
网上Ogre的中文资料真的是很少啊,把自己学到的分享出来,希望能对初学者有所帮助。Ogre中实现骨骼动画真的是再简单不过了,就两个函数:getAnimationState,addTime。OK,人物就可以动起来了。这个AnimationBlender类可以实现以多种方式从一个动画淡入到另一个动画,来自于Ogre网站上的一篇文章。但那位老外只贴出了代码,没有讲解,甚至代码中也没有详尽的注释
2006-12-31 13:44:00
5706
1
原创 打完了轩辕剑五
首先忏悔一下,我又玩了盗版游戏(网上下的),中国最后的单机游戏我都没有支持,实在惭愧。在学校我是一个贫困生,我如果花百多元买个正版游戏,别的老师和学生都会有意见。我发誓到我能够挣到钱的时候一定支持国产正版游戏,希望那时候大宇还在。 花了一周时间打完了轩辕剑五,打得很慢,一是因为学习紧,二是我希望尽可能的玩到每一个角落。最后把两个结局都打了一遍。虽说玩盗版的没有资格说三道四,不过怀着对国产
2006-12-20 20:51:00
2904
原创 用J2ME实现扫雷
这学期J2ME告一段落了,没学到什么东西,老师已经让交作业了。时间太紧写个扫雷凑数。写了四个类:MineGame: 处理游戏逻辑MineBoard: 游戏的面板(canvas)MineMIDlet: MIDlet主类,启动游戏,调度游戏面板MineDefs: 没别的作用,就是定义一些常量,供其它类使用。 下面是MineDefs类,各常量的意思从字面就能看出来/
2006-10-16 20:45:00
3093
翻译 DXUT编程指南(五):通过DXUT使用主循环
通过DXUT使用主循环在窗口和设备创建之后,应用程序需要一个主循环(也称渲染循环或者消息循环)来响应windows消息,更新和渲染场景,处理设备事件。应用程序既可以自己实现主循环也可以让DXUT来实现。注册回调函数允许DXUT处理设备,帧,消息事件。进入主循环要使用框架的主循环,简单的调用DXUTMainLoop,并设置唯一的参数为NULL。尽管框架处理主循环是最简单的,但是对
2006-08-03 09:43:00
5056
翻译 DXUT编程指南(四):通过DXUT使用设备
通过DXUT使用设备DirectX设备的创建在DXUT中得到了改进。你可以让你的应用程序直接创建设备而其它有框架提供的特征仍然可用。创建设备选择最佳的设备设置修改可用的设备设置降为软件顶点处理使用你自己的设备创建设备典型地,你将通过标准的Direct3D方法创建设备HRESULT CreateDevice( UINT
2006-08-02 11:13:00
6643
翻译 DXUT编程指南(三):通过DXUT使用程序窗口
通过DXUT使用程序窗口你的应用程序可以处理大多数的窗口管理任务,如果你使用较少的DXUT函数的话。创建一个窗口使用你自己的窗口创建一个窗口为Direct3D应用程序创建一个窗口包含以下几步:1.定义一个响应适当的窗口消息(Defining a to respond to the proper window messages.)2.建立(Settin
2006-08-02 11:01:00
5748
3
翻译 DXUT编程指南(二):初始化DXUT
初始化DXUT使用DXUT的第一步是初始化它。这可以简单的通过DXUTInit函数来做:HRESULT DXUTInit ( BOOL bParseCommandLine = TRUE, BOOL bHandleDefaultHotkeys = TRUE, BOOL bShowMsgBoxOnError = TRUE);你将使这个函数调用尽量的靠近你的
2006-08-02 10:52:00
3227
翻译 DXUT编程指南(一):DXUT概览
DXUT编程指南(译自DirectX SDK Document) DXUT是一个建立在Direct3D API之上的层,它在大多数的Direct3D指南和实例中被使用。它的目标是让Direct3D示例,样本,工具,乃至专业游戏更加健壮且更容易建立。它简化了Windows和Direct3D API的典型的用法。DXUT概览初始化DXUT
2006-08-02 10:36:00
8172
原创 让人头晕的字符集设置
今天在搞Mesh的时候又让字符串的格式给搞得晕头转向。以前在用MessageBox这个函数的时候,字符串前一定要加上一个L才能编译通过今天在用D3DXCreateTextureFromFile(m_pIDirect3DDevice,pD3DXMaterial[i].pTextureFilename,&m_ppDirect3DTextureArray[i]) 时又告诉我第二个参数不能从 L
2006-07-14 13:39:00
1585
1
原创 微软之所以为巨人的n个理由
操作系统:不用说了,你我都在用Windows。办公软件:微软的Office恐怕是迄今为止用得最普遍的办公套件。数据库软件:除了Oracle,最普及的就是Sql Server了。企业级开发:微软的.NET平台与Java各占半壁江山。游戏开发API:同样,微软的DirectX与OpenGL各占半壁江山。虚拟机软件:除了VMWare,能想到的就是Virtual PC浏览器:自打败NetScape后,再没
2006-07-14 10:36:00
1162
原创 由八皇后问题到n皇后的推广
将昨天的程序改用递归的方法实现了n皇后,但后来发现昨天的程序虽然可以求解,但无法求出全部解,8皇后的所有解应为92个,但我只求出了61个。经过n个小时的艰苦调试,终于发现问题所在,原来是在check函数中,后面两个for循环使用了两个条件判断,我误以为两个之间是与关系,原来是或关系。原来是这样写的: int rrr1,hhh1; for(rrr1=r-1,hhh1=h-1;rrr1>=0,
2006-07-12 08:39:00
1201
原创 八皇后问题初步解决方案
今天下午ACM的培训讲了一下八皇后问题。我花了两个小时才大致写了一个可运行版本,方法比较笨,但可以实现求出所有解 。以后再优化。#include //棋盘 int arr[8][8]={{0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0},
2006-07-10 22:22:00
985
原创 梦醒以后,回到现实
刚才又梦见爸爸了,他还是几年前的样子没有变,已经19岁的我和爸爸在一起的感觉真是怪怪的。我害怕这一切又是一场幻想,我的目光丝毫不离的盯住爸爸,害怕他又再一次离开我。梦终究是醒来了,寝室里只有我一个人,9点了,同学们都走了,我又回到了孤独的一个人,我要面对的依然是明天的考试。现实就是这么无奈。
2006-06-21 09:27:00
1061
原创 原来八方向寻路还可以更简单
看了书中给出的八方向寻路,发现原来比我想象的还可以更简单一点,根本无需向八个方向扩展,只需要在寻找路径时向八个方向寻找就可以了,一样可以找出最短路径。
2006-06-18 20:14:00
1650
原创 考完四级了,下期继续
今天上午考完四级了,感觉还是跟上次一样,估计又过不了,除了阅读,其他的做得都不是很好,能不能过就看运气的,反正不过过不过下期肯定还是继续。英语这东西,一辈子都不会停止学习。
2006-06-17 14:58:00
807
原创 简单的八方向寻路算法
前几天在图书馆借了一本《游戏程序设计概论》,发现这本书还不错,对游戏有个大概的介绍。学了里面的四方向等高线寻路算法后,把它改成了八方向。大概原理是,从目的点开始向周围一步一步扩展,知道遇到起始点为止。用到了两个队列,一个作为源,一个作为目的。先把目的点放入源队列,在将目的点向八个方向扩展,并放入目的队列,然后交换源与目的,再将源队列中的点向周围扩展,并放入目的队列,如此循环,知道遇到起始点。标记
2006-06-14 19:29:00
3862
原创 游戏,美梦?噩梦?
这几天实在忙得不可开交,各科的考试,英语四级,竞赛,VB项目,我头都快炸了。一直到今天才终于开始记上周的东西。上周4的专业课改成了毕业生经验交流会,同时也是团组织生活(专业课和团组织生活一起上,史无前例^_^),专业课老师给我们找了两个大四的学长跟我们交流一下,他们现在都有了不错的工作。学长甲经历平凡,招聘会,面试最后进了一家日资企业,不过还没到两个月就跳槽了(现在的人跳槽也太夸张了),据
2006-06-11 22:44:00
898
原创 编程竞赛or数学竞赛
今天下午参加了学校的编程竞赛,这是学校组织的选出人员参加ACM编程大赛中国赛区的比赛。之前让我们报上我们选择的竞赛语言。我选了C++,我们班选C++两人,选Java两人,其余全部选的是C#,VB(无奈……,都挑简单的)。 竞赛的题是我们专业课老师出的,内容有点出乎意料,除了大部分极为简单的白痴题外,有难度的题全是数学题,之前看了一大通数据结构的资料完全没派上用场。
2006-06-11 21:59:00
1424
1
原创 终于搞定了DirectInput中的FOREGROUND
接昨天:虽然将FOREGROUND改为BACKGROUND解决了问题,但这实际上是治标不治本,FOREGROUND总得解决,经过半天的努力,终于找到问题所在,其实是一个很低级的错误。ShowWindow( g_hwnd, SW_SHOWDEFAULT ); UpdateWindow( g_hwnd );显示窗口一定要放在初始化DirectInputDevice之前。否则做Ac
2006-05-28 14:16:00
1458
翻译 STRICT type checking 严格的类型检查
STRICT Type CheckingWindows.h头文件包含了定义,宏,和结构体帮助你写出可以在windows的不同版本中移植的源代码。当你在编译应用程序时定义了STRICT符号的时候,这些功能中的一些将被激活。下面的几个主题说明了STRICT功能的好处以及怎样使用它们来影响代码的编写。Using STRICT使用严格类型检查-----------------当你定义了STRICT符号,你
2006-05-27 20:55:00
2513
原创 DirectInput的协调级别。
昨天就开始看DirectInput的第一个Tutorial了,一直到今天才调出这个简单的程序。其间遇到的问题对于高手来说根本不叫问题,但是对我,却花费了一个上午和一个晚上。先是一些编译错误,在注册和创建窗口的时候出现了这样的错误:g_hwnd = CreateWindow( "KeyBoard", "My KeyBoard", WS_OVERLAPPEDWINDOW, CW_USEDE
2006-05-27 15:14:00
1865
原创 开始游戏
从来都对blog不感冒,也一直没想过写点什么,一是因为不爱好写东西,二是没时间,但近来觉得若是把自己的学习经历都记下来,将来再回过头来看这些走过的路,应该会有一些收获,也会有一些滋味。 做游戏是从高中就有的梦想,那时天天和另一个同样想做游戏的同学李讨论我们心中的游戏和梦想,现在看来那时就是两个技术白痴在做着白日梦。虽然有梦想有激情,但是没电脑没资料。又忙于繁重的课
2006-05-27 14:29:00
1004
Application ID 演示程序
2010-06-05
Windows 7程序开发系列之二(JumpList篇2 - Destination)(源代码)
2010-06-05
Windows 7程序开发系列之二(JumpList篇1 - User Task)(源代码)
2010-05-31
Windows 7程序开发系列之一(任务栏篇)(源代码)
2010-05-26
PowerMgr电源管理小软件(含源码)
2010-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人