/********************************************************************
created: 2008/04/24
created: 24:4:2008 12:47
author: Gohan
http://feed.feedsky.com/gohan
purpose: 演示SHBrowseForFolder用法
*********************************************************************/
#include <Windows.h>
#include <ShlObj.h>
int main()
{
BROWSEINFO bi;
ZeroMemory(&bi,sizeof(BROWSEINFO));
LPMALLOC pMalloc;
LPITEMIDLIST pidl = SHBrowseForFolder(&bi);
TCHAR * path = new TCHAR[MAX_PATH];
if(pidl != NULL)
{
SHGetPathFromIDList(pidl,path);
MessageBox(NULL,path,TEXT("Choose"),MB_OK);
if(SUCCEEDED(SHGetMalloc(&pMalloc)))//pidl指向的对象用完应该释放,之前忽略了
{
pMalloc->Free(pidl);
pMalloc->Release();
}
}
else
{
MessageBox(NULL,TEXT("选择为空"),TEXT("Choose"),MB_OK);
}
delete path;//谢谢true的提醒,以后我一定会更加慎重
}
这周看了点书,写了一些代码,MFC的mergesortDemo,C#与regex相关的应用。今天凌晨发现一个类似Mop的猫游记的WebMUD叫刀剑江湖,花了几个小时玩了一下,用.net2.0做的,我也很想做类似的mud服务端,可是学的东西太少,只是简单的翻看过MUD Game Programming,感觉做一个庞大的系统很麻烦,不过有机会我会去慢慢尝试。同学中有些人喜欢玩WebGame,类似travian这样的游戏,现在好像xiaonei也推出了一款,我打算研究一下C#的webbrowser控件等的应用,以及HTTP抓包来了解下这类游戏的运作,那个刀剑江湖的游戏在执行命令时对于一个Send.aspx会传一个特定算法生成的0-1的实型参数,每次都不同,所以像MUD中的机器人就很难做了。CodeProject: The most complete C# Webbrowser wrapper control.这篇文章讲了一个功能强大的包装了C# webbrowser的控件,我只是随便看看,好像许多内部功能使用的是ATL搞得,这个项目的地址点这里。本周很乱有点忙,法国很多人民不了解我们,只能觉得很遗憾,如果中国更强点,他们估计想不了解都难了。我爱中国的地大物博,人才济济。你身边的爱国主义 [枣报特评],好好学习,好好工作。
本周收藏:
本周就是这样,匆忙回顾。
Win32命令行应用程序是可以加颜色的,使用SetConsoleTextAttribute就可以实现了,记得前年小学期做的程序作业就用了它。
这篇文章很简单,你可以当作是一个cout <<运算符重载的一个简单例子。本文章来源与这里,我只是做一个很不专业解释。
本文章提供的库可以如下使用,上面是显示效果,想起小时候玩的Mud了吧。
#include "ConsoleColor.h"
std::cout << green << "This text is written in green" << white << std::endl;
std::cout << color(FOREGROUND_RED|FOREGROUND_GREEN) << "This text has a really exiting color !"
<< white << std::endl;
ConsoleColor.h的内容
#pragma once
#include <iostream>
#include <windows.h>
inline std::ostream& blue(std::ostream &s)
{
HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdout, FOREGROUND_BLUE
|FOREGROUND_GREEN|FOREGROUND_INTENSITY);
return s;
}
inline std::ostream& red(std::ostream &s)
{
HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdout,
FOREGROUND_RED|FOREGROUND_INTENSITY);
return s;
}
inline std::ostream& green(std::ostream &s)
{
HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdout,
FOREGROUND_GREEN|FOREGROUND_INTENSITY);
return s;
}
inline std::ostream& yellow(std::ostream &s)
{
HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdout,
FOREGROUND_GREEN|FOREGROUND_RED|FOREGROUND_INTENSITY);
return s;
}
inline std::ostream& white(std::ostream &s)
{
HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdout,
FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
return s;
}//以上这些函数定义本身就是cout的<<操作符的一种参数重载形式,即:
//basic_ostream& operator<<( basic_ostream& (*_Pfn)(basic_ostream&) );
struct color {
color(WORD attribute):m_color(attribute){};
WORD m_color;
};
template <class _Elem, class _Traits>
std::basic_ostream<_Elem,_Traits>&
operator<<(std::basic_ostream<_Elem,_Traits>& i, color& c)
{
HANDLE hStdout=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hStdout,c.m_color);
return i;
}
最后这个是对于<<操作符的重载,形式类似于如下
template<class _Tr>
basic_ostream<char, _Tr>& operator<<(
basic_ostream<char, _Tr>& _Ostr,
const unsigned char *_Str);
OK,发挥你的想象力,让c++变得更有趣吧。
参考链接:
关于GPCT的程序做了个大概,并于昨天提交,能够解决1-5级的难度,第6级更麻烦一些,第7级就超出我的能力范围了。这周几个老师出差上的课程就少了几节,微机原理与接口技术只有一部分侧重8086 assembly,还在慢慢看罗云彬的Win32汇编,另外Effective C#看了一半,李建忠翻译的非常认真。于是之后的计划也就草草定下,用win32汇编改写几个简单的SDK程序,C#的正则表达式匹配以及IFormatable接口的方法重载,用MFC或SDK写几个算法演示工具之类,有空应该就会完成这些计划,并在这里附上心得。
这周几乎没完游戏,只是“本学期再不打dota”的这个打算以失败告终,还是太容易原谅自己。最近的放松方式,是看鸟山明的漫画,以及阅微堂博主推荐的小说《新宋》。同学推荐了一部平淡而温情的电影我们俩,不错。
本周收藏:
本周就是这些,之后我会陆续写一些技术小心得,也许会有点儿用,呵呵。
这周玩的挺好,工作做的也不错。这周终于装上了Portal,装下来有6G,19关一共花了几个小时玩完,真是一个不错的游戏,可惜意犹未尽,于是发现了Portal Maps这个地方,可以下载许多好玩地图。关于那个参加gpct比赛的程序我用4叉树记录加上枚举解决了只有传送难度的问题,对于机关的想法下周再去实施,周末做的这项工作,搞到凌晨4、5点,感觉晚上状态很好。周二有幸去了兵马俑,挺震撼的,比那个马王堆汉墓还强一些,古人的有些聪明才智真的值得我们感到自豪,不过可惜的是很多古人留下的东西没能继续传承。这周动漫看了很多,看完School Days,重看了一回天书奇谭,还在看妄想代理人。
令人高兴的是维基百科终于可以访问了,速度还不错。
Google Talk推出实验版本,暂时适用了一下,登陆没有过去的快了,功能倒有点进步,界面跟在线版一样。
声明:北京维权人士胡佳因言入罪被判刑三年半,等待壹报的详细报道。
本周收藏
这周就先到这里了。
本周在学习方面几乎没任何进步,重新读了windows核心编程的Dll部分,作者很强,他写的这本CLR via C#也在我的读书堆栈中,这周玩的时间占得有点儿多。上微机原理接口技术学习8086汇编基础,对于汇编产生了一点小小兴趣,于是周五去市区看完10000bc后,花了快70多元买了罗云彬的win32汇编程序设计,目前就看了几十页,觉得看这个会对SDK学习带来不少补充,慢慢翻吧。
这周主要玩了好几个小游戏,Portal flash,还玩了一个叫Chalk的游戏,玩过去两遍,每关都得B,没得过A,真遗憾。异尘行者这周也发了个关于小游戏的博文:四個鍛鍊反應與腦力的耐玩Flash小遊戲@电脑玩物。游戏总是很有吸引力。
这周没开QQ,好像有的朋友去玩了百度HI,我觉得那个还没有QQ有用,自然就不用了。爱枣报看到的链接:mao片网后面还有有个秘密,下载长江7号 官方桌面小游戏 (刚好这周重看了遍CJ7)。文化部教育部的老爷们,文盲张纪中要翻拍西游记,你们管不管?这个拍出来估计很囧,和邪社首发史上最强NPC造就网游中的战斗机-盛大《龙神传说》,一样很囧,愚人节渐近,左岸读书愚人节专辑可以参考一下。
本周收藏的几个地址:
周末重新看了CJ7,幽灵公主,感觉还是一样的好,看完10000BC觉得没有别人说的那么差劲,意淫也好狗屎运也好我都是很喜欢的。看了头5卷IQ博士的漫画,看了两集School days的动画。本次回顾的图片为龙珠电影的一张剧照,这电影大概要等到明年初了。ending...
Portal 是我非常想玩的一个游戏,可惜目前机器连hl2都带不动,只能等暑假换了机器再玩了。昨晚上做完回顾后发现了一个PMOG的Mission,里面介绍了不少有趣的物理小游戏,Portal flash就是其中之一,一共只有40关,于是迫不及待打通关了,2D版应该比3D要简单的多了,不过还是推荐一下 。
点击打开游戏地址。
本周周末有点忙碌,忙碌中学到不少,之后几周应该都会忙碌一些。这周学业没什么进一步突破,终于正式开始接触8086的汇编语言。周末对于C#实践了小小一部分,今天找到了本.net IL汇编的电子书,Apress的《Expert.dot.NET.2.0.IL.Assembler》,有机会的话胡乱看一些。现在还不知道C#里的函数如何返回左值,C#的线程函数能否传递参数,继续慢慢学习。
soff的案子判了,三年有期徒刑,罚没收入118万。最后是腾讯胜了,很早就用珊瑚虫的插件了,不知道珊瑚虫捆绑了那些所说的流氓软件。腾讯现在是很壮大了,为soff觉得不平。。现在qq几乎不用,实际行动抵制腾讯。。
前几天有人问什么是云计算,我只知道是种分布式运算,Google及其云智慧这篇文章可以看看。还是Google,Google淘汰的产品,不少有趣的东西。BTW:我最近淘汰了谷歌拼音,改用搜狗了,搜狗自定义的颜色还是感觉更好(如图)。
本周阅读很少,只是收藏了一些网站网页:
看完了日剧liar game,还有一部岁数比我大的动画片风之谷。
本周回顾结束。
针对GPCT的比赛说明用C#进行了一些编程活动,期间了解到C#动态装载Assembly的强大,获得程序集自定义属性等等的一些知识碎片。C#很不习惯的一点就是New出来很多很多对象却都不用delete,真的是比较别扭,其它的倒是真方便。今天看.net的IL代码,真的产生了不少的兴趣,过些日子去找本书看。TortoiseSVN的版本控制软件这次也有幸使用了一下,因为是同宿舍两位同学合作coding,希望我们都能逐渐成长。于是乎今天work时间到达了近8小时,平时估计每天有一个小时就不错了,呵呵。work work,平时太荒废,以后还是养成惯性的好。
OK,that's all,明天的周回顾等明天再写了。
这周在学习方面稍稍有点儿状态了。微机原理与接口技术这门硬件基础课程估计要多学一下,编译原理我在看那本《程序设计语言-实践之路》,算法导论也要再学一学。买了本thinking in java 4th,慢慢的看。我们这门WDM编程的课程不会指望老师讲多深,老师现在还在解释dll跟静态库,跟太平洋电脑网的教程讲的一样,配图都打着pconline的水印,老师夸口说有能力写本比MFC深入浅出还牛13的多的书(囧),侯捷的mfc深入浅出我主要看了原理部分,的确深入浅出,文笔也很好,这本书大概在海外也是影响不错的,侯捷多牛啊,翻译的深度探索c++对象模型也不是盖的,俺们的老师口气还是不小的,期待他的大作。
李开复前几天来我们学校做演讲,他做宣传大概有好几年了吧,教育大学生人生道理很不错,不过我倒不怎么哈他,从微软离开而投靠Google是他的选择,我觉得这两个公司在中国的本土化都做得不尽人意。现在希望开复大哥能给解决一下,好好教育一下百度同学。这个谷歌的搜索提示不知道算不算是Bug,谷歌拼音还是没有搜狗有竞争力。最后看一下Google外国的工作环境,真的有些向往。
这周终于知道了一个很好的NDS模拟器,no$gba 2.6a版本,终于可以顺畅的玩Jump明星大乱斗了,这位作者真是很强,很惭愧我没能捐助他$,不过以后一定会补上的。
玩了一个有趣的游戏“下流的蛋蛋”,英文名CONTOUR,挑战你的智力更加挑战你的耐心,我心智不怎么样,目前只打过去14关,以后有闲再继续。
昨天看了The Mist,让我很震撼的一部电影,有些味道让我想起了大逃杀,如果你身在这个迷雾中,你会做什么选择?
西藏最近有点儿乱,我觉得我们应该坚定不移维护祖国统一,希望死伤越少越好,少点人被那些自私而别有用心的人忽悠。
这周就到这里了。