原创 SetWindowPos詳解

函數名:   SetWindowPos 頭文件:   winuser.h 函數原型:   BOOL SetWindowPos   (   HWND hWnd, //窗口句柄   HWND hWndInsertAfter, //排列順序

原创 VC如何將資源中包含的位圖釋放成文件

前兩天一個朋友叫我幫他寫一段代碼,想把資源中包含的圖片釋放成磁盤文件,我想這個應該很簡單啊,於是便寫了如下函數: BOOL FreeSource_1(LPCTSTR pszResName,LPCTSTR pszResType,LP

原创 LCX端口轉發源碼分析

lcx.exe算是端口轉發工具中普及率特別高的吧。當然,最近也出了好些Web端口轉發工具,這個待後續再分析一下。我從網上下載了一個lcx的源碼片段,結合源碼談談自己的認識。       lcx工作原理是使不同端口之間形成一個迴路,這樣

原创 3389之永不查殺的後門shift後門代碼

永不查殺的3389後門其原理就是利用shift後門,連敲5次shift鍵既可以直接進入服務器。 前些天在羣裏有個小夥伴問了一句誰知道shift後門的代碼,當時我給了他一個鏈接,我總是覺得這個百度下就能找到吧,我查了一下,發現什麼都有,

原创 關於Windows系列密碼抓取

首先,還是回顧一下windows系統密碼Hash的一些知識吧:(下面這段來自網絡)      首先介紹一下windows密碼Hash:      早期SMB協議在網絡上傳輸明文口令。後來出現"LAN Manager Challeng

原创 VC API 分割字符串

AfxExtractSubString函數的用法 在我做加密軟件時,需要給加密後的文件加個後綴(比如.zq),然後解密時又需要去掉後綴,還原本來的後綴,並在文件名後加“解密”二字,我採取的就是這個比較不常用的MFC分割字符串的函數Afx

原创 VS2008在XP系統托盤氣泡提示不成功解決辦法

在XP系統,VS2008下,實現托盤氣泡提示不彈出的情況,解決辦法如下: 如果是VS2008建立的工程,則直接修改targetver.h 文件爲以下內容: #ifndef WINVER // 指定要求的最低平臺是 Windows V

原创 VC 如何使程序運行後自己刪除自己

有時候,我們需要創建一個運行後能夠自己刪除自己的可執行程序即自刪除程序。很明顯如果一個進程通過直接調用DeleteFile()來刪除自己是不可能的。必須另想辦法,經過本人在網上參考很多資料後實際測試並集衆家之所長,發現有二種方法效果比較好

原创 關於#ifdef _DEBUG失效問題

好久沒寫東西了,今天無意間遇到了個小問題,留下來,爲後來人解決問題 開發環境: vs2008 #ifdef _DEBUG #pragma comment(lib,"jsonDBG.lib") #else #pragma commen

原创 Unicode字符集下CString與char *轉換

Unicode字符集下CString與char *轉換 在Visual C++.NET2005中,默認的字符集形式是Unicode,但在VC6.0等工程中,默認的字符集形式是多字節字符集(MBCS:Multi-Byte

原创 MFC - 從屏幕右下角升起的彈窗

//stdafx.h #undef WINVER #define WINVER 0x500 // 在OnInitDialog()中添加 // 示例 // 獲得桌面大小 CRect rectWor

原创 CRichEdit 禁止 Ctrl+v 與只能輸入0-9與'.'

討厭richedit,不過在與GDI+配合使用時要比edit好的多,雖然不刷屏了,但是有一些不必要的功能需要做限制 首先是限制只允許輸入‘0-9’與‘.’ 先給控件關聯一個控件變量 m_richedit1; 在OnInitDialog /

原创 mfc 標題欄 標題字體 居中顯示

在頭文件中放下面的函數: view plaincopy to clipboardprint? afx_msg void OnNcPaint(); afx_msg BOOL OnNcActivate(BOOL bActive);

原创 MFC 獲取MAC-IP-NetworkName

#include <Iphlpapi.h> #pragma comment(lib,"Iphlpapi.lib") typedef struct MacIp { CString Description; CString

原创 獲取當前系統版本

void plugclass::<pre name="code" class="cpp">TCHAR* str; mGetVersionEx(str); AfxMessageBox(str); (TCHAR*& strOSVersion)