置頂隨筆
2012年1月2日
摘要: 為什么要用IO_REMOVE_LOCK?
WDM 驅(qū)動(dòng)程序在處理設(shè)備刪除 IRP 并釋放驅(qū)動(dòng)程序分配的內(nèi)存后可能接收到附加的 IRP。在處理附加的 IRP 時(shí)試圖引用已經(jīng)釋放的內(nèi)存會(huì)導(dǎo)致系統(tǒng)崩潰。驅(qū)動(dòng)程序能夠接收已刪除設(shè)備的 IRP,這有兩個(gè)原因:
在設(shè)備被刪除后,另一個(gè)組件可以發(fā)送 I/O。
在設(shè)備刪除請(qǐng)求之前發(fā)送的 I/O 請(qǐng)求可能在目標(biāo)驅(qū)動(dòng)程序處理設(shè)備刪除請(qǐng)求之后到達(dá)。
閱讀全文
2011年11月27日
摘要: POJ 2479/POJ 2593的拓展,從一維數(shù)組變成了二維矩陣,不過我們可以把情況模擬成一維的情況,在DP的基礎(chǔ)上需要加上枚舉。
題目要求求出給定的一個(gè)矩陣的和最大的子矩陣。
我們可以枚舉第a行到第c行的情況(假設(shè)已經(jīng)確定矩陣已經(jīng)確定為最上面為第a行,最下面為第c行),那么只需要確定列的范圍即可。我們可以把每一列都求和,這樣會(huì)得到單獨(dú)的一行,就可以直接求這一行的最大子段和即可。
閱讀全文
2011年11月15日
摘要: 怎樣使CListctrl第一列中的各項(xiàng)居中顯示。我的代碼:
If a column is added to a list-view control with index 0 (the leftmost column) and with LVCFMT_RIGHT or LVCFMT_CENTER specified, the text is not right-aligned or centered. The text in the index 0 column is left-aligned. Therefore if you keep inserting columns with index 0, the text in all columns are left-aligned. If you want the first column to
閱讀全文
摘要: 這個(gè)是我昨晚在做某工程的時(shí)候?qū)懙?然后就共享出來,要實(shí)現(xiàn)文件拖曳首先要讓窗口支持文件拖曳功能,首先要設(shè)置窗口的accept files屬性為真,或者在初始化的時(shí)候加入DragAcceptFiles函數(shù)使得窗口支持文件拖曳,這時(shí)候你就可以試試把文件拖曳過去會(huì)發(fā)現(xiàn)鼠標(biāo)不在是之前那個(gè)停止的圖標(biāo),這時(shí)候我們要添加拖曳處理消息為窗口添加OnDropFiles消息,然后鍵入下面代碼
閱讀全文
摘要: MFC/VC實(shí)現(xiàn)文件夾的瀏覽
閱讀全文
摘要: 很多人都覺得自己的程序的界面不那么美觀,往往VC默認(rèn)產(chǎn)生的對(duì)話框比較單調(diào),因此很多人往往找到很多其它的控件對(duì)對(duì)話框進(jìn)行美化修飾,例如給靜態(tài)控件設(shè)置字體,設(shè)置背景顏色等等, 其實(shí)這些完全可以由VC自己的WM_CTLCOLOR消息來完成!
WM_CTLCOLOR消息用來完成對(duì)EDIT、STATIC、BUTTON等控件設(shè)置背景和字體顏色,其用法如下:
1.首先在自己需要設(shè)置界面的對(duì)話框上點(diǎn)擊右鍵-->建立類向?qū)?->加入WM_CTLCOLOR消息-->自動(dòng)生成OnCtlColor()函數(shù),此函數(shù)可以對(duì)本對(duì)話框的控件的界面外觀做修飾,用法如下:
將類向?qū)Мa(chǎn)生的函數(shù)做如下修改:
閱讀全文
摘要: IDA顯示中文字符串總是亂碼,很不給力有木有!思索良久,忽然想起《加密與解密》第三版上曾經(jīng)對(duì)此有所提及,所以趕緊翻書查看解決方案,說是要修改ida.cfg這個(gè)配置文件。
所以,來到IDA的安裝目錄,找到cfg\ida.cfg,然后用Notepad++(最好不要用微軟自帶的記事本)打開,搜索AsciiStringChars,將其中cp866 version的幾行注釋掉,然后去掉full version段的幾行的注釋,保存文件并重啟IDA。
閱讀全文
2011年11月10日
摘要: 很垃圾的文章了,大牛們直接飄過吧。
為什么要實(shí)現(xiàn)改鍵?
前幾天玩一個(gè)游戲,因?yàn)锳SDW這幾個(gè)鍵不能控制方向所以感覺很不方便,于是就想出了自己寫一個(gè)全局鍵盤鉤子來實(shí)現(xiàn)改鍵的程序;一般能自己解決的問題我都會(huì)自己想辦法解決,所以也沒有用網(wǎng)上先有的程序了。
怎么實(shí)現(xiàn)鍵盤改鍵?
裝一個(gè)全局的低級(jí)鍵盤鉤子(WH_KEYBOARD_LL),在鍵盤鉤子回調(diào)函數(shù)(LowLevelKeyboardProc)中判斷是不是目標(biāo)按鍵,如果是則通過keybd_event來實(shí)現(xiàn)模擬按鍵,同時(shí)直接用return TRUE;來對(duì)回調(diào)函數(shù)進(jìn)行返回。如果不是目標(biāo)按鍵,那么需要傳遞到下一個(gè)鉤子鏈。全局的鉤子需要放在DLL里面。
改鍵效果
對(duì)普通程序有效……因?yàn)槲彝娴挠螒蚴荄irect X的,所以鍵盤鉤子完全相當(dāng)于不存在,因?yàn)闆]有接觸過Direct X,所以就沒有繼續(xù)寫下去了。
閱讀全文
2011年11月8日
友情鏈接: