/********************************************************************
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指向的對(duì)象用完應(yīng)該釋放,之前忽略了
{
pMalloc->Free(pidl);
pMalloc->Release();
}
}
else
{
MessageBox(NULL,TEXT("選擇為空"),TEXT("Choose"),MB_OK);
}
delete path;//謝謝true的提醒,以后我一定會(huì)更加慎重
}
這周看了點(diǎn)書,寫了一些代碼,MFC的mergesortDemo,C#與regex相關(guān)的應(yīng)用。今天凌晨發(fā)現(xiàn)一個(gè)類似Mop的貓游記的WebMUD叫刀劍江湖,花了幾個(gè)小時(shí)玩了一下,用.net2.0做的,我也很想做類似的mud服務(wù)端,可是學(xué)的東西太少,只是簡(jiǎn)單的翻看過MUD Game Programming,感覺做一個(gè)龐大的系統(tǒng)很麻煩,不過有機(jī)會(huì)我會(huì)去慢慢嘗試。同學(xué)中有些人喜歡玩WebGame,類似travian這樣的游戲,現(xiàn)在好像xiaonei也推出了一款,我打算研究一下C#的webbrowser控件等的應(yīng)用,以及HTTP抓包來了解下這類游戲的運(yùn)作,那個(gè)刀劍江湖的游戲在執(zhí)行命令時(shí)對(duì)于一個(gè)Send.aspx會(huì)傳一個(gè)特定算法生成的0-1的實(shí)型參數(shù),每次都不同,所以像MUD中的機(jī)器人就很難做了。CodeProject: The most complete C# Webbrowser wrapper control.這篇文章講了一個(gè)功能強(qiáng)大的包裝了C# webbrowser的控件,我只是隨便看看,好像許多內(nèi)部功能使用的是ATL搞得,這個(gè)項(xiàng)目的地址點(diǎn)這里。本周很亂有點(diǎn)忙,法國(guó)很多人民不了解我們,只能覺得很遺憾,如果中國(guó)更強(qiáng)點(diǎn),他們估計(jì)想不了解都難了。我愛中國(guó)的地大物博,人才濟(jì)濟(jì)。你身邊的愛國(guó)主義 [棗報(bào)特評(píng)],好好學(xué)習(xí),好好工作。
本周收藏:
本周就是這樣,匆忙回顧。
Win32命令行應(yīng)用程序是可以加顏色的,使用SetConsoleTextAttribute就可以實(shí)現(xiàn)了,記得前年小學(xué)期做的程序作業(yè)就用了它。
這篇文章很簡(jiǎn)單,你可以當(dāng)作是一個(gè)cout <<運(yùn)算符重載的一個(gè)簡(jiǎn)單例子。本文章來源與這里,我只是做一個(gè)很不專業(yè)解釋。
本文章提供的庫(kù)可以如下使用,上面是顯示效果,想起小時(shí)候玩的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的內(nèi)容
#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;
}//以上這些函數(shù)定義本身就是cout的<<操作符的一種參數(shù)重載形式,即:
//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;
}
最后這個(gè)是對(duì)于<<操作符的重載,形式類似于如下
template<class _Tr>
basic_ostream<char, _Tr>& operator<<(
basic_ostream<char, _Tr>& _Ostr,
const unsigned char *_Str);OK,發(fā)揮你的想象力,讓c++變得更有趣吧。
參考鏈接:
Win32 Console Applications - Part 4. 這個(gè)就是最初我使用命令行色彩的參考,有興趣可以看看。今天做了一個(gè)歸并排序演示程序,還要繼續(xù)完善,我MFC很爛,完了放出爛爛的代碼。
關(guān)于GPCT的程序做了個(gè)大概,并于昨天提交,能夠解決1-5級(jí)的難度,第6級(jí)更麻煩一些,第7級(jí)就超出我的能力范圍了。這周幾個(gè)老師出差上的課程就少了幾節(jié),微機(jī)原理與接口技術(shù)只有一部分側(cè)重8086 assembly,還在慢慢看羅云彬的Win32匯編,另外Effective C#看了一半,李建忠翻譯的非常認(rèn)真。于是之后的計(jì)劃也就草草定下,用win32匯編改寫幾個(gè)簡(jiǎn)單的SDK程序,C#的正則表達(dá)式匹配以及IFormatable接口的方法重載,用MFC或SDK寫幾個(gè)算法演示工具之類,有空應(yīng)該就會(huì)完成這些計(jì)劃,并在這里附上心得。
這周幾乎沒完游戲,只是“本學(xué)期再不打dota”的這個(gè)打算以失敗告終,還是太容易原諒自己。最近的放松方式,是看鳥山明的漫畫,以及閱微堂博主推薦的小說《新宋》。同學(xué)推薦了一部平淡而溫情的電影我們倆,不錯(cuò)。
本周收藏:
本周就是這些,之后我會(huì)陸續(xù)寫一些技術(shù)小心得,也許會(huì)有點(diǎn)兒用,呵呵。
這周玩的挺好,工作做的也不錯(cuò)。這周終于裝上了Portal,裝下來有6G,19關(guān)一共花了幾個(gè)小時(shí)玩完,真是一個(gè)不錯(cuò)的游戲,可惜意猶未盡,于是發(fā)現(xiàn)了Portal Maps這個(gè)地方,可以下載許多好玩地圖。關(guān)于那個(gè)參加gpct比賽的程序我用4叉樹記錄加上枚舉解決了只有傳送難度的問題,對(duì)于機(jī)關(guān)的想法下周再去實(shí)施,周末做的這項(xiàng)工作,搞到凌晨4、5點(diǎn),感覺晚上狀態(tài)很好。周二有幸去了兵馬俑,挺震撼的,比那個(gè)馬王堆漢墓還強(qiáng)一些,古人的有些聰明才智真的值得我們感到自豪,不過可惜的是很多古人留下的東西沒能繼續(xù)傳承。這周動(dòng)漫看了很多,看完School Days,重看了一回天書奇譚,還在看妄想代理人。
令人高興的是維基百科終于可以訪問了,速度還不錯(cuò)。
Google Talk推出實(shí)驗(yàn)版本,暫時(shí)適用了一下,登陸沒有過去的快了,功能倒有點(diǎn)進(jìn)步,界面跟在線版一樣。
聲明:北京維權(quán)人士胡佳因言入罪被判刑三年半,等待壹報(bào)的詳細(xì)報(bào)道。
本周收藏
這周就先到這里了。
本周在學(xué)習(xí)方面幾乎沒任何進(jìn)步,重新讀了windows核心編程的Dll部分,作者很強(qiáng),他寫的這本CLR via C#也在我的讀書堆棧中,這周玩的時(shí)間占得有點(diǎn)兒多。上微機(jī)原理接口技術(shù)學(xué)習(xí)8086匯編基礎(chǔ),對(duì)于匯編產(chǎn)生了一點(diǎn)小小興趣,于是周五去市區(qū)看完10000bc后,花了快70多元買了羅云彬的win32匯編程序設(shè)計(jì),目前就看了幾十頁(yè),覺得看這個(gè)會(huì)對(duì)SDK學(xué)習(xí)帶來不少補(bǔ)充,慢慢翻吧。
這周主要玩了好幾個(gè)小游戲,Portal flash,還玩了一個(gè)叫Chalk的游戲,玩過去兩遍,每關(guān)都得B,沒得過A,真遺憾。異塵行者這周也發(fā)了個(gè)關(guān)于小游戲的博文:四個(gè)鍛鍊反應(yīng)與腦力的耐玩Flash小遊戲@電腦玩物。游戲總是很有吸引力。
這周沒開QQ,好像有的朋友去玩了百度HI,我覺得那個(gè)還沒有QQ有用,自然就不用了。愛棗報(bào)看到的鏈接:mao片網(wǎng)后面還有有個(gè)秘密,下載長(zhǎng)江7號(hào) 官方桌面小游戲 (剛好這周重看了遍CJ7)。文化部教育部的老爺們,文盲張紀(jì)中要翻拍西游記,你們管不管?這個(gè)拍出來估計(jì)很囧,和邪社首發(fā)史上最強(qiáng)NPC造就網(wǎng)游中的戰(zhàn)斗機(jī)-盛大《龍神傳說》,一樣很囧,愚人節(jié)漸近,左岸讀書愚人節(jié)專輯可以參考一下。
本周收藏的幾個(gè)地址:
周末重新看了CJ7,幽靈公主,感覺還是一樣的好,看完10000BC覺得沒有別人說的那么差勁,意淫也好狗屎運(yùn)也好我都是很喜歡的。看了頭5卷IQ博士的漫畫,看了兩集School days的動(dòng)畫。本次回顧的圖片為龍珠電影的一張劇照,這電影大概要等到明年初了。ending...
Portal 是我非常想玩的一個(gè)游戲,可惜目前機(jī)器連hl2都帶不動(dòng),只能等暑假換了機(jī)器再玩了。昨晚上做完回顧后發(fā)現(xiàn)了一個(gè)PMOG的Mission,里面介紹了不少有趣的物理小游戲,Portal flash就是其中之一,一共只有40關(guān),于是迫不及待打通關(guān)了,2D版應(yīng)該比3D要簡(jiǎn)單的多了,不過還是推薦一下 。
點(diǎn)擊打開游戲地址。
本周周末有點(diǎn)忙碌,忙碌中學(xué)到不少,之后幾周應(yīng)該都會(huì)忙碌一些。這周學(xué)業(yè)沒什么進(jìn)一步突破,終于正式開始接觸8086的匯編語(yǔ)言。周末對(duì)于C#實(shí)踐了小小一部分,今天找到了本.net IL匯編的電子書,Apress的《Expert.dot.NET.2.0.IL.Assembler》,有機(jī)會(huì)的話胡亂看一些。現(xiàn)在還不知道C#里的函數(shù)如何返回左值,C#的線程函數(shù)能否傳遞參數(shù),繼續(xù)慢慢學(xué)習(xí)。
soff的案子判了,三年有期徒刑,罰沒收入118萬(wàn)。最后是騰訊勝了,很早就用珊瑚蟲的插件了,不知道珊瑚蟲捆綁了那些所說的流氓軟件。騰訊現(xiàn)在是很壯大了,為soff覺得不平。。現(xiàn)在qq幾乎不用,實(shí)際行動(dòng)抵制騰訊。。
前幾天有人問什么是云計(jì)算,我只知道是種分布式運(yùn)算,Google及其云智慧這篇文章可以看看。還是Google,Google淘汰的產(chǎn)品,不少有趣的東西。BTW:我最近淘汰了谷歌拼音,改用搜狗了,搜狗自定義的顏色還是感覺更好(如圖)。

本周閱讀很少,只是收藏了一些網(wǎng)站網(wǎng)頁(yè):
看完了日劇liar game,還有一部歲數(shù)比我大的動(dòng)畫片風(fēng)之谷。
本周回顧結(jié)束。
針對(duì)GPCT的比賽說明用C#進(jìn)行了一些編程活動(dòng),期間了解到C#動(dòng)態(tài)裝載Assembly的強(qiáng)大,獲得程序集自定義屬性等等的一些知識(shí)碎片。C#很不習(xí)慣的一點(diǎn)就是New出來很多很多對(duì)象卻都不用delete,真的是比較別扭,其它的倒是真方便。今天看.net的IL代碼,真的產(chǎn)生了不少的興趣,過些日子去找本書看。TortoiseSVN的版本控制軟件這次也有幸使用了一下,因?yàn)槭峭奚醿晌煌瑢W(xué)合作coding,希望我們都能逐漸成長(zhǎng)。于是乎今天work時(shí)間到達(dá)了近8小時(shí),平時(shí)估計(jì)每天有一個(gè)小時(shí)就不錯(cuò)了,呵呵。work work,平時(shí)太荒廢,以后還是養(yǎng)成慣性的好。
OK,that's all,明天的周回顧等明天再寫了。

這周在學(xué)習(xí)方面稍稍有點(diǎn)兒狀態(tài)了。微機(jī)原理與接口技術(shù)這門硬件基礎(chǔ)課程估計(jì)要多學(xué)一下,編譯原理我在看那本《程序設(shè)計(jì)語(yǔ)言-實(shí)踐之路》,算法導(dǎo)論也要再學(xué)一學(xué)。買了本thinking in java 4th,慢慢的看。我們這門WDM編程的課程不會(huì)指望老師講多深,老師現(xiàn)在還在解釋dll跟靜態(tài)庫(kù),跟太平洋電腦網(wǎng)的教程講的一樣,配圖都打著pconline的水印,老師夸口說有能力寫本比MFC深入淺出還牛13的多的書(囧),侯捷的mfc深入淺出我主要看了原理部分,的確深入淺出,文筆也很好,這本書大概在海外也是影響不錯(cuò)的,侯捷多牛啊,翻譯的深度探索c++對(duì)象模型也不是蓋的,俺們的老師口氣還是不小的,期待他的大作。
李開復(fù)前幾天來我們學(xué)校做演講,他做宣傳大概有好幾年了吧,教育大學(xué)生人生道理很不錯(cuò),不過我倒不怎么哈他,從微軟離開而投靠Google是他的選擇,我覺得這兩個(gè)公司在中國(guó)的本土化都做得不盡人意。現(xiàn)在希望開復(fù)大哥能給解決一下,好好教育一下百度同學(xué)。這個(gè)谷歌的搜索提示不知道算不算是Bug,谷歌拼音還是沒有搜狗有競(jìng)爭(zhēng)力。最后看一下Google外國(guó)的工作環(huán)境,真的有些向往。
這周終于知道了一個(gè)很好的NDS模擬器,no$gba 2.6a版本,終于可以順暢的玩Jump明星大亂斗了,這位作者真是很強(qiáng),很慚愧我沒能捐助他$,不過以后一定會(huì)補(bǔ)上的。
玩了一個(gè)有趣的游戲“下流的蛋蛋”,英文名CONTOUR,挑戰(zhàn)你的智力更加挑戰(zhàn)你的耐心,我心智不怎么樣,目前只打過去14關(guān),以后有閑再繼續(xù)。
昨天看了The Mist,讓我很震撼的一部電影,有些味道讓我想起了大逃殺,如果你身在這個(gè)迷霧中,你會(huì)做什么選擇?
西藏最近有點(diǎn)兒亂,我覺得我們應(yīng)該堅(jiān)定不移維護(hù)祖國(guó)統(tǒng)一,希望死傷越少越好,少點(diǎn)人被那些自私而別有用心的人忽悠。
這周就到這里了。