• <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的應用程序,我更喜歡用CFrameWnd派生類來實現應用程序的主框架,我不太喜歡SDI模板,又是Document又是View的,MFC背著你干了很多事情!
            好了,說說問題,大家如果作過基于CFrameWnd的主窗口,可能會發現主窗口會有一個3D的邊框,一開始我用ModifyStyle發現不行,那就在PreCreateWindow里面吧!呵呵,也不管用,跟進MFC的代碼,發現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 行勝于言 閱讀(1401) | 評論 (1)編輯 收藏

            2006年9月27日 #

            又要過10-1了

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

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

            2006年9月18日 #

            征途

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

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

            2006年7月24日 #

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

            大家開發網絡程序,經常要連接其他主機,如果在xp上運行,一定會提示你,只有選擇解除阻止才能實現正常的網絡連接.那么有沒有辦法在防火墻的例外列表里面通過編程的方式加入自己的程序呢?
            ?當然有了,不然就不要介紹了
            xp的系統目錄下面有個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 行勝于言 閱讀(2311) | 評論 (3)編輯 收藏

            2006年7月22日 #

            視頻壓縮技術在桌面錄制中的應用

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

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

            2006年7月6日 #

            五行代碼搞定"音量調節向導"

            ?音量調節是實現互聯網語音通信的重要環節,很多公司自行實現了有關音量調節的向導,無奈水平各異,千差萬別.微軟公司也給出了解決方案,不過是在RTC實現,需要安裝RTC運行時.

            ?? 今天給大家介紹的使用DirectX中有關DirectVoice中的實現來解決我們的問題:

            //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上面的代碼就調用了DirectVoice中的實現,大家看看效果!?

            ?

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

            僅列出標題  
            94久久国产乱子伦精品免费| 国产精品久久久久久搜索| 久久人人爽人爽人人爽av| 亚洲精品视频久久久| 日韩精品无码久久久久久| 色综合久久中文色婷婷| 中文字幕精品无码久久久久久3D日动漫 | 国产精品免费久久| 2021最新久久久视精品爱| 91精品国产综合久久久久久| 人妻精品久久久久中文字幕| 久久久久久亚洲精品成人| 久久久91人妻无码精品蜜桃HD| 色诱久久久久综合网ywww| 国产精自产拍久久久久久蜜| 人妻少妇久久中文字幕| 日批日出水久久亚洲精品tv| 亚洲国产精品久久| 久久精品黄AA片一区二区三区| 久久久久亚洲av成人无码电影 | 国产精品久久久久久久久免费| 亚洲国产成人乱码精品女人久久久不卡 | 欧美国产精品久久高清| 国产成人精品久久免费动漫 | 亚洲欧美精品伊人久久| 日韩精品久久无码中文字幕| 麻豆精品久久久久久久99蜜桃| 久久无码国产| 久久精品国产国产精品四凭 | 久久综合色老色| 久久免费99精品国产自在现线| 99久久精品国产毛片| 精品一区二区久久久久久久网站| 久久久久亚洲av无码专区 | 996久久国产精品线观看| 亚洲人成网亚洲欧洲无码久久| 最新久久免费视频| 怡红院日本一道日本久久| 久久精品国产亚洲精品2020| 国内精品久久久人妻中文字幕| 国产精品无码久久综合|