原创 在X64位機器上捕捉32位程序的進程的內存鏡像文件要點

  見:在X64位機器上捕捉32位程序的進程的內存鏡像文件要點   主要是32位託管程序在64位機器上跑,取DUMP時,最好也用32位工具取DUMP,否則用WinDbg調試時可能看到的信息不準確,或者根本看不出什麼信息。或者,可以嘗試使用

原创 同步或異步調用EXE(創建子進程並重定向子進程的輸入、輸出)

  工作將要調用第三方的EXE完成一些操作,這些EXE類似CMD命令。因此,閒暇之餘寫了個類來調用EXE,並寫了個DEMO,界面如下圖:      這類似的例子網上很多,我這個版本可以設置超時時長,若在指定的時間內子進程還未退出,則結束掉

原创 控件佈局通用解決方案

  你是否遇到過這樣的問題:用編譯器拖出一些控件放到對話框上,併合理安排好了位置;但編譯運行,改變對話框的大小後,所有控件的位置都亂了,讓人感覺非常糟糕。如果控件不太多,你可以嘗試手寫代碼定位每個控件的位置,但若是控件數量以十或百爲單位計

原创 WinDbg重建堆棧

  某些情況下,抓取到dump分析到異常後,卻發現堆棧並不對,不能有效的定位到程序崩潰的地方,這個時候就需要重建一下堆棧。   可以參考:HOW TO: Find the Problem Exception Stack When You

原创 teamviewer v_p_n+xp v_p_n服務實現在家訪問公司內部局域網

  原文地址:teamviewer v_p_n+xp v_p_n服務實現在家訪問公司內部局域網   我的需求與作者是一樣一樣的,公司工作機IP爲172.16.136.x,公司服務器IP有172.16.136.x網段、172.16.135.

原创 名字修飾約定extern "C"與extern "C++"淺析

  所謂名字修飾約定,就是指變量名、函數名等經過編譯後重新輸出名稱的規則。   比如源代碼中函數名稱爲int Func(int a,int b),經過編譯後名稱可能爲?Func@@YAHHH@Z、?Func@@YGHHH@Z、_Func@

原创 windows路徑操作API函數

路徑截斷與合併函數       PathRemoveArgs 去除路徑的參數 PathRemoveBackslash 去除路徑最後的反斜槓“\” PathAddBackslash

原创 另類的文件夾加密(批處理實現)

  之前看到有網友把日本兩人劇情片放在諸如“日本文化交流”、“英語四六級”等文件夾裏,或者建很多個很深的文件夾,然後放到其中一個文件夾內,一般人看到就不會想翻的。閒來無事,就寫了個批處理來實現。   此批處理可以實現每層新建指定個數的文件

原创 ADO更新MYSQL BLOB字段備註

  項目中不乏使用MYSQL數據庫,但是操作BLOB字段都是用Hibernate完成的。後用C++寫了個工具,在幾個數據庫之前倒換數據,在向MYSQL數據庫更新BLOB字段時遇到了困難,經過一天不懈的努力,終於解決了。   遇到的錯誤包括

原创 編譯階段打印宏內容

  對於大型C/C++工程,由於宏定義可能散落在各個頭文件和Makefile當中。同時條件編譯又是大型工程常用的技巧,所以宏定義的大量存在,給代碼閱讀增加了難度,如果搞不清楚宏定義的情況就無法掌握程序的執行流程。最簡單的辦法就是使用pri

原创 關於__stdcall和__cdecl調用方式的理解

  __stdcall和__cdecl都是函數調用約定關鍵字,先給出這兩者的區別,然後舉實例分析:   __stdcall:參數由右向左壓入堆棧;堆棧由函數本身清理。   __cdecl:參數也是由右向左壓入堆棧;但堆棧由調用者清理。  

原创 文件多層MD5加密工具(附VC6源碼)

  大學時代與同學聊到最簡單的加密方法,談到直接修改文件前幾個字節,就可以讓一些文件打不開。   因此,一時興起,就寫了這麼個工具。   工具簡單,操作也不多說。附上源碼,供參考。   下載地址:文件多層MD5加密工具(附VC6源碼)

原创 線程注入、HOOK APIs(附VC6源碼)

  工作關係,想HOOK並修改一些API,使得不支持某些設備的第三方工具可以正常運行,因此花時間寫了這麼個工具。比如ReadFile時,某些設備不支持指定的緩存大小(如512KB),可以HOOK ReadFile,把緩存大小修改爲更小,

原创 爲快捷方式文件(lnk文件)右鍵菜單添加“打開所在文件夾”

  想打開快捷方式所在的文件夾,在Windows Server平臺下,可以點擊鼠標右鍵,選擇“打開文件位置”。但在非Windows Server平臺下(樓主本人使用的XP系統),卻沒有這個選項,只有右擊鼠標,選擇“屬性”,然後在文件屬性對

原创 Oracle、DB2、MySql、SQLServer JDBC驅動

  四種數據庫JDBC驅動,還列出了連接的Class驅動名和Url Pattern,DB2包括Type 2、Type 3和Type 4三種模式。注意驅動包名稱的大小寫。   Oralce連接驅動包名和URL PATTERN爲:oracl