• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            我生如山

            #

            在Win32 Window應用程序中啟用Console輸出

            在某些時候,我們可能需要在Win32窗口應用程序中打開控制臺窗口,打印一些消息,或者作為當前程序的另外一個人機交互界面,或者為了幫助調試程序。為了達到這種效果,需要了解函數AllocConsole和C-Runtime的freopen函數。
            AllocConsole函數會為當前的窗口程序申請一個Console窗口。這是MSDN上對AllocConsole的介紹:

            AllocConsole

             

            The AllocConsole function allocates a new console for the calling process.

            BOOL AllocConsole(void);
            函數調用成功,返回非零值,調用不成功則返回0.

            在為當前窗口程序申請到console后,我們需要調用C-Runtime的freopen函數將標準輸出(stdout)重定位到新申請的console。
            freopen的原型如下:
            FILE *freopen( 
               
            const char *path,
               
            const char *mode,
               FILE 
            *stream 
            );
            我們調用的時候是這么著傳入參數的:
            freopen("CONOUT$","w",stdout);
            其中"CONOUT$"是指代當前console的特殊字符串,"w"表明以written模式打開這個console,stdout指代的是系統的標準輸出設備。


            下面是整個的代碼:

            if(AllocConsole())
             
            {
              freopen(
            "CONOUT$","w",stdout);
              printf(
            "hello, world!");
             }

            posted @ 2009-05-17 17:03 悟山 閱讀(2995) | 評論 (0)編輯 收藏

            [Win32]用Mutex控制程序的運行實例數目

            在很多情況下,我們需要控制當前程序只能在本機上存在一個運行實例;如果程序已存在運行實例,則在啟動程序的時候,提示用戶程序已在運行。這可以通過Windows操作系統提供的Mutex來支持,有關Mutex的詳情,可以參考操作系統相關的書籍。
            為用Mutex實現這種效果,我們許要了解下Win32里面的CreateMutex這個函數:

            CreateMutex

            The CreateMutex function creates or opens a named or unnamed mutex object.

            HANDLE CreateMutex(
              LPSECURITY_ATTRIBUTES lpMutexAttributes,
              BOOL bInitialOwner,
              LPCTSTR lpName
            );

            在調用這個函數的時候,程序會以lpMutexAttributes和bInitialiOwner參數在當前的程序上下文中創建一個lpName指示的名字的Mutex,如果創建成功,程序返回新創建的mutex對象的handle,如果創建失敗,返回NULL,用戶可以調用GetLastError函數獲取錯誤代碼。如果lpName指示的這個mutex對象已經存在(程序已經存在運行實例),則函數返回已經存在的該mutex對象的句柄,調用GetLastError會得到ERROR_ALREADY_EXISTS的錯誤。
             
            那么我們程序要做的就是創建這個mutex對象,檢測錯誤代碼,若是ERROR_ALREADY_EXISTS,則表明程序已經運行。
             
            這是代碼:
             
             CreateMutex(NULL,TRUE,"TestMutex");
             DWORD lastError
            =GetLastError();
             
            if(ERROR_ALREADY_EXISTS==lastError)
             
            {
              MessageBox(NULL,
            "An instance of thie program already exists!","Information",MB_OK);
              
            return 1;
             }

            posted @ 2009-05-17 16:45 悟山 閱讀(656) | 評論 (2)編輯 收藏

            害怕

            總覺得自己在等什么,等一種可以惺惺相惜的感覺,等一種走某個時刻和某一個人揮灑一樣的某種情懷的舒暢,等一種自己也說不清楚的桃源里的繁花朵朵。
            但是人生卻又總是奇怪的,也許即將揭開霧山的障靄,但又發覺自己心底在某一處害怕著。能害怕什么呢?無處能說清楚。這是你走了那么多路尋覓來的啊,你又怕什么呢?

            posted @ 2009-05-14 15:35 悟山 閱讀(229) | 評論 (2)編輯 收藏

            還是懷念一個人爬山的感覺

            還是懷念上上周末一個人走香巴拉的感覺,那天因為頭一日走了香山,腳上本已起了水泡,但是因為看著天氣自己還是忍不住想找點事情做,于是選擇了走這條自己并不怎么認路的香巴拉。
            其實喜歡的不是路,是路上的感覺。總覺得自己和世人走的很遠,總覺得很多時候即使在和人一起喝酒其實自己也是寂寞的,總覺得有時候也很享受這種寂寞的感覺,總覺得有時候自己很無聊很無恥喜歡這樣子一個人虐待自己,總覺得也許有一個港灣或許是最后的歸宿可以一睡不醒,總覺得現在我不過是塵世的一個過客也許明日又將上路,總覺得,總覺得,總覺得有很多東西是這輩子就跟定我了,比如這種殺死人般的淡淡傷感。

            聽歌,沒人知道你的感覺,你可以和很多人分享,但是一種心情卻只能是自己的。在路上聽歌,沒人知道你在聽歌,寂寞的人會說有風知道云知道,其實那不過是在自欺罷了,何處知道風云就了解你在聽歌呢?沒處只到。只是正因為無處知曉,所以我寂寞的覺得幸福。

            還記得上上周末走向巴拉時在岔路口想的事情,還記得在坡上看到一對情侶的舞蹈在我當時的眼里如何之一如天人,還記得如何的清風中享受那《Nightingale》帶來的空谷回響。

            沒事情是一如往常,我只是在享受這種感覺。享受這種一個人在路上,在路上尋覓,在路上踟躕。
            有時候想想,人生也許不要答案或者不要結果真的很好,我可以永遠只想現在的如何,永遠只需要知曉我現在的感覺,永遠只需要在一次舞蹈之后擦拭自己受傷的靈魂無需知道有否另外一個觀眾。

            可是人生偏偏的如此需要結果。

            posted @ 2009-05-14 15:21 悟山 閱讀(2046) | 評論 (10)編輯 收藏

            獨角戲

            (作者:sophia20082007原文地址:http://www.see2say.com/Channel/Group/Detail.aspx?Id=7139

            永遠,永遠都只是我一個人在唱獨角戲.沒有觀眾,沒有掌聲。只有我一個主角,孤單的影子如影隨形。不分晝夜,不知疲倦的演繹著,屬于我自己的燦爛童話。  我明白,你外表的冷漠并不帶表你內心的空洞,你總是習慣向世人隱藏你自己,你渴望被理解,又害怕被人剖析,我知道你討厭赤裸裸的感覺.   我明白,你無助的時候一定像個不知所措的孩子,你堅強的外表下是柔軟而敏感的心。我愿意借給你我隱形的肩膀,雖然不寬闊,但足以成為你的依靠。如果你愿意。  你要明白,我的獨角戲永遠只在黑暗中綻放,我不停的在寂寞中旋轉跳舞,一連轉了九十九個圈,裙擺盛開出迷離的花朵,孤單的我還是沒有改變。     我明白,不是愛的人就可以和他在一起。宿命給我的結局,只是讓我攤開掌心,里面是空洞的,我所做的一切都是捕捉的風,手里注定一無所有。沒有什么東西能夠因為不舍而獲得憐憫。 愛情不應當只是一場惘然的輪回。  我不相信永遠,我不擁有期待,也不需要諾言。  可能彼此陌生,或者不是;   只愿你曾記記得一個由我孤獨演繹的,愛的軌跡畫下的獨角戲。
             

            posted @ 2009-05-12 16:39 悟山 閱讀(267) | 評論 (1)編輯 收藏

            天涯流落思無窮,既相逢,又匆匆

            (原文地址:http://blog.cz001.com.cn/index.php/56821/viewspace-863188.html) 

            告白
              “歲月的金黃,一年一次供人分享;生命的金黃,一生一次錯過就不再輝煌。”在這我漫漫的前半生中,也許我還很年少無知,也許此時只是人生的一個小小的開端。所以,總是很努力,很用心地去鋪墊這段旅程的基石,希望以后能過得好一點,不要像從前,像現在這樣。當然,我并不否認我是個幸運的人,因為起碼這一切的一切并沒有糟到極點,一路也算平平穩穩地走了過來,縱然不很精彩,也算是充實。我害怕錯過,所以我依然很努力地去學更多的東西,去紡織那個將會成真的夢想。
              雖然說“知足常樂”,我卻不是這樣一個人。我很難感到滿足,我什么都想要,只要我想要,我就會盡最大努力爭取。我總是“不飽”, 總也不會“常樂”。說穿了就是貪心與欲望占了上風。也許這一開始就是個錯誤,為什么要那么好勝?為什么要那么緊張地過著每一天?人生苦短,說過就過去了。不論我怎么活,太陽總是會從西邊落下,明天依然會從東邊升起。而每一個在世的人,就像夾在黎明與黃昏之間的那一堆星星。 是星星都會閃光,但為何一定要去做北極星?我也不清楚。似乎有一種壓力,有一種負擔,有一種過往的經歷硬要我不甘平凡,然而我卻依然很平凡,就像沙漠中的一粒小沙子。
              十幾年寒窗走了過來,卻發現自己什么也不是,什么也不會,什么也沒有。所以總是告誡自己:要把握眼前,在茫茫人海中分明地辨認出自己,在世界的角落找一個位置給自己。整天東奔西走,尋尋覓覓,讓自己忙得沒有時間去懊悔,去回憶,是因為害怕回憶里的酸楚湮沒自己。
              情緣
              曾經,我害怕思家的遙遠,也害怕陌生的天與地。人總要學著自己長大,學著攀上歲月的肩膀,到達各種陌生的地方。雖然這兒不是天堂,但我卻找到了不必擔心下雨的星空,找到了大海一樣的包容。于是終于相信了“燃起木柴,關緊門窗,讓溫暖和你一起來臨, 在這個寒冷的冬季。”這一句曾被遺忘過的話。
              有同學曾對我說:“我們只是偶然出現在我們終將消失的地方。”的確如此,但既然冥冥中注定要相逢,我們就該相識、相知、相惜,趁著還沒消失,讓我們一起珍惜可以共度的每一刻,才不至于在分別的時候突然發現“我們總有太多的來不及,很多話來不及說,來不及聽,來不及問,很多事情來不及做。我們唯一能做的只不過是在還來得及的時候,小心呵護眼前的擁有。”我們在這個地方相遇,是緣,將來散了,也是緣,只是緣淺了……
              歲月流逝后,這段日子里的相處沉淀下來的,將會是一些刻滿回憶和歷史的沙粒,那里藏著的有心酸,也有歡愉,有包容,也有嘆息。明天的明天,我們面臨的將會有許許多多更陌生的人或物,所以不必祈求我們都能記住這份記憶,只希望在還沒成為記憶時,好好珍惜。
              相處,害怕沉默;相交,最忌無語。敞開你的胸懷,告訴我你想說的話,讓我和你一起分擔你的喜與悲。對我而言,我害怕一個人在陌生的角落里作夢,更害怕在充滿回音的空洞中哭泣。
              “終有一天,我們要遠走高飛,為了各自的夢想,就像飄落的葉子走向不同的天涯。”這句話將會在某一天實現,但那又有什么所謂,我們曾是樹上的葉子,風聲吹響的是你我的過往。
              愛情
              愛情,對于我而言,仍然是一個很遙遠的傳說。也許這個傳說將會綻放著異常美麗的光環,也許會飽含著心酸的淚水,也或許這個傳說只是一個平平淡淡的風和影的故事,但這都將會是很久以后的事情。遙遠到望斷長空也無法極目的某個地方,遙遠到望穿秋水也無法期待的某個春秋。也許是因為我手足無措,也許是我害怕而又期待的情愫的緣故,所以在我的心還沒有被激起漣漪的現在,在我腦海還沒有浮現浪漫晨昏的此刻,我依然固執地認為:這一切只是一個傳說,一個不會向我走來卻又要我主動靠近的傳說。
              有人曾說:“愛”和“死”是人生中解決不了的兩大難題,人在青年時為愛所困惑,在老年時被死所困惑,一生都不得安寧;愛情像一把慢刀,一點一點地刺進人的肌膚,而死則是一把快刀,一下子就結束了所有的痛苦;我不害怕死亡,我卻害怕愛情;我能夠忍受決絕的快刀,卻不能忍受延宕的慢刀。不管他說得對與否,我都相信:這世上沒有永遠都幸福或痛苦的時刻,自然也沒有永遠都甜蜜的羅曼史。縱然那些雪中送炭、百般呵護、花前月下的時候總是那么令人神往,但那心靈上的煎熬,那兩處閑愁的相思,那害怕失去所擁有的擔心,那決裂的心酸又會有多少人能夠明白?那不能繼續再愛或者不被愛的痛苦,并不是每一個人都能夠承受的。我仍相信愛情,但我并不刻意追尋,只是靜靜地、靜靜地漂流,直到有一天,在陽光與海灘的岸邊,讓我的船靜靜地靠岸。
              年少癡狂,多少情歌被唱得天翻地覆。但我依然記得有一句是:“我能想到最浪漫的事,就是和你一起慢慢變老。”也許,大千世界中,這才是真正的愛情,一份不摻雜質、不受污染的感情。但愿,當我的船靠岸的那一剎,當丘比特之箭射穿我心臟的時候,我依然相信這種絕塵的情緣。
              也許由于我祈求的是一種完美人生,所以刀光劍影的小說我是不看的,但瓊瑤的小說也看過不少,都是千篇一律。于是我總會說:“愛情也無非就是這樣。”仿佛我是個過來人一樣,所以總覺得自己好像很老。曾經有一個說法是:“沒有經歷愛情的人生是不完整的人生。”我追求完美,我卻害怕破碎。所以,在情感方面我很吝嗇,我的心跳也不會為了某個人而加速。就目前而言,心如止水地過著每一天不也很好嗎? 起碼不用擔心風暴來臨時,會將我的船兒吹翻。
              “天涯流落思無窮,既相逢,又匆匆。”面對今朝明夕,回首往昔。在風雨兼程的路上,我能做的只是邊走邊收拾,收拾我生命中的每一個瞬間。

            posted @ 2009-05-12 16:36 悟山 閱讀(330) | 評論 (0)編輯 收藏

            我依然選擇愛的深沉

            也許需要冷靜冷靜,也許需要一種更持久深沉的方式來尋找自己的心靈港灣。
            沉靜,做一個實在的人.......

            posted @ 2009-05-12 15:40 悟山 閱讀(227) | 評論 (3)編輯 收藏

            [導入]圖像增強(一)---圖像灰度增強(線性增強)(續)

            灰度增強是一種在空域進行的圖像增強方法。它是指將一定范圍的像素(l,h)線性映射到一個新的范圍(nl,nh)的操作。如果原來某個位置(x,y)的像素p(x,y)在(l,h)的范圍內。那么,變換后的像素
            f(p(x,y))=(p(x,y)-l)*(nh-nl)/(h-l);

            使用gdi+對應的處理代碼如下:

            void EnhanceImage_Linear(Bitmap *bmp, int oldLow,int oldHigh, int newLow,int newHigh)
            {
                ASSERT(bmp!=NULL);
                ASSERT(oldLow>=0
                    &&oldLow<=255);
                ASSERT(oldHigh>=0
                    &&oldHigh<=255);
                ASSERT(newLow>=0
                    &&newLow<=255);
                ASSERT(newHigh>=0
                    &&newHigh<=255);
                ASSERT(oldLow<oldHigh);
                ASSERT(newLow<newHigh);

                long width=bmp->GetWidth();
                long height=bmp->GetHeight();
               
                BitmapData bmpData;
                bmp->LockBits(&Rect(0,0,width,height), ImageLockModeRead|ImageLockModeWrite,PixelFormat24bppRGB ,&bmpData);
                unsigned char *pStart=(unsigned char *)(bmpData.Scan0);
                REAL oldDiff=oldHigh-oldLow;
                REAL newDiff=newHigh-newLow;
                REAL ratio=newDiff/oldDiff;
                for(int j=0;j<height;j++)
                {
                    for(int i=0;i<width;i++)
                    {
                        pStart+=j*bmpData.Stride+3*i;
                        for(int k=0;k<3;k++)
                        {
                            if(pStart[k]>=oldLow
                                &&pStart[k]<=oldHigh)
                            {
                                int data=((pStart[k]-oldLow)*ratio);
                                if(data>255)
                                {
                                    data=255;
                                }
                                pStart[k]=(unsigned char)data;
                            }
                        }
                    }
                }

                bmp->UnlockBits(&bmpData);
            }



            若我 2008-12-14 14:55 發表評論

            文章來源:http://m.shnenglu.com/dingding/archive/2008/12/14/69400.html

            posted @ 2008-12-14 14:55 悟山 閱讀(172) | 評論 (0)編輯 收藏

            [導入]圖像增強(一)---圖像灰度增強(線性增強)

            圖像增強技術是將圖像的部分信息按照一定的要求加以強化,使得其更適合于某種應用要求。比如,我們可能覺得圖像的對比度太差,那么就可以將圖像的頻域中高頻信息加以強化,使得圖像的對比度更好;或者覺得圖像太過銳利了,那么可以增強圖像的低頻部分使得圖像得以平滑。
            圖像增強可以在頻域或者空域進行。前者是只將圖像的空間一定位置的像素值pixel(x,y)按照一定的要求映射到另一個像素值f(pixel(x,y),這里的f就是我們的變換函數。后者(頻域增強)是指對圖像進行傅立葉變換等變換而獲取其像素變化的頻率信息,然后按照一定的要求將這些頻率信息處理以使之符合要求,然后將圖像變換回空間像素陣列。




            若我 2008-12-14 14:51 發表評論

            文章來源:http://m.shnenglu.com/dingding/archive/2008/12/14/69398.html

            posted @ 2008-12-14 14:51 悟山 閱讀(124) | 評論 (0)編輯 收藏

            [導入]【轉載】一個程序員的成長的六個階段

            第一階段
            此階段主要是能熟練地使用某種語言。這就相當于練武中的套路和架式這些表面的東西。
            第二階段
            此階段能精通基于某種平臺的接口(例如我們現在常用的Win 32的API函數)以及所對應語言的自身的庫函數。到達這個階段后,也就相當于可以進行真實散打對練了,可以真正地在實踐中做些應用。
            第三階段
            此階段能深入地了解某個平臺系統的底層,已經具有了初級的內功的能力,也就是“手中有劍,心中無劍”。
            第四階級
            此階段能直接在平臺上進行比較深層次的開發。基本上,能達到這個層次就可以說是進入了高層次。這時進入了高級內功的修煉。比如能進行VxD或操作系統的內核的修改。
            這時已經不再有語言的束縛,語言只是一種工具,即使要用自己不會的語言進行開發,也只是簡單地熟悉一下,就手到擒來,完全不像是第一階段的時候學習語言的那種情況。一般來說,從第三階段過渡到第四階段是比較困難的。為什么會難呢?這就是因為很多人的思想變不過來。
            第五階級
            此階段就已經不再局限于簡單的技術上的問題了,而是能從全局上把握和設計一個比較大的系統體系結構,從內核到外層界面。可以說是“手中無劍,心中有劍”。到了這個階段以后,能對市面上的任何軟件進行剖析,并能按自己的要求進行設計,就算是MS Word這樣的大型軟件,只要有充足的時間,也一定會設計出來。
            第六階級
            此階段也是最高的境界,達到“無招勝有招”。這時候,任何問題就純粹變成了一個思路的問題,不是用什么代碼就能表示的。也就是“手中無劍,心中也無劍”。
            此時,對于練功的人來說,他已不用再去學什么少林拳,只是在旁看一下少林拳的對戰,就能把此拳拿來就用。這就是真正的大師級的人物。這時,Win 32或Linux在你眼里是沒有什么差別的。
            每一個階段再向上發展時都要按一定的方法。第一、第二個階段通過自學就可以完成,只要多用心去研究,耐心地去學習。
            要想從第二個階段過渡到第三個階段,就要有一個好的學習環境。例如有一個高手帶領或公司里有一個好的練手環境。經過二、三年的積累就能達到第三個階段。但是,有些人到達第三個階段后,常常就很難有境界上的突破了。他們這時會產生一種觀念,認為軟件無非如此,認為自己已無所不能。其實,這時如果遇到大的或難些的軟件,他們往往還是無從下手。
            現在我們國家大部分程序員都是在第二、三級之間。他們大多都是通過自學成才的,不過這樣的程序員一般在軟件公司也能獨當一面,完成一些軟件的模塊。
            但是,也還有一


            若我 2008-10-27 13:29 發表評論

            文章來源:http://m.shnenglu.com/dingding/archive/2008/10/27/65197.html

            posted @ 2008-10-27 13:29 悟山 閱讀(73) | 評論 (0)編輯 收藏

            僅列出標題
            共3頁: 1 2 3 
            国产精品成人精品久久久 | 亚洲国产精品嫩草影院久久 | 久久久久国产一级毛片高清版| 日韩精品久久久久久久电影蜜臀| 97久久超碰国产精品2021| 国产免费久久精品丫丫| 亚洲精品国产第一综合99久久| 伊人久久成人成综合网222| 77777亚洲午夜久久多喷| 久久精品免费网站网| 久久精品国产亚洲77777| 亚洲国产高清精品线久久| 2022年国产精品久久久久| 久久精品卫校国产小美女| 国产精品美女久久久久av爽| 久久婷婷五月综合97色| 亚洲精品无码久久久久AV麻豆| 国产精品久久午夜夜伦鲁鲁| 亚州日韩精品专区久久久| 99久久国产亚洲高清观看2024| 亚洲中文字幕无码久久精品1| 久久99精品国产麻豆蜜芽| 久久发布国产伦子伦精品| 99精品国产99久久久久久97| 欧美亚洲日本久久精品| 99久久精品国产毛片| 久久精品国产99国产精品澳门| 欧美一区二区三区久久综合| 久久久久久精品无码人妻| 亚洲?V乱码久久精品蜜桃 | 欧美午夜精品久久久久免费视 | 99久久精品国内| 国产精品久久久亚洲| 久久久久99精品成人片欧美| 久久久久国产精品嫩草影院| 亚洲国产天堂久久久久久| 久久99精品国产99久久6| 美女久久久久久| 久久久精品久久久久影院| 久久综合色之久久综合| 久久久久亚洲av成人网人人软件 |