買屋三樣情

同事J: 我買的汐止房子都交屋好久,我好希望有時間去看一下。

同事K: 我買房子~都沒有什麼實際的感覺~~~~~

我: 我買了房子~ 瞬間變成貸款族~~~~~~~

說起了買房子,我也找了兩年多。不過真的買下去的時候,當天晚上緊張到睡不著,不論是貸款的壓力,或是選房子的緊張。都讓我睡不著。不過~~ 或許買了房子也代表著新的開始,畢竟得負點責任~ 好好的規劃接下來的生活了。

Take That 專輯改版了-接招合唱團 / 美麗境界 [CD+DVD限量昇華盤]

image.jpg

### Take That / Beautiful World [Tour Edition-CD+DVD] > > * 唱片公司:[Universal](http://www.books.com.tw/exep/prod/cd/brand.php?pubid=univl) > * 音樂類型:西洋音樂 > * 唱片編號:175 435-3 > * 發行日期:2007年11月20日 > * 台壓專輯 / CD / 2 片裝 > * 資料來自: [博客來網路書局](http://www.books.com.tw/exep/cdfile.php?item=0020122120) >

最近去大賣場看的時候,既然在架上就看到了這張專輯。本來以為只是加了MV就要改版,但是看到以下幾首歌之後,馬上就買下去了。

Butterfly 蝴蝶
12

這首是海外版才有的歌曲,由Gary演唱起來格外好聽與細膩。

Beautiful Morning 美麗早晨
13

這首相當的輕快與舒服~~ 我很喜歡Gary唱這首歌的感受。 裡面的歌詞更是陽光~~ 廳起來就讓人有在海邊吹著海風開著車的感受。

[youtube http://www.youtube.com/watch?v=83ZfYdVN2BA]

We All Fall Down 失敗
14

Mark 主唱的這首歌,更是我這張專輯裡面的最愛(所新增的歌曲裡面)。歌詞相當的鼓勵人心,就算你今天失敗了,或許要繼續往你要走的地方走就好了。Mark歌唱功力真的進步了。

歌詞在這裡:

We All Fall Down Lyrics

[youtube=http://www.youtube.com/watch?v=VsJ5_8tfqYU&w;=425&h;=355]

Rule The World 征服世界
15

星塵傳奇的片尾曲,大家想必都很了解的歌曲才對

[youtube http://www.youtube.com/watch?v=KII1ruAfvsg]

[轉錄]TOYOTA 的保養,給Toyota車主的建議!

images.jpg

暨上一篇文章: TOYOTA原廠維修真的好??

PTT上面有許多專業大大出現,simell (齊木爾) 提供了許多中肯的建議。在此得到原作者的同意並且轉錄到此。

希望大家也能多看看~ 有一些基本的修車子與保養車子的基本觀念。

作者: simell (齊木爾) 看板: car
標題: TOYOTA 的保養,給Toyota車主的建議!
時間: Thu Mar 13 19:47:35 2008
這麼多人對於Toyota的保養有問題,我簡單講一下自己的觀點給大家參考,
一般我自己保養車子會先將手冊後面的保養方式看一看,到幾公里或是幾年時
要注意什麼東西,或是要換什麼東西。(車主手冊後面都有,相信很多人連翻都
沒翻過,買了幾十萬的東西,真應該關心一嚇得)
基本上 Toyota的車子保養,我把他分成兩類,一種是里程或時間到了固定要
更換的零件,另一種是每次保養檢查,有問題才換的零件或物品。
不過兩種都算是保養所需要花的錢,至於第二種為何沒有固定里程或時間更換,
是因為每個人駕駛使用方式不同,物品消耗程度及快慢也會不同,因此必須視情況而定
來做更換。
一、需要定期更換的重要零件:
1、機油、機油蕊、放油塞墊片~這三種是每次定期保養都會換的,料錢也是固定的,
差別在工錢而已。(一般Toyota早期的車原廠建議5000或6個月換一次,
現在的車則都建議1萬換一次,但是實際多久換呢,自己決定)。
(提供小點子: 很多人為了換油都覺得很傷本,如果可以的話,自己換就很省,
材料:去大賣場買機油200*4=800,上網買原廠機油蕊一棵100左右,或去原廠
買一棵275,在加買墊片15左右,至於轉機油蕊的工具可以去買一個約300左右
可以用一輩子,在準備一隻版手、水桶(裝漏出的廢機油)、漏斗(倒新機油用)
方法:
(1)將車開到小山坡或是懸涯邊,這是比喻啦,不是真的要這地方,原則上就是
去住家附近繞繞,看那邊有那種高低落差約50~150cm的土地,找到的話以後
就固定在那邊換,台北地區不好找的話只能去陽明山、木柵等郊區了。
中南部應該很好找。
將車頭開到懸涯邊,開到前輪接近懸涯邊(可別開下去,確定拉好手煞車)
人站到落差的懸涯低點,就形成自然的升高機了,
(2)接下來就先將接漏油的水桶擺好,轉開漏機油螺絲讓他漏乾淨後。裝回新
墊片跟螺絲。
(3)換機油蕊:用工具去轉開機油蕊,快要轉開時要慢慢的,因為裡面也有
廢機油,此時要將剛剛的水桶擺到正下方接機油。然後裝新機油蕊,裝
之前,在新機油蕊開口端整圈像皮部分抹一下剛剛漏下來的廢機油,讓他
整圈都有潤滑以增加裝上去的密和度,在裝上去,裝的時候用手轉到緊
就好,不需要用工具(如果要用工具,則轉到緊後千萬不要繼續到轉不動
,因為引擎啟動後會熱漲冷縮,他自然會變緊,如果冷車轉太緊會讓
熱車後沒有膨脹空間)。
(4)換下來的廢機油,拿到附近的機車行倒,每個機車行都有廢油回收統的,
講一下,倒那個不用錢的,因為他們還會拿去賣錢。(廢機油千萬別亂倒,
因為一滴廢機油的重金屬含量就足夠讓一平方公尺的土地幾十年毀掉)
2、自動變速箱油:4萬公里/36個月,自己可以決定提早到3萬公里/36個月。
3、火星塞:5萬公里(白金火星塞10萬公里)
4、剎車油:4萬公里/24個月,可以提早換(3萬公里/24個月)
5、正時皮帶:10萬公里(可以提前到8萬公里換)
6、引擎冷卻液:4萬公里/24個月(提前到3萬公里/24個月)
7、空氣濾清器:平常保養就可以拿出來用風吹乾淨,4萬公里/48個月換
(提前到3萬公里/48個月換)
8、燃油濾清器:16萬公里/96個月
~~~~~~~~~以上是固定要換的,看看自己里程或時間就知道該不該換了~~~
二、每次定期保樣時檢查,發現有問題或是磨損到一定程度或是壞掉才換的物品:
9、傳動皮帶:(起毛、龜裂時要換)
10、電瓶:測量電壓不足時,或是平常不太好發動車時更換(覺得電力不足,發動很慢)
11、輪胎:(胎文磨平不足法定深度換)
12、前剎車來令片(消耗到有金屬尖銳聲音時,那聲音是特殊設計,在來另片磨光前
會碰到煞車碟盤所產生,藉此提示要更換來另片),不過一般保養
廠師傅在消耗到8成時就會請你看,問你要不要換。
13、後剎車來令片(同上)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~額外自行決定更換部分~~~~~~~~~~
1、車子有些部分試看人要不要換的,例如避震器,開了10萬公里可能避震器效能不像
新的那麼好,但是又沒壞掉,只是坐起來沒那麼舒服而已,那要不要換?
2、冷氣異味:這在Toyota車係是很普遍的情況,要不要修,要不要聽原廠建議
用清潔劑清理(原廠有一個冷氣清潔套餐)。
答:不用修,也不用冷氣清潔套餐,因為這問題無法測底解決,那些方案都是
一時的,過一陣子都會再復發。(只能開車完畢前5分鐘開成送風減少異味)
3、強身方案:Toyota會要你加什麼汽油吸水劑(燃料系統清淨劑)、玻璃清潔劑、
…..等,都是可以省略的,沒做不會壞,做了不一定好。有些還能
自己做,清潔玻璃你不會嗎?平常用洗碗精沖洗就行了,如果
çœŸçš„å¾ˆé«’ã€é«’åˆ°ä¸Šé¢å¾ˆå¤šæ²¹åž¢éƒ½æ´—ä¸æŽ‰ï¼Œé‚£å°±ç”¨çµ•æ‹›ï¼Œå Ž»è²·å»šæˆ¿ç©©æ½”來洗
(注意,不要買錯,不是玻璃穩潔喔,是廚房專用的廚房穩潔,保證清潔
溜溜,原廠都沒這麼乾淨)。
4、建議更換(銥合金火星塞),可以省了,原始火星塞便宜多了,定期換就行了。
因為(銥合金火星塞)換了完全沒感覺。
5、噴油嘴清洗劑、積碳清潔劑:這些偶爾可以做一次(一般2~3萬做一次就行了)。
6、燃燒室清洗:這些偶爾可以做一次(一般2~3萬做一次就行了)。
至於每次保養或平常駕駛中,其他部分零件臨時壞掉,那就只好更換或修理了,
例如門窗升降機,板金被撞凹…….
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以上拉拉雜雜整理一下,去Toyota保養最好不要分兩種方式報價
,一種是有套餐的,一種是單獨保養的,都要他講給你聽,覺得那個便宜再採用就好,
例如你只是要單純去換油,就不要用T26、T35、T48套餐,直接用快速換油套餐,
反而省多了,甚至自己帶油去換,給他工錢!
另外每次去先看清楚自己這一次去會以什麼保養,要換什麼東西,心裡有個底
,這樣他要你換其他有的沒有的,除非直接影響你的行車安全(例如煞車來另片磨平了)
,不然就不用了(例如那些強身方案)。
以上純個人心得,給 Toyota車主參考!

[1;37m推 [33mIAMBB [m [33m:4跟6項重覆了唷…都是剎車油 [m 03/13 20:21
[1;37m推 [33mgio999 [m [33m:為啥這邊沒M阿? 不錯的用心文阿! [m 03/13 21:13
[1;37m推 [33mctfisher [m [33m:推用心文~~ [m 03/13 21:43
[1;37m推 [33mpf5200 [m [33m:中肯啊! [m 03/13 22:59
[1;31m-> [33mpf5200 [m [33m:不知道有多少人是自己帶油去換? [m 03/13 23:05
[1;31m-> [33msimell [m [33m:改好了。 [m 03/14 04:40
※ 編輯: simell 來自: 163.17.63.166 (03/14 05:09)
[1;37m推 [33mchiough [m [33m:筆記中… 推~ [m 03/14 08:50
[1;37m推 [33mIVIs [m [33m:推用心文~~~ [m 03/14 09:32
[1;37m推 [33mrollrock [m [33m:這篇值得一看,推 [m 03/14 09:44
[1;37m推 [33mkkdai [m [33m:感謝分享~~ 相當的中肯 [m 03/14 17:29

TOYOTA原廠維修真的好??

images.jpg

我來分享我在原廠維修的經驗吧
話說我的香檳金ALTIS~ 由於是第一台全新的購買的車子
從買來都是在X都的永和維修廠(智光旁邊那間)維修與保養

所以每次人家講的什麼照表操課、每次全換的毛病我也都碰過

但是最近幾次的維修經驗讓我相當的生氣

**案例一:
**我去維修冷氣不冷,他們說壓縮器壞了
我也認了~ 就修了接近兩萬塊

那也就算了~~ 但是後來我的前面儀表板的燈就不亮了
(就是有閃車燈、AC開關那邊的燈)
(由於我修好是傍晚~~ 等我開大燈~ 已經離保養廠相當的遠)
隔天我去給他們看的時候
結果接待人員~~ 還說是我弄壞
說燈泡要換~ 要工本費
在這個摩門特~~~

後面有個看起來相當老練的技師
就說~ 幫他換一個新的燈泡~ 工單用舊的就好
這件事~ 讓我火器很大的給了他們7分
竟然~ 我還收到該保養廠業務的電話詢問
我就說~ 冷氣修好~ 燈不亮是怎樣~~ 七分算我客氣了!!!

案例二:
我去修燈泡不亮~ 頭燈的燈泡
後來接待人員打過來說~ 霧燈也不亮了
(霧燈是什麼?? 我還真沒開過~~)

不過我也修了~~~

修好之後~ 身為死RD的個性~ 我要求檢查一次
結果~~ 還是有個燈不亮
我問技師~ 技師竟然回答我說 “剛剛我檢查的時候還是亮的阿~”

我只淡淡的說” 那~~ 現在的解決方法是~~”
結果又修了一次

我只能說~ 燈泡的費用事小
充分的証明~TOYOTA 原廠的維修品質究竟在哪?
我個人抱持著懷疑的角度

失望~~~~~

今天~ 我又帶著車子去修~
結果說冷氣壓縮器壞掉~ 要換新的
又要個萬八~

我就跟他抱怨~ 你們維修品質一直不好
安全檢查的項目又不夠細~ 每次檢查完隔兩天就要來修東西
他跟我講說” 你放心~ 我是技術長~ 維修品質我可以控管!!”
或許~ 他就是那位老練的技師
但是我能確保我每次都是給他修到嗎?
他們的接待人員的訓練又是如何???

在每次要求客人給他們十分的同時~ 他們到底有幾分的品質??
我後來就沒修了~ 我真的需要好的店家去破除我對原廠的迷思還有失望~~~

有幾個相關討論網站看看:

  1. 豐田TOYOTA車主維修保養請看這裡~ (前豐田引擎技師)
  2. Mobile01 TOYOTA維修越來越差嗎?
  3. 汽車互動討論區- Yahoo!奇摩汽車
  4. Mobile01 我的TOYOTA 神話?
  5. [請教]大台北地區那有不錯的汽車維修廠.電機冷氣-適合TOYOTA老車?? 台大後門對面,辛亥路復興南路口那邊有間國隆電機,那邊修冷氣我個人覺得還不錯

讀書心得~解悶救人生~ 郭子乾- Live Show~~

作者:郭子乾
出版社:天下文化
出版日期:2008年01月29日
語言:繁體中文 ISBN:9789862160701
裝訂:平裝
內容簡介: 
郭子乾擅長把生活中尋常的場景,轉變成打動人心的表演,
讓「悶」的人,放開胸懷,迎接未來。
為什麼郭子乾可以看見平凡底下蘊藏的精彩之處?
又如何將那份精彩放大,化為專業,打動人心?
他用什麼方式,將壞事扭轉成好事,把逆境變成絕活的誕生點?

資料來源: 博客來網路書局

讀書心得:

先說說這本書是在哪裡買的好了,首先二月底的時候台北的國際書展~~ 我可以一次進了不少的書(大概有七、八本) 在這裡就賣個關子先不一次寫出來。我除了買了七八本書之外,我也加入了”天下遠見讀書俱樂部“,其實裡面的方案也挺不錯的,如果經常性有在買天下或是遠流相關的管理書籍的人,其實加入俱樂部可以省下你大部分的金錢喔~~~大家可以考慮看看。(而且現再推荐別人~又可以獲得一本”解悶救人生”)

這本書的內容算是易懂的,加上郭子乾(作者)利用了簡單的口述法加上每一篇前面都有”人”、”事”、”時”與”地”的詳細說明,所以阿~~ 一本書我花了兩天就可以快速的流覽一次(我講瀏覽的意思~ 因為我經常一本書會在多年之後~ 再反覆的觀看,可以讓自己去了解作者真正想寫的內容)。

在寫這本書的內容之前,先來談談我所知道的”郭子乾”好了,我想我跟大家一樣,第一次認識郭子乾的時候~ 就是從連環炮的”很好! 我喜歡!!” 那時候開始的,之後對他的印象就沒那麼清楚了,後來看到他做節目的時候有看過幾次,但是一直認為他做節目的特色不多、無法帶出好笑的梗~也就沒有繼續觀看他的節目了。(果然~ 如他書上寫的一樣~ 那段時間他的節目~做做停停的! 經常節目做沒多久就停了~~)。 之後有機會再看到他的時候,是全民大悶鍋的時候,不得不承認~ 全民大悶鍋~ 也是因為有他的”張國志老師”而爆紅的。 (以下把網路上的分享給大家看看)

你們說說看~~ 誰那時候沒有早回家就是為了要看”張國志老師”呢???

之後他在全民大悶鍋裡面的爆紅~ 就是大家有目共睹的,但是我對他的崇拜還不僅僅如此而已~ 我有去看過舞台劇《莎姆雷特》那才真的是一個經典到不行~~~ 我試著去找找網路上有沒有演出片段的時候,竟然也讓我找到~ “屏風劇團”竟然自己把《莎姆雷特》放再網路上給大家觀看~~ 這裡有一段關於郭子乾的部份~ 只能說他演的真的很好笑~~~

我不得不說~“讓我用劍~ 刺入你的靈魂深處” 那句台詞~每次一聽到~~ 都害我狂笑(我承認~~ 後面的人有鄧我!!)~

這樣大家應該也能了解~ 其實我是相當喜歡郭子乾這位藝人的吧。

	“千千萬萬的準備,換來片刻的迷人"

現在話說回來到輸的內容了,這句話是~~ 作者一開始就寫出來的一句話。簡單~ 但是卻道盡演藝圈的心酸~ 沒錯~ 像郭子乾這樣的藝人~ 他的準備功夫我相信比一般人都嚴謹的多,當我看到《莎姆雷特》裡面他的演出的時候,我不得不替他鼓掌~ 他的台詞不僅僅多~~~ 而且身為丑角的他~ 還必須要編貝台詞~ 邊把梗鋪陳出來~~ 讓後面的夥伴能夠順著梗去演出更好笑的橋段。 書裡面有相當多的地方~~ 你都可以感受到他對於表演工作的熱情以及 他對於自己的嚴謹。 我想這也是他知道自己的長處在哪裡~~ 他應該怎麼樣去抓住大家目光的因素。

“開心的做也是三小時,冷漠的做也是三小時,不如拿出熱情來~一一的亮絕活"

這也是作者的另外一句經典座右銘。每人都知道這一點~ 但是卻很難做到,遇到不開心的時候,我們都很容易自暴自棄~自怨自艾的不甘心做下去,卻沒有想過要竟然不論如何都得要度過這段時間的話,我們不如就拿出全力~一次表現的好吧!!! 我只能說或許也像作者講的,演藝圈不是再比誰紅的快~ 而是比誰紅的久。只要朝著正確的方向~ 不斷的努力~ 不要氣餒任何事情~ 或許你的時機一到了 你就有好好表現的機會了。 最近的工作或許也讓我有相同的感受,很多時候我們都會覺得自己付出的太多~ 卻無法得到相對的報酬。不得不承認~ 我也會有這樣悲觀的思考。或許這也是工作倦怠下所產生的產物,我開始去思考、開始去反省,開始去整理自己做過的事情、做過的產品~~ 或是講過的話。 仔細思考的時候,我就發現自己太容易攬事情在自己的身上,或是這在一個團隊要創立的時候,是一件很好的事情。有人能夠得到完全的了解並且在任何地方都能出的上力與幫助到所有團隊的夥伴。 但是隨著團隊的擴張,我不得不思考自己的定位究竟在哪裡? 也或許~ 我該好好的思索~ 做好自己手上的每一件事情。 而不是快速的反應~ 迅速的回應與找到解答雖然好,但是如何呈現與表達你的解決方案與幫助整個團隊的成長~ 才應該是我現在要好好思考的。

把自己一瞬間的爆發出來~ 然後燃燒殆盡並不能使得團隊更加的成長。 或許這時候就要向作者講的一樣,工作上~ 不是紅得快做的多的人才能昇官。或許~ 能讓團隊成長~ 讓每個人都能夠跟得上你的程度並且能夠培養出自己的左右手(或是不可或缺的夥伴)。 才是老闆們真正需要你的地方。

最後~ 再把郭子乾大哥的一句名言與大家分享~做為這篇文章的結尾吧!!! 我可是很喜歡這句話的!!

“雖然不知道眼前的苦工在哪一天會開花結果,但只要能撐過去,都會成為日後的養分,任何絕活都不會浪費”

Simple console tool to show all file version of current folder 顯示檔案版本的測試程式

properties.gif

result.JPG

This is a simple console problem to display all file version and time for current folder. The full code as follow:

<span class="rem">// PrintF.cpp : Defines the entry point for the console application.</span>
<span class="rem">//</span>

#include <span class="str">"stdafx.h"</span>
#include <stdio.h>
#include <afx.h>
#include <shlwapi.h>

<span class="kwrd">enum</span> PrintParam
{
    Print_Version = 1,
    Print_Time = 2,
};

WORD GetFileVersion(VS_FIXEDFILEINFO FileInfo, <span class="kwrd">int</span> nIndex);
<span class="kwrd">void</span> EmitErrorMsg (HRESULT hr);
<span class="kwrd">void</span> GetFileTimeString(<span class="kwrd">char</span> *fname, CString &outStr);
<span class="kwrd">void</span> GetFileVersionString(<span class="kwrd">char</span> *fname, CString &outStr);
HRESULT GetFileVersion (<span class="kwrd">char</span> *filename, VS_FIXEDFILEINFO *vsf);
HRESULT GetFileDate (<span class="kwrd">char</span> *filename, FILETIME *pft);
HRESULT LastError();
BOOL StartPrint(PrintParam nPrintType = Print_Version);


int main(int argc, char* argv[]) { // // v Print file version // t Print file create time // null print file version as default. // if (argc != 2) { StartPrint(Print_Version); } else { char chAction = argv[1][0]; switch(chAction) { case ‘v’: case ‘V’: StartPrint(Print_Version); break; case ‘t’: case ‘T’: StartPrint(Print_Time); break;

        <span class="kwrd">default</span>:
            <span class="kwrd">break</span>;
        }
    }
    <span class="kwrd">return</span> 0;
}

<span class="kwrd">void</span> GetFileTimeString(<span class="kwrd">char</span> *fname, CString &outStr)
{
    FILETIME t;
    GetFileDate(fname, &t);

    FILETIME lft;
    FILETIME *ft = &lft;
    FileTimeToLocalFileTime(&t,ft);
    <span class="rem">//outStr.Format("%08x %08x",ft->dwHighDateTime,ft->dwLowDateTime); </span>
    {
        SYSTEMTIME stCreate;
        BOOL bret = FileTimeToSystemTime(ft,&stCreate);
        outStr.Format(<span class="str">"%02d/%02d/%d  %02d:%02d:%02d"</span>,
            stCreate.wMonth, stCreate.wDay, stCreate.wYear,
            stCreate.wHour, stCreate.wMinute, stCreate.wSecond);
    }
}

<span class="kwrd">void</span> GetFileVersionString(<span class="kwrd">char</span> *fname, CString &outStr)
{
    VS_FIXEDFILEINFO FileInfo;

    <span class="kwrd">if</span> (SUCCEEDED(GetFileVersion(fname, &FileInfo)))
    {
        outStr.Format(<span class="str">"%d.%d.%d.%d"</span>, GetFileVersion(FileInfo, 3), GetFileVersion(FileInfo, 2), GetFileVersion(FileInfo, 1), GetFileVersion(FileInfo, 0));
    }
    <span class="kwrd">else</span>
        outStr = <span class="str">"No info"</span>;
}

WORD GetFileVersion(VS_FIXEDFILEINFO FileInfo, <span class="kwrd">int</span> nIndex)
{
    <span class="kwrd">if</span> (nIndex == 0)
        <span class="kwrd">return</span> (WORD)(FileInfo.dwFileVersionLS & 0x0000FFFF);
    <span class="kwrd">else</span> <span class="kwrd">if</span> (nIndex == 1)
        <span class="kwrd">return</span> (WORD)((FileInfo.dwFileVersionLS & 0xFFFF0000) >> 16);
    <span class="kwrd">else</span> <span class="kwrd">if</span> (nIndex == 2)
        <span class="kwrd">return</span> (WORD)(FileInfo.dwFileVersionMS & 0x0000FFFF);
    <span class="kwrd">else</span> <span class="kwrd">if</span> (nIndex == 3)
        <span class="kwrd">return</span> (WORD)((FileInfo.dwFileVersionMS & 0xFFFF0000) >> 16);
    <span class="kwrd">else</span>
        <span class="kwrd">return</span> 0;
}

HRESULT GetFileDate (<span class="kwrd">char</span> *filename, FILETIME *pft) {
    <span class="rem">// we are interested only in the create time</span>
    <span class="rem">// this is the equiv of "modified time" in the </span>
    <span class="rem">// Windows Explorer properties dialog</span>
    FILETIME ct,lat;
    HANDLE hFile = CreateFile(filename,GENERIC_READ,FILE_SHARE_READ | FILE_SHARE_WRITE,0,OPEN_EXISTING,0,0);
    <span class="kwrd">if</span> (hFile == INVALID_HANDLE_VALUE)
        <span class="kwrd">return</span> E_FAIL;<span class="rem">//LastError();</span>
    BOOL bret = GetFileTime(hFile,&ct,&lat,pft);
    <span class="kwrd">if</span> (bret == 0)
        <span class="kwrd">return</span> E_FAIL;<span class="rem">//LastError();</span>
    <span class="kwrd">return</span> S_OK;
}

<span class="rem">// This function gets the file version info structure</span>
HRESULT GetFileVersion (<span class="kwrd">char</span> *filename, VS_FIXEDFILEINFO *pvsf) {
    DWORD dwHandle;
    DWORD cchver = GetFileVersionInfoSize(filename,&dwHandle);
    <span class="kwrd">if</span> (cchver == 0)
        <span class="kwrd">return</span> E_FAIL;<span class="rem">//LastError();</span>
    <span class="kwrd">char</span>* pver = <span class="kwrd">new</span> <span class="kwrd">char</span>[cchver];
    BOOL bret = GetFileVersionInfo(filename,dwHandle,cchver,pver);
    <span class="kwrd">if</span> (!bret)
        <span class="kwrd">return</span> E_FAIL;<span class="rem">//LastError();</span>
    UINT uLen;
    <span class="kwrd">void</span> *pbuf;
    bret = VerQueryValue(pver,<span class="str">"\",&pbuf,&uLen);
    if (!bret)
        return E_FAIL;//LastError();
    memcpy(pvsf,pbuf,sizeof(VS_FIXEDFILEINFO));
    delete[] pver;
    return S_OK;
}

HRESULT LastError () {
    HRESULT hr = HRESULT_FROM_WIN32(GetLastError());
    if (SUCCEEDED(hr))
        return E_FAIL;
    return hr;
}

// This little function emits an error message based on WIN32 error messages
void EmitErrorMsg (HRESULT hr) {
    char szMsg[1024];
    FormatMessage(
        FORMAT_MESSAGE_FROM_SYSTEM,
        NULL,
        hr,
        MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
        szMsg,
        1024,
        NULL
        );
    printf("</span>%sn<span class="str">",szMsg);
}


BOOL StartPrint(PrintParam nPrintType) { char szIniPATH[1024]; GetModuleFileName(NULL, szIniPATH, 1024); PathRemoveFileSpec(szIniPATH); PathAddBackslash(szIniPATH);

    CFileFind finder;
    CString folder = szIniPATH;
    folder += "</span>*.*<span class="str">";

    BOOL bWorking = finder.FindFile(folder);
    if (!bWorking) //Folder not found...
    {
        return FALSE;
    }

    BOOL bBuildFound = FALSE;
    while (bWorking)
    {
        bWorking = finder.FindNextFile();

        if (finder.IsDots())
            continue;

        if (!finder.IsDirectory())
        {
            CString strFileVersion;
            CString filePath = finder.GetFilePath();
            CString filename = finder.GetFileName();

            if (nPrintType == Print_Version)
                GetFileVersionString(filePath.GetBuffer(), strFileVersion);
            else if (nPrintType == Print_Time)
                GetFileTimeString(filePath.GetBuffer(), strFileVersion);

            printf("</span>%s, %sn", filename, strFileVersion);
        }
    }

    <span class="kwrd">return</span> TRUE;
}

.csharpcode, .csharpcode pre { ​ font-size: small; ​ color: black; ​ font-family: consolas, “Courier New”, courier, monospace; ​ background-color: #ffffff; ​ /white-space: pre;/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { ​ background-color: #f4f4f4; ​ width: 100%; ​ margin: 0em; } .csharpcode .lnum { color: #606060; }