• <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>

            行勝于言

            于無聲處

            2006年11月14日 #

            解決CFrameWnd的邊框問題


            大家都做過基于MFC Dialog的應(yīng)用程序,我更喜歡用CFrameWnd派生類來實現(xiàn)應(yīng)用程序的主框架,我不太喜歡SDI模板,又是Document又是View的,MFC背著你干了很多事情!
            好了,說說問題,大家如果作過基于CFrameWnd的主窗口,可能會發(fā)現(xiàn)主窗口會有一個3D的邊框,一開始我用ModifyStyle發(fā)現(xiàn)不行,那就在PreCreateWindow里面吧!呵呵,也不管用,跟進MFC的代碼,發(fā)現(xiàn)CFrameWnd::PreCreateWindow會重置dwExStyle,好了看代碼吧!

            BOOL?CMainFrame::PreCreateWindow(CREATESTRUCT & ?cs)?
            {
            ??BOOL?bRet
            = CFrameWnd::PreCreateWindow(cs);
            ??
            if (bRet)
            {
            ???cs.dwExStyle
            &=~ WS_EX_CLIENTEDGE;
            ???
            return ?TRUE;
            ?}

            ?
            return ?FALSE;
            }

            posted @ 2006-11-14 13:49 行勝于言 閱讀(1402) | 評論 (1)編輯 收藏

            2006年9月27日 #

            又要過10-1了

            好象還是有點不開心,大概搞TMD 軟件每天都有解決不完的問題,尤其象我這種不知道天高地厚的人更是如此!
            牢騷要發(fā),也得繼續(xù)搞,屏幕捕獲的算法終于優(yōu)化出來了,下一步是用ASF Container把數(shù)據(jù)包裝起來,效果應(yīng)該不錯,我有點搞不明白的是AVI的索引為什么那么慢,數(shù)據(jù)量大是一方面,關(guān)鍵還是數(shù)據(jù)組織上存在缺陷,不如MPEG4!
            如果順利,應(yīng)該在10月份就可以拿出一個象樣的版本的錄制軟件了,應(yīng)該可以斃掉一批垃圾錄屏軟件了,這是我希望看到的!
            下面的事情還很多,每個都夠啃的,我還得多些耐心,少些焦慮,也希望認識一些朋友大家一塊合作!

            posted @ 2006-09-27 16:34 行勝于言 閱讀(236) | 評論 (0)編輯 收藏

            2006年9月18日 #

            征途

            我要開始征途了,也許前面是坦途或荊棘,這已經(jīng)都不重要了,更多在于我的機會也許只能在此征途體現(xiàn)了,如果失敗,也許就意味著我在IT行業(yè)的徹底顛覆,我認了!
            我把自己blog定為行勝于言,意義就在這里,我的計劃開始了,從今天開始!

            posted @ 2006-09-18 13:55 行勝于言 閱讀(354) | 評論 (1)編輯 收藏

            2006年7月24日 #

            如何讓你的程序安全通過windows防火墻

            大家開發(fā)網(wǎng)絡(luò)程序,經(jīng)常要連接其他主機,如果在xp上運行,一定會提示你,只有選擇解除阻止才能實現(xiàn)正常的網(wǎng)絡(luò)連接.那么有沒有辦法在防火墻的例外列表里面通過編程的方式加入自己的程序呢?
            ?當(dāng)然有了,不然就不要介紹了
            xp的系統(tǒng)目錄下面有個hnetcfg.dll就是這個編程接口,頭文件是netfw.h,初始化代碼如下:
            INetFwProfile* m_pFireWallProfile=NULL;

            HRESULT?hr? = ?S_FALSE;
            ????INetFwMgr
            * ?fwMgr? = ?NULL;
            ????INetFwPolicy
            * ?fwPolicy? = ?NULL;

            ????FW_ERROR_CODE?ret?
            = ?FW_NOERROR;
            ????
            try
            ????
            {
            ????????
            if (?m_pFireWallProfile?)
            ????????????
            throw ?FW_ERR_INITIALIZED;

            ????????
            // ?Create?an?instance?of?the?firewall?settings?manager.
            ????????hr? = ?CoCreateInstance(?__uuidof(NetFwMgr),?NULL,?CLSCTX_INPROC_SERVER,?__uuidof(?INetFwMgr),?( void ** ) & fwMgr?);

            ????????
            if (?FAILED(?hr?))
            ????????????
            throw ?FW_ERR_CREATE_SETTING_MANAGER;

            ????????
            // ?Retrieve?the?local?firewall?policy.
            ????????hr? = ?fwMgr -> get_LocalPolicy(? & fwPolicy?);
            ????????
            if (?FAILED(?hr?))
            ????????????
            throw ?FW_ERR_LOCAL_POLICY;

            ????????
            // ?Retrieve?the?firewall?profile?currently?in?effect
            ????????hr? = ?fwPolicy -> get_CurrentProfile(? & m_pFireWallProfile?);
            ????????
            if (?FAILED(?hr?))
            ????????????
            throw ?FW_ERR_PROFILE;

            ????}

            ????
            catch (?FW_ERROR_CODE?nError)
            ????
            {
            ????????ret?
            = ?nError;
            ????}


            ????
            if (?fwPolicy?)
            ????????fwPolicy
            -> Release();
            ????
            if (?fwMgr?)
            ????????fwMgr
            -> Release();

            ????
            return ?ret;
            將程序名稱加入例外列表:
            WinXPSP2FireWall::AddApplication(?const?wchar_t*?lpszProcessImageFileName,?const?wchar_t*?lpszRegisterName?)
            {
            ????FW_ERROR_CODE?ret?
            =?FW_NOERROR;
            ????HRESULT?hr;
            ????BOOL?bAppEnable;
            ????BSTR?bstrProcessImageFileName?
            =?NULL;
            ????BSTR?bstrRegisterName?
            =?NULL;
            ????INetFwAuthorizedApplication
            *?pFWApp?=?NULL;
            ????INetFwAuthorizedApplications
            *?pFWApps?=?NULL;

            ????
            try
            ????
            {
            ????????
            if(?m_pFireWallProfile?==?NULL?)
            ????????????
            throw?FW_ERR_INITIALIZED;
            ????????
            if(?lpszProcessImageFileName?==?NULL?||?lpszRegisterName??==?NULL?)
            ????????????
            throw?FW_ERR_INVALID_ARG;

            ????????
            //?First?of?all,?check?the?application?is?already?authorized;
            ????????FW_ERROR_CODE??nError?=?this->IsAppEnabled(?lpszProcessImageFileName,?bAppEnable?);
            ????????
            if(?nError?!=?FW_NOERROR?)
            ????????????
            throw?nError;

            ????????
            //?Only?add?the?application?if?it?isn't?authorized
            ????????if(?bAppEnable?==?FALSE?)
            ????????
            {
            ????????????
            //?Retrieve?the?authorized?application?collection
            ????????????hr?=?m_pFireWallProfile->get_AuthorizedApplications(?&pFWApps?);
            ????????????
            if(?FAILED(?hr?))
            ????????????????
            throw?FW_ERR_AUTH_APPLICATIONS;

            ????????????
            //?Create?an?instance?of?an?authorized?application
            ????????????hr?=?CoCreateInstance(?__uuidof(NetFwAuthorizedApplication),?NULL,?CLSCTX_INPROC_SERVER,?__uuidof(INetFwAuthorizedApplication),?(void**)&pFWApp);
            ????????????
            if(?FAILED(?hr?))
            ????????????????
            throw?FW_ERR_CREATE_APP_INSTANCE;

            ????????????
            //?Allocate?a?BSTR?for?the?Process?Image?FileName
            ????????????bstrProcessImageFileName?=?SysAllocString(?lpszProcessImageFileName?);
            ????????????
            if(?SysStringLen(?bstrProcessImageFileName?)?==?0)
            ????????????????
            throw?FW_ERR_SYS_ALLOC_STRING;

            ????????????
            //?Set?the?process?image?file?name
            ????????????hr?=?pFWApp->put_ProcessImageFileName(?bstrProcessImageFileName?);
            ????????????
            if(?FAILED(?hr?)?)
            ????????????????
            throw?FW_ERR_PUT_PROCESS_IMAGE_NAME;

            ????????????
            //?Allocate?a?BSTR?for?register?name
            ????????????bstrRegisterName?=?SysAllocString(?lpszRegisterName?);
            ????????????
            if(?SysStringLen(?bstrRegisterName?)?==?0)
            ????????????????
            throw?FW_ERR_SYS_ALLOC_STRING;
            ????????????
            //?Set?a?registered?name?of?the?process
            ????????????hr?=?pFWApp->put_Name(?bstrRegisterName?);
            ????????????
            if(?FAILED(?hr?))
            ????????????????
            throw?FW_ERR_PUT_REGISTER_NAME;
            ????????????
            ????????????
            //?Add?the?application?to?the?collection
            ????????????hr?=?pFWApps->Add(?pFWApp?);
            ????????????
            if(?FAILED(?hr?))
            ????????????????
            throw?FW_ERR_ADD_TO_COLLECTION;
            ????????}

            ????}

            ????
            catch(?FW_ERROR_CODE?nError?)
            ????
            {
            ????????ret?
            =?nError;
            ????}


            ????SysFreeString(?bstrProcessImageFileName?);
            ????SysFreeString(?bstrRegisterName?);

            ????
            if(?pFWApp?)
            ????????pFWApp
            ->Release();
            ????
            if(?pFWApps?)
            ????????pFWApps
            ->Release();

            ????
            return?ret;
            }

            posted @ 2006-07-24 16:01 行勝于言 閱讀(2312) | 評論 (3)編輯 收藏

            2006年7月22日 #

            視頻壓縮技術(shù)在桌面錄制中的應(yīng)用

             現(xiàn)今的即時通信軟件都實現(xiàn)了音頻、視頻互通的功能,這得益于視頻編碼技術(shù)的應(yīng)用,目前市面上Microsoft 有MPEG4 v3,DIVX,XVID等等不一而足,但目前市場上好象對用戶桌面錄制技術(shù)關(guān)注不夠,因為大家知道桌面圖象和運動圖象是不一樣的,這也造成優(yōu)秀的桌面錄制軟件非常缺乏。
            為什么要討論桌面壓縮呢?因為起應(yīng)用領(lǐng)域非常廣泛,第一他用在課件制作技術(shù)方面,可以完整還原教師的培訓(xùn)過程,尤其是操作類培訓(xùn)的課程更有實際意義。第二桌面共享依賴于桌面壓縮技術(shù),更好的壓縮效率和質(zhì)量將使得低帶寬下的高質(zhì)量桌面共享成為可能?
            大家都知道桌面壓縮技術(shù)的實現(xiàn)可以基于RLE或HUFFMAN或其他更高級的算法進行實現(xiàn),如何實現(xiàn)更為優(yōu)秀的回放效果和質(zhì)量,是目前這些方法所不能解決的。
            同時,為了兼容應(yīng)用需求,錄制的輸出格式也有很多要求,比如實現(xiàn)網(wǎng)上點播、錄制成ASF格式等。
            在最近一段時間的開發(fā)過程和實現(xiàn)過程中,我嘗試了一些新的方法,取得了一些突破,但離自己最終的想法還有一定距離,如果大家感興趣的話,可以到我的網(wǎng)站下載:屏蹤幻影,由于目前軟件還不是非常完善,所以目前還無法公開代碼,在后續(xù)的時間里我會公開程序結(jié)構(gòu)和內(nèi)部代碼實現(xiàn)。
            希望大家對我的軟件實現(xiàn)提出建議和修改意見。

            posted @ 2006-07-22 14:02 行勝于言 閱讀(960) | 評論 (3)編輯 收藏

            2006年7月6日 #

            五行代碼搞定"音量調(diào)節(jié)向?qū)?

            ?音量調(diào)節(jié)是實現(xiàn)互聯(lián)網(wǎng)語音通信的重要環(huán)節(jié),很多公司自行實現(xiàn)了有關(guān)音量調(diào)節(jié)的向?qū)?無奈水平各異,千差萬別.微軟公司也給出了解決方案,不過是在RTC實現(xiàn),需要安裝RTC運行時.

            ?? 今天給大家介紹的使用DirectX中有關(guān)DirectVoice中的實現(xiàn)來解決我們的問題:

            //http://www.handytech.cn
            #include <dvoice.h>
            #pragma? comment(lib,"dxguid.lib")
            void CTestDlg::OnButton1()
            {
            ?// TODO: Add your control notification handler code here
            ?IDirectPlayVoiceTest* pTest;
            ?HRESULT hr=CoCreateInstance(CLSID_DirectPlayVoiceTest,NULL,CLSCTX_INPROC_SERVER,IID_IDirectPlayVoiceTest,(void**)&pTest);
            ?if(SUCCEEDED(hr))
            ?{
            ??pTest->CheckAudioSetup(&DSDEVID_DefaultVoicePlayback,&DSDEVID_DefaultCapture,NULL,DVFLAGS_ALLOWBACK);
            ??pTest->Release();
            ?}

            ? OK上面的代碼就調(diào)用了DirectVoice中的實現(xiàn),大家看看效果!?

            ?

            posted @ 2006-07-06 17:05 行勝于言 閱讀(9800) | 評論 (2)編輯 收藏

            僅列出標題  
            久久91这里精品国产2020| 久久久久亚洲AV成人片 | 伊人久久免费视频| 国产福利电影一区二区三区,免费久久久久久久精 | 久久婷婷五月综合97色| 热久久这里只有精品| 亚洲天堂久久久| 韩国无遮挡三级久久| 精品久久久久久无码不卡| 国内精品久久九九国产精品| 久久久无码精品亚洲日韩软件| 中文字幕无码免费久久| 国产日韩久久久精品影院首页| 久久国产AVJUST麻豆| 久久精品国产亚洲沈樵| 99精品国产99久久久久久97| 欧美伊香蕉久久综合类网站| 久久毛片一区二区| 国产精品美女久久久免费| 久久青青草原亚洲av无码app| 精品久久综合1区2区3区激情| 欧美精品久久久久久久自慰| 亚洲精品99久久久久中文字幕| 精品一区二区久久| 久久精品国产亚洲av水果派 | 久久久精品国产sm调教网站 | 久久久这里有精品| 狠狠色综合久久久久尤物| 老色鬼久久亚洲AV综合| 久久受www免费人成_看片中文 | 久久久精品久久久久久| 精品久久久久久久| 国产精品久久久天天影视| 久久久久久久久无码精品亚洲日韩 | 日韩欧美亚洲国产精品字幕久久久| 人人狠狠综合久久亚洲婷婷| 欧美伊香蕉久久综合类网站| 久久精品九九亚洲精品天堂| 久久se精品一区二区| 蜜桃麻豆www久久| 国产成人精品久久一区二区三区av |