Hu’s Blog

Just a blog

2007 过去了

January 5th, 2008

fqyy翻翻 去年的总结

2006年,完成大学最后几门课程,结束我的大学生活
2006年,找到一份还算满意的工作
2006年,住在一个草窝,期望中的独居生活并没有到来
2006年,去了几趟上海,第一次去有乡下人进城的感觉
2006年,自己没有多大的改变,只是尽量表现得成熟一点
2006年,经常性的迷茫,却搞不清思考的是些什么,是价值观么?

2007年,调整工作状态,别碌碌无为
2007年,既然决定搞开发,就得多看书,多学东西
2007年,找个好住处,搬家,吃好喝好睡好 

07的目标基本实现,工作开始渐渐上手,学习也在跟进、住处么,已经改善很多

2007 都做了什么

搬了一次家

买了一个黑莓手机,捣鼓了一段时间

出去旅游了几次,四明山、桃花岛

九月开始购买基金,因为太晚,07年度收益率为 -0.46%,汗

认识了MM

2008 年要做什么

工作

老哥说我需要一个飞跃,是的,我一直都需要一个飞跃

不过还是先静下心来积累点实力吧

生活

MM是个好姑娘, 要学着好好生活,学会照顾人

身体

07年的锻炼没坚持下来,导致平时精力不够充沛。坚持!

CBitmap 与 HBITMAP 之间的转换

January 3rd, 2008

HBITMAP   —>   CBitmap:  
  CBitmap   FromHandle(   HBITMAP   hBitmap   )     
    

CBitmap   —>   HBITMAP  
  HBITMAP(   CBitmap   )  

如何使用命令让电脑休眠或定时休眠

December 25th, 2007
  1. 打开“控制面板”→“电源选项”,在“休眠”标签中,在“启用休眠”项打勾即可启用休眠功能。如果此项不可用,则说明你的电源不支持休眠功能。或如果你安装了还原精灵等一些保护软件,也无法启用休眠功能。
  2. 打开电脑的休眠功能后,在“电源选项”的“电源使用方案”标签中,可设定“系统休眠”的时间,如选择“20分钟之后”,则电脑在无键盘或鼠标操作,且无读写硬盘操作的20分钟后,系统自动进入休眠状态,然后关闭电脑电源。
  3. 在“开始”→“运行”的命令行输入

    at 8:10 rundll32 powrprof.dll,SetSuspendState

    注意大小写,然后按“确定”即可。可以让电脑定时休眠(即8:10进入休眠状态)。

  4. 手动进入休眠状态
    1. 在“电源选项”的“高级”标签中,可设定“在按下计算机电源按钮时”进行什么操作,可选择“休眠”,此时按下计算机电源按钮,则使电脑进入休眠状态。或将“在按下计算机睡眠按钮时”选择为“休眠”,则此时按下键盘上的“SLEEP”键,也可使电脑进入休眠状态。
    2. 也可以在“开始”→“关闭计算机”(或“关闭系统”)中选择“休眠”,也可以使电脑进入休眠状态。如果关机对话框只有“待机”,则可按下Shift键使它变成“休眠”。
    3. “开始”→“运行”对话框里写:

      rundll32 powrprof.dll,SetSuspendState

      注意大小写,按“确定”即可。

    4. 或者建立一个批处理文件,输入以上那行命令。再在桌面建立一个快捷方式,这样每次双击这个快捷图标即可使电脑进入休眠状态。

blackberry 手机上的数独游戏 - sudoku

December 17th, 2007

最近迷上了数独,于是下载了magmic.com出品的数独游戏程序sudoku到我的7100t上玩,锻炼思维和打发时间的好东西

ttitoo 说是免费的,但是我在magmic网站上看到了购买的链接,9.99$,有可能是只对新版本收费吧,我玩了快一星期,暂时还没向我要钱 :)

界面

sudoku_.png

启动界面

sudoku_-01.png

游戏界面(软件皮肤可以去掉)

游戏分为四个难度等级,容易、中等、 较难、天才,等级越高,已填入的数字当然越少。每个等级有50道题目,很耐玩吧

 

操作方法:

容易上手,下面的基本不用去看,自己试试就熟练了 :)

滚轮 控制光标水平移动,alt+滚轮控制光标垂直移动,然后用键盘输入数字即可。也可以移动光标到某位置后,按下滚轮,再用滚动滚轮来输入数字,方便单手操作。

如果对自己推理出来的数字不确定,也可以再按一下该数字,使其字体变小,与其他数字区分开来,每个小格子最多可以放2个小字体的数字

游戏规则:

数独的游戏规则其实很简单:

棋盘是由9个小九宫格组成的9×9 方格,有些格子里已经填入数字,你的任务就是往剩余的小格子填入1-9数字,使之符合如下的规则:

  • 每个数字在每一行只能出现一次
  • 每个数字在每一列只能出现一次
  • 每个数字在每一个小九宫格只能出现一次

感兴趣的朋友可以下载玩玩:下载地址

2007/12/20 Update : 原来免费版本的只能玩第1个等级 ,后面的150题不能玩:(

FreeNote

December 4th, 2007

FreeNote是一款在PC桌面上自由创建记事标签的软件。

官方主页:http://www.mgshareware.com/fnmain.shtml

被水总点名,荣幸啊

November 22nd, 2007

水总变得非常有钱,非常漂亮

1.一直以来最渴望的事是?
好像没什么最渴望的吧,现在是希望工作有点成绩,工资涨啊涨

2.2007年最开心的事情是?
去了桃花岛,摸了桃花石,走了桃花运

3.下雨天会影响心情吗?
不会

4.最大的心愿?         
世界和平,如果一定要有的话 :)
                      
5.如果现在可以让你随心所欲去旅行,你想去哪?
先逛逛地球吧

6.你最满意自己身体哪个部位?
头发,长势良好

7.会不会做饭?你希望你的伴侣(OR未来的伴侣)会吗?
不会,会 
8.最近你在上班/学习之外做的比较有意义的一件事情是什么? 
开始学做饭

9.如果可以重来,你最想改变的是什么?
交际能力

10.觉得自己是个自恋的人么? 
 不是

11.你的下一段恋情会以结婚为前提吗?
应该会,我不玩的

12.你理想的伴侣应该具备什么样的品质?
善解人意,易沟通

13.准备什么时候结婚?
没想过

14.你还生活在过去吗?
一直有脱离过去的想法

15.爱情中最重要的是什么?
正在研究中

16.你对于永远的定义是什么? 
没有定义

17.在你心目中我是怎样一个人? 
(水总千秋万代!)
水总应该是比较女人的那种吧,热爱生活。

18.什么才算得上真正的朋友?
互相帮助

19.你说一个女生美貌非常重要吗?
重要,赏心悦目啊

20.你觉得自己最大的缺点是什么? 
做事不够坚决

21.不开心的时候你会做什么?如果是自己关心的人不开心了呢?你会为她(他) 做些什么? 
沉默。陪着,也许做不了什么

22.你的理想生活状态是什么样的?
不用为钱烦恼

23.此刻你最想实现的愿望是?
同水总

24.一份感情有多久的保鲜期? 
正在研究

25.你觉得被别人爱比较幸福,还是偷偷的爱他(她)会更幸福些?
前者

26.喜欢什么样的爱情模式?一见钟情呢还是日久生情?
后者

27.如果要你给我一个建议,你给我什么?   
多注意帅哥

28.对我的第一印象是怎样的? 
有点黑

29.当难以两者同时照顾到时,你会选择工作还是陪ta?
这个比较难

30.你相信从一而终不背叛你的男人(女人)存在吗?
相信

31.当他/她说爱你的时候,你确信他说的是此时还是永久的?
还不知道

32.最看不爽的人是谁除了我以外?
我觉得人都挺好的

33.如果当你知道你没办法让你喜欢的人爱上你的话,你会怎么办?前提你很爱TA

34.如何去遗忘?
过段时间就忘了

35.做人是为了什么?
这个问题问了几千年了

36.你会爱你的男/女朋友多一点还是爱自己多一点呢?  
基本不爱自己

37.你有一直未变最钟情的东西吗?
说不上来

38.你最想跟好兄弟做的事情是什么? 
喝酒扯蛋
39.想想20年后你是什么样子? 

成熟稳重魅力男,hiahia 
40.按自己的想法去做事,会一直倔强的坚持下去么?
小时候会

41.如果特别要好的朋友可能以后都不能常常见面了,会怎样保持联系呢?
有事再联系

42.如果一直以来你都无法做到你想做的事,该怎么办? 
那就不做了 

43. 2007年你最丢人或最尴尬的事是什么?
还没。07年还没结束,本命年,谨慎谨慎

44.如果将来找不到自己爱的人,会不会因为到了一定年龄被迫结婚
那肯定是家里逼的

45.是不是有房有车后,才有资格谈婚姻,你是先买房呀,还是先买车?
别跟我扯这些
我的问题:
有什么方法可以让自己得到的爱多一点,付出的爱也多一点?
爱是什么东西?

不点名了,这个blog没人访问的,终结吧

Windows CE Platform Builder 补丁网址

November 16th, 2007

重做了系统,PB也要重新安装了,更新补丁是必要的

http://msdn2.microsoft.com/zh-cn/embedded/aa731256.aspx

[zz]在VS2005使用WinCE模拟器

November 14th, 2007

需要下载模拟器:

http://www.microsoft.com/downloads/details.aspx?FamilyID=474b03a6-e87d-455d-bc16-b8cf18ef39b4&displaylang=en

详细操作可查看:

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=468594&SiteID=1

黑莓智能手机预计年底将中国上市

October 26th, 2007

RIM已向中国起运第一批黑莓智能手机,预计年底开始销售,这是RIM进入亚洲巨大市场的一个重大突破。

黑莓智能手机预计年底将中国上市 blackberry

RIM周二宣布已经和阿尔卡特-朗讯公司达成了在中国的销售协议。双方销售的第一款手机是8700型 号手机,RIM在全球范围销售这款手机已有数年,Canaccord Adams的分析师Peter Misek说:“中国和印度正在成为手机巨兽,未来今年,两个市场可为RIM带来数百万用户。”

消息发布后,RIM股价达到新高。RIM股价在纳斯达克股市上涨11.15美元,或9.8%,收于124.53美元。在多伦多股票市场,它的股价也上涨9.12加元,收于120.42加元。

Research Capital分析师Nick Agostino说:“我认为这具有长期的正面影响。”他说,RIM需要化时间争取中国的大企业客户。他认为,中国市场如此巨大,即使RIM能够获得1%的份额,他们的机会也是诱人的。

中国在RIM的全球计划中一直占有重要地位,2006年5月,RIM首次正式宣布准备向中国销售黑莓手机的计划。RIM副执行官Jim Balsillie在一份声明中说:“为开拓中国市场,我们寻求与跨国及国内公司建立合作。”Agostino说RIM已经希望进入中国市场有三到四年时 间了。

为了进入中国,总部位于安大略滑铁卢市的RIM公司已经和中国移动建立了一个服务合作关系,在这一市场,它将面临走低价产品路线对手的竞争,包括当地一家名为“红莓”的服务商。

一些市场观察家说,RIM之所以花了这么长的时间才将黑莓带进中国,部分原因是中国方面对黑莓通讯网络的安全性感到担心。RIM的黑莓手机已经在全 球3百多家运营商处销售。本月初,RIM说自己的用户数突破了1000万大关并且售出的手机达到2千万。公司实现用户多样性的策略也在奏效。第二季度, RIM在北美一半的新增用户首度来自“非企业”市场领域。

[zz]WINCE 建立快捷方式、内核添加文件

October 11th, 2007

1.WINCE快捷方式结构

WINCE的快捷方式和WIN2K,XP的不同,只是一个后缀名为.LNK的文本文件.


其格式如下:

数字#路径

比如,有个快捷方式写法如下:

23#\Windows\ToolViewer.exe

指的是指向WINDOWS文件夹下的Toolviewer.exe可执行文件.数字究竟代表的是什么意思,我也不太清楚;有一说法是#后的ACSII字符 的数量,但如果把上述例子改为1#\Windows\ToolViewer.exe也可正常运行,但去掉数字则系统无法识别.虽然可以正常使用,但建议还 是按照文档#之后的ACSII字符数量填写.

2.如何把快捷方式加到内核中


假设我们有一快捷方式EnglishExp.lnk,要将其加到内核中.

在PB环境中打开工程,在project.bib文件的FILES字段中添加:

EnglishExp.lnk $(_WINCEROOT)\PLATFORM\MyAPPC\EnglishExp.lnk NK H

其中 $(_WINCEROOT)指的是PC机子上PB安装的根目录,H指的是文件属性,意义代表如下:

S:系统
H:隐藏
R:压缩的资源文件
C:压缩文件
U:非压缩文件

3.如何把快捷方式放到桌面

语法如下:Directory(”欲拷贝至的文件夹”):-File(”更改的名称”,”要拷贝的文件”)

假设我们有一快捷方式EnglishExp.lnk,要将其放到桌面,并把快捷方式的名称改为”英语”
在PB的project.dat文件加入此句:

Directory(”\Windows\LOC_DESKTOP_DIR”):-File(”英语.lnk”,”\Windows\CEnglishExp.lnk”)

包含在内核里面的文件全部释放到”\Windows”文件夹下.

LOC_DESKTOP_DIR指的是本地桌面.在PB中,常用的还有如下宏定义:
LOC_DESKTOP_DIR: 桌面
LOC_MYDOCUMENTS_DIR: My Documents
LOC_PROGRAMFILES_DIR: Program Files
LOC_FAVORITES_DIR: Favorites
LOC_RECENT_DIR: Recent
LOC_MYDOCUMENTS_DIR: My Documents
LOC_HELP_DIR: Help

更多的定义可以在ceshellfe.str文件中找到

4.消除快捷方式的小箭头

在PC机的操作系统中可以通过修改注册表来取消快捷方式左下角的小箭头,但在WINCE中注册表没有关于取消小箭头的键值(可能我没找到^_^).在这里我采用的是直接修改资源文件的做法.
打开shcore.res文件,其中文的路径在 $(_WINCEROOT)\PUBLIC\COMMON\OAK\LIB\ARMV4I\RETAIL\0804\,然后将1205的ICO的小箭头删 掉即可.注意,不是删除ID为1205的ICO图标,是删除ICO图标中的内容.

5.微软应用程序的快捷方式

如果在PB中添加了微软的应用软件,便会在桌面和程序中添加其快捷方式;如果觉得快捷方式碍眼,可以将其注释掉再编译即可.

现在列出一些dat文件中定义的微软应用软件的快捷方式:

wceappsfe.dat (C:\WINCE420\PUBLIC\WCEAPPSFE\OAK\FILES\),内含:pmail,wordpad
wceshellfe.dat (C:\WINCE420\PUBLIC\WCESHELLFE\OAK\FILES\),内含:iexplore,帮助文档在”help”文件夹的快捷方式
viewers.dat (C:\WINCE420\PUBLIC\VIEWERS\OAK\FILES\), 内含:pdfviewer,imageviewer,Presviewer,Docviewer
directx.dat (C:\WINCE420\PUBLIC\DIRECTX\OAK\FILES\),内含:Media Player,DVD Player

6. 修改默认shell

其实让一个程序在wince里启动和windows里差不多,直接设置其为启动项,这个有几个方法。一个就是制作一个快捷方式,指向我们的应用程序如app.exe,然后将快捷方式放到\windows\startup下面。

步骤如下:(假设app.exe已经拷贝到windows下面)

在pb中创建一个文件,文件类型选txt,然后命名为.lnk后缀,假设名字为test.lnk
编辑其内容为: 16#\windows\app.exe

备注:前面的16是# 后面所有字符的总和,包括空格。Wince的帮助文档上说这么定义就行,但是我尝试后,最后down到目标机上面时提示找不到文件,在wince里查看这 么创建的test.lnk的属性,发现其指向\windows\app.exe后面还有两个方框,因此不对,我的解决方法是修改test.lnk的内容为 16#”\Windows\app.exe”

编辑好lnk文件内容后在pb中修改project.bib

在files段后面添加下面一行:(和添加别的文件到image中类似,也要在pb的flatform菜单的setting下添加build语句,同上,不再赘述)

test.lnk $(_FLATRELEASEDIR)\test.lnk NK S

project.dat

增加下面一行:

Directory(”\Windows\startup”):-File(”test.lnk”,”\Windows\test.lnk”)

这样后系统启动后就会自动启动我们的程序了。

另外一种方法是编辑注册表:在project.reg中添加如下内容

[HKEY_LOCAL_MACHINE\init]
“Launch80″=”app.exe”
“Depend80″=hex:14,00,1e,00

这个是设定启动顺序,launch后面的数字越大的越是后启动,Depend80后面的指定依赖项,为16进制,上面的语句表明依赖项为launch20 定义的device.exe和launch30中定义的gwes.exe, 注意Launch后面的数字范围为0到99 ,此范围之外的将不会有效果。

这样两种方法的效果都是系统都是系统先启动资源管理器explorer.exe(就是看到的默认桌面),然后启动我们的程序,(如果利用 taskman shell然后去掉任务栏那么效果更好)但是这样还不够,我们如何不显示桌面,直接显示我们的程序呢?

网上有人介绍的方法是去掉standard shell,但是我编译总是报错。我采用的方法是替换注册表中lauch50中的explorer.exe为我的app.exe,即搞定。

修改注册表的方法:先把带KITL的系统跑起来,在PB的TOOLS->Remote registry editor里修改,验证有效后,再去修改platfrom.reg, 或者自己写个REG文件,然后在platform.reg里INCLUDE进来 SYSGEN后确认PBWORKSPACE里相关项目的REL目录里reginit.ini文件里包含了自己做的修改后make image然后DOWNLOAD下去就OK了。

值得补充的是,我们前面介绍的步骤中那个修改平台setting,添加语句的,是因为我每次都是重新sysgen和build,如果只是简单的 make image的话(都是pb中的build OS菜单下的命令),那么将直接用release中的内容,因此也可以直接将文件放到release文件夹,然后改project.bib等实现往 image中添加文件。 同样,也可以直接修改release中的shell.reg中的launch50值为我们自己的程序(或者类似修改reginit.ini文件, reginit.ini文件存放有所有wince的静态注册表,来达到去掉桌面,直接启动我们程序的效果)。

注意,这么启动的程序,如果点击关闭,就会死机的,因为没有窗口运行了。实际运用中,当然不会让用户关闭我们的程序,除非他一起关闭系统。

如果也需要build的话,可以通过往image中添加文件的方法将我们改好的shell.reg添加到release目录。

总之,今天是把定制shell算是基本完成了。