2008/02/08

WTL with Visual Studio 2008 Express

最近在寫WAnts 的更新,使用 ie 透過 ActiveX,用wxWidgets 實在是不方便,有許多的錯誤,例如在IE7下抓取iFrame不知道為什麼一直錯誤,所以就想來裝裝看另一款有名的「WTL」。

在WTL安裝之前,請先安裝 PlamtForm SDK。我安裝的版本是「Microsoft Platform SDK for Windows Server 2003 SP1」

  • WTL目前的版本是 8.0,在下載安裝之後,並沒有內附 2008Express 的安裝,於是修改 "\WTL80\AppWiz\setup80x.js"的檔案,編輯內容把8的字串都改為9,再另存為 "setup90x.js" ,點擊執行就可以安裝到 2008 Express 上了。
  • 接下來修改 PlamFormSDK的檔案,在路徑"Microsoft Platform SDK\Include\atl\atlbase.h",在288行的位置,修改如下

#pragma pack(pop)

/*
PVOID __stdcall __AllocStdCallThunk(VOID);
VOID  __stdcall __FreeStdCallThunk(PVOID);

#define AllocStdCallThunk() __AllocStdCallThunk()
#define FreeStdCallThunk(p) __FreeStdCallThunk(p)

#pragma comment(lib, "atlthunk.lib")
*/
#define AllocStdCallThunk() HeapAlloc(GetProcessHeap(),0,sizeof(_stdcallthunk))
#define FreeStdCallThunk(p) HeapFree(GetProcessHeap(), 0, p)

#elif defined (_M_AMD64)
#pragma pack(push,2)

以上,也可以增加專案中的stdafx.h 修改如下:(由TabBrowser中 支援 2005 Express 參考)

//#ifdef _VC80X
  // Support for VS2005 Express & SDK ATL
  #define _CRT_SECURE_NO_DEPRECATE
  #pragma conform(forScope, off)
  #pragma comment(linker, "/NODEFAULTLIB:atlthunk.lib")
  #pragma warning(disable: 4565) // redefinition; the symbol was previously declared with __declspec(noalias)
  #pragma warning(disable: 4068) // unknown pragma
//#endif // _VC80X

#include <atlbase.h>

//#ifdef _VC80X
  // Support for VS2005 Express & SDK ATL
  namespace ATL
  {
    inline void * __stdcall __AllocStdCallThunk()
    {
        return ::HeapAlloc(::GetProcessHeap(), 0, sizeof(_stdcallthunk));
    }

    inline void __stdcall __FreeStdCallThunk(void *p)
    {
        ::HeapFree(::GetProcessHeap(), 0, p);
    }
  };
//#endif // _VC80X

  • "Microsoft Platform SDK\Include\atl\atlwin.h",在1753行的位置

for(int i = 0; i < m_aChainEntry.GetSize(); i++)

  • "WTL80\AppWiz\Files\Templates\1033\root.rc",在507的位置

[!if WTL_COM_SERVER]
1 TYPELIB "[!output PROJECT_NAME].tlb"
[!endif]
[!if WTL_USE_MANIFEST]
//CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "res\\[!output PROJECT_NAME].exe.manifest"
[!endif]

  • 如果在編譯Sample時出現以下錯誤

CVTRES : fatal error CVT1100: duplicate resource. type:MANIFEST, name:1, language:0x0409

LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt.

就尋找專案中的 ".rc" 檔案,並注解掉
//CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST

 

以上,就是編譯WTL Sample 中遇到的問題,解決的方式。

 

2008/01/19

[聚餐]好吃國

名稱:好吃國
類型:巴西窯烤、半自助式
地址:台北市南京東路5段6號2樓
價位:午餐 330 + 10%
人員:11名

又一次大學同學的聚餐,回想也聚餐了不少次,這次的巴西窯烤,一開始在樓下時看著電視日本台的節目介紹,肉剛上來時,用刀子切下去時油滴下來的樣子,我同時口水也滴了下來。

所謂的半自助式,主餐「窯烤」出來的東西,是由幾個服務人員(有一個應該是老闆自已),在你桌面邊喊,「要不要吃啊 ~」「要不要吃啊~」,如果你要吃呢 就把劍上剛烤好的一串的東西分一些給你,另外還有自助式的餐點、飲料。

先講一下自助的餐點有:生菜沙拉、一些熟食(來不及吃,因為肉一直上來)、水果、甜點,湯是我覺得比較特別的,有羊肉爐、一點都不辣的麻辣鴨血,不過我覺得鴨血還不錯,有些地方的鴨血因為一直煮會變的有點老,不過這邊的完全不會,而且一咬下去汁都會噴出來,另外還有巴西蘑菇湯,不過蘑菇已經切碎,吃不到完整單個蘑菇,還是巴西的蘑菇湯,都是切碎的?

窯烤的主菜有:
豬肉,一整大塊串在劍上拿去烤,要吃的時候會切一小塊下來給你,切的時候會看到油噴射而出的樣子,應該算是招牌了。
魷魚圈,網路上蠻多人討論的,其實還不難吃也沒有網路上說的那麼硬,只不過我很好奇,怎麼每塊都看起來一樣大圈。
香蕉:這應該是最特別的菜了,香蕉烤了之後,烤的比較軟爛的比較好吃,會有烤香蕉的香味,甜味也會比較突出,就是會有點爛爛的,可能有些人不能接受。另外記住皮是不能吃的喔,吃到一半聽到隔壁桌的把皮也吃了下去,當下想問問說烤香蕉皮味道怎麼樣?
其他的東西還有:方型牛肉、方型魚肉、雞心、雞翅(沒有棒棒腿的部份,只有二節翅)、杏苞菇、青椒。
不是烤有的:絲瓜,不知道是不是我吃的少,覺得他們的煮絲瓜中間軟,外皮有點脆,還不錯,另外還有洋蔥圈、薯條(?)。

以上肉的部份會一直上,青菜就比較少了。聽網路說中午沒有羊肉,果然沒有烤羊的部份出現。

飲料由於感冒還沒好,只能喝熱的,喝了一杯巴西咖啡,非常淡沒什麼味道,還有熱紅茶倒是喝了不少,因為沒有其他熱飲。

感想:桌面有點小,其實盤子常常裝不滿,應該可以用小一點的,不然自助式的盤子,會不太夠放。還是因為晚餐比較豐盛。不過以這個價位吃到飽,已經還不錯了。


2007/12/21

USB AutoRun vs VBS

由於"我的最愛"在公司跟家裡的電腦一直想要合併成一個,於是前一陣子買了一個隨身碟,來當作個人資料的儲存與備份。

如果要讓AutoRun隨插即啟動,首先就要灌APO Usb Autorun,這軟體網路上的文章不少,有需要請自行尋找估狗大神。不過之前隨身碟病毒不少,要小心服用。

然後在隨身碟根目錄建一個Autorun.inf內容如下,如果有喜歡的小icon也可以在這裡設定:



[autorun]
shellexecute=autorun.vbs


然後再建立一個autorun.vbs的檔案,如下:



Dim PIM
Set PIM = CreateObject("WScript.Shell")
PIM.Run "Tools\Essentialpimport2\EssentialPIM.exe" ,7
Dim BackUp
Set BackUp = CreateObject("WScript.Shell")
BackUp.Run "Tools\FileBackupPro\FileBackup.exe" ,7
WScript.Quit


本來是用BAT檔,不過一執行就會跳出Dos視窗,而我也找不到如何不顯現。VBS我也不熟,從網路上參考而來的,非常簡單,Run "路徑檔案",7代表的是一執行就最小化。

我的隨身碟中,一開始就啟用的有個人行事曆(EssentialPIM)和備份系統(FileBackup),之前曾經發生插入電腦之後就發生資料不見,所以就一插入電腦就讓他自動備份。

2007/11/12

[電影]屬於你我的~不能說的秘密 ~

work6


這部電影一直風評不斷,直到昨天看過之後,周杰倫自導自演的初試啼聲,真的覺得是近年國片中的佳作。比起之前看到的"頭文字D"進步不少。

一開始的劇情雖然許多人認為都是一般的校園愛情劇,但是我就喜歡這種平淡之中的讓人微起嘴角淡淡的喜悅,在女主角桂綸鎂與男主角的互動之中,讓人喜歡上「路小雨」這個角色。路小雨的氣質與淘氣,深深的吸引劇中的男主角與劇外的我。

在此不得不說第二主女角 睛依(曾愷玹),亮麗的外表真是吸引了不少人的眼睛,還是我特別喜愛的長髮。

ap_20070814102617333 

在大量鋼琴曲包圍中的片子,譜出了與其他國片不同的格調,雖然穿越時空是老調重彈,不過同樣的劇情,都讓人生出希望男主角回到過去改變時空的衝動。

當最後一鍵按下,當與路小雨重新見面那一刻,心底浮現這才是我喜歡的愛情劇。

2007/11/07

Windows Live Writer - 離線 Blog 編輯器

由於之前介紹 Zoundry Blog Writer - 離線Blog編寫 ,由於 Zoundry 已經許久沒有更新,現在又看到許許多多介紹 Windows Live Writer 的文章,就下載來試試。

由於現在剛好出了新版:http://get.live.com/writer/overview

剛好來試試,這篇文章就是由 Windows Live Writer 所上傳的。

由於 Zoundry  編寫 程式碼時 對齊有問題,所以要到blog 上重新編寫,下次試試有這有這個問題

另外,Windows Live Writer 好像沒有分類標籤的功能,也是要上傳後重新設定。