Time of Update: 2018-12-04
下面是GetSystemMetrics函數參數nIndex的定義:SM_ARRANGE 返回是否預備最小化.SM_CLEANBOOT 返回系統啟動方式: 0 正常啟動 1 安全模式啟動 2 網路安全模式啟動 SM_CMOUSEBUTTONS 傳回值為系統支援的滑鼠鍵數,返回0,則系統中沒有安裝滑鼠。 SM_CXBORDER, SM_CYBORDER 返回以相素值為單位的Windows視窗邊框的寬度和高度,如果Windows的為3D形態,則等同於SM_CXEDGE參數
Time of Update: 2018-12-04
ACE將網路編程進行了模式化,以便你不必每次都重複相同的代碼。 網路編程需要處理的事情多括中斷,並發,多線程等,程式格式相對固定,但是健壯的網路程式則相對複雜。為了處理這些情形,ACE內建了幾個網路編程的模式。 最基本的模式當然是直接使用sock進行單客戶單伺服器單線程的一對一模型,這種模式相對簡單,也和ACE關係不大,但是這樣編寫的程式不能處理並發的情況,可用性很差或者說基本不具有可用性。
Time of Update: 2018-12-04
首先,DoModal()會使用對話方塊模板名來從應用程式的資源檔中尋找、載入並鎖定對話款模板。如果DoModal()不能定位資源,則返回錯誤碼-1;然後,這個函數會調用PreModal()。PreModal會執行一些安全檢查,然後為對話方塊尋找父控制代碼(會通過CWnd::GetSafeOwner)。然後將結果儲存在m_hWnd中。之後,它會調用EnabledWindow(FALSE)來凍結父視窗,強制式模態化~;接著他會準備將一個MFC對象粘貼到對話方塊中,通過AfxHookWindowCr
Time of Update: 2018-12-04
CString 轉換成CTime:CString strCString="2004-08-12 14:45:22";COleVariant vtime(strCString);vtime.ChangeType(VT_DATE);COleDateTime time4=vtime;SYSTEMTIME systime;VariantTimeToSystemTime(time4, &systime);CTime tm(systime);
Time of Update: 2018-12-04
一.使用透明畫刷使用SDK比較容易,只要GetStockObject(NULL_BRUSH);然後選進裝置描述表就可以了。關於MFC中的CBrush類,MS沒有提供直接獲得透明畫刷的方法,查了下資料,可以使用如下的方法:CBrush *pBrush = CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));二.使用DLL庫的常用操作HINSTANCE hDllInst =
Time of Update: 2018-12-04
還有一個月就要畢業了,畢業設計還沒有做好了,最近又沒有心思去做畢業設計。感覺最近好累,但又沒有幹什麼。整天就是上上網,上一上電腦網站,看看電視劇和玩遊戲。
Time of Update: 2018-12-04
在用VC開發程式的時候,最好用VERIFY宏代替ASSERT,當時不知道是其中的原因,今天看了兩個宏的定義,終於明白了。1、在DEBUG模式下,兩個宏的功能是一樣的2、在RELEASE模式下,ASSERT不會對參數裡的運算式進行計算,VERIFY會計算裡面的運算式(如果是函數,將會調用該函數)。 部分定義如下:#ifdef _DEBUG#define VERIFY(f) ASSERT(f)#else#define ASSERT(f)
Time of Update: 2018-12-04
最近的項目在繪製大量採集到的資料時,會有記憶體泄露的致程式崩潰的情況,反覆推測後可能是GDI對象的釋放問題,現在網上搜取如下經驗,應該很有協助GDI對象的使用和防止資源流失在windows系列上做編程,gdi是一個很重要的技術點,有很多程式在運行多次後出現異常,除了眾所周知的記憶體泄露以外,gdi資源流失也是一個很直接的原因.今天就把我自己在編程中總結的一些經驗給大家分享,歡迎高手補充. 1.Create出來的gdi對象,一定要用DeleteObject來釋放,釋放順序是先Create的後釋放,
Time of Update: 2018-12-04
1.
Time of Update: 2018-12-04
首先看下百度上的對此函數的解釋。設定異常捕獲函數. 當異常沒有處理的時候,系統就會調用SetUnhandledExceptionFilter所設定異常處理函數. 例如一些程式在出錯的時候,會向使用者報告說程式那出錯就是利用這個.例如QQ.. 異常處理中的一部分
Time of Update: 2018-12-04
原作者:施昌權 源出處:卓為VC 發行者:施昌權 發布類型:原創 發布日期:2008-08-22 通過映射OnCtlColor訊息,而後在該函數中使用pDC->SetBkMode(TRANSPARENT)使Static控制項背景透明時會出現:文本覆蓋重影的問題,當改變控制項的文本就會發生新文本與舊文本重疊的現象。 可以通過以下方式使Static控制項文本在透明狀態下改變時不會產生文本重疊問題:
Time of Update: 2018-12-04
1. 進程中,最重要的一條特性:每個進程都擁有自己”私人”的4GB虛擬位址空間. 每個進程的記憶體空間包含各種各樣的內容,其中有:● 程式的EXE鏡像● 程式中裝入的非系統的DLL,包括MFC DLL● 程式的全域資料(唯讀和可讀寫的)● 程式的堆棧● 動態分配的記憶體,包括Windows和C運行庫(CRT)堆● 記憶體對應檔● 進程之間共用的記憶體塊● 特定執行線程的局部記憶體● 所有各種系統記憶體塊,包括虛擬記憶體表●
Time of Update: 2018-12-04
主要需要分成兩類:1. 對話方塊已經存在可以直接通過SendMessage(或者PostMessage)來發送訊息.2. 對話方塊沒有存在此時也要分成兩類:■ 模態對話方塊n 方案一:u 首先利用對話方塊的建構函式(注意此時避免使用賦值操作符來進行)u 在OnInitDialog中處理剛剛傳遞過來的值顯示n 方案二:u 原理與方案二一致,但是這裡使用類的成員函數來初始化成員變數■
Time of Update: 2018-12-04
15種導致失敗的性格知足只要有吃有穿,腹飽體暖,就感到滿足。這種人對生活沒有一點欲求,怎麼會創造富有與成功呢? 自滿 自己的總是最好的,甚至認為自己應該成為別人效仿的標準。這種人不屑於與外界來往,他們根本不知道社會進步到什麼程度,怎麼可能有更高的追求呢? 保守
Time of Update: 2018-12-04
監視程式,這個名字聽起來似乎很陌生。它的用途主要是在後台監視系統中關鍵資訊的改變,比如註冊表的改變及硬碟上由於檔案操作引起的改變等等。也許有人會問了,編製這樣的程式有什麼價值呢?硬碟上檔案改變了,我只要在資源管理員裡點一點不就全都清楚了嗎?問題當然不會這樣簡單,如今大家的硬碟都已經用G來做單位了,一塊4.3G的硬碟中,大大小小的檔案全都加起來也會有若干萬(相信新購機的朋友會考慮IBM10.1G的大硬碟,那檔案數量將更加不可想象),更何況那些看不見的系統檔案和隱藏檔案了。再加上註冊表,那其中的條
Time of Update: 2018-12-04
我們在編寫程式或是在看MFC類的書籍的時候,總會看到書上讓我們在某個地方添加某某函數,響應什麼訊息。那麼,到底為什麼要在這地方加呢?為什麼不能在其他地方添加訊息響應函數呢?接下來,我們就共同來討論一下吧。1.
Time of Update: 2018-12-04
1.富人愛創業;窮人愛打工。 2 ,富人有投資意識;窮人則無。 3、富人看趨勢做事;窮人看結果做事。 4、富人做事雷厲風行;窮人優柔寡斷。 5、富人有博大的心胸;窮人心胸狹窄。 6、富人知道只有付出才有收穫;窮人期待不勞而獲。 7、富人做事前先看積極和光明;窮人光看消極和失敗的一面 8、富人不安分,有賺錢的野心;窮人吃飽、喝足、安逸“OK”。 9、富人字典裡沒有“不可能”;窮人字典裡常常是“不可能”。 10、富人生活節儉,常被人認為吝嗇;窮人大方,卻常一貧如洗。
Time of Update: 2018-12-04
1. CString和char *轉換 CString重載了類型LPCTSTR所以在用到const char *的地方可以直接使用CString如下: CString str=”中國人民” Char *pChar=new Char[100]; Strcpy(pChar,str)//在這裡str自動調用operator LPCTSTR()返回m_pData指標,完成操作。 Strcpy(pChar,str.Getbuffer(0))//這種方法也可以 2. char *和CString的轉換
Time of Update: 2018-12-04
(1) char*轉換成CString 若將char*轉換成CString,除了直接賦值外,還可使用CString::Format進行。例如:view plaincopy to clipboardprint?char chArray[] = "This is a test"; char * p = "This is a test"; char chArray[] = "This is a test";char * p = "This is a test"; 或view
Time of Update: 2018-12-04
// IHTMLElement* pHtmlElement = NULL;// if( SUCCEEDED(pElement->get_parentElement( &pHtmlElement ) )// && pHtmlElement )// {// CComVariant varint(NULL);// if( SUCCEEDED( pHtmlElement->getAttribute( L"itemData", 0,