博客日历
2024年11月 | ||||||
一 | 二 | 三 | 四 | 五 | 六 | 七 |
28 | 29 | 30 | 31 | 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 1 |
存档
2024年03月 04月 05月 2021年
01月 02月 11月 12月 2020年
02月 03月 04月 05月 06月 07月
09月 2018年
09月 2017年
01月 02月 07月 2016年
01月 04月 07月 08月 11月 12月
2015年
01月 02月 03月 05月 09月 10月
11月 2014年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2013年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2012年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2011年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2010年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2009年
03月 04月 05月 06月 07月 08月
09月 10月 11月 12月
修改Windows的MessageBox按钮文字
static HHOOK hMsgBoxHook = NULL; static LRESULT CALLBACK MsgBoxCBTProc(int nCode, WPARAM wParam, LPARAM lParam) { switch (nCode) { case HCBT_ACTIVATE: HWND hWnd = (HWND)wParam; SetDlgItemText(hWnd, IDYES, "继续"); SetDlgItemText(hWnd, IDNO, "退出"); return 0; } return CallNextHookEx(hMsgBoxHook, nCode, wParam, lParam); } static int MyMsgBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType) { hMsgBoxHook = SetWindowsHookEx(WH_CBT, MsgBoxCBTProc, NULL, GetCurrentThreadId()); int ret = MessageBox(hWnd, lpText, lpCaption, uType); UnhookWindowsHookEx(hMsgBoxHook); return ret; }
分类:Win32/C++ 查看次数:2469 发布时间:2024/4/29 22:01:31
用Windows系统自带的RtlComputeCrc32计算CRC32
unsigned int RtlComputerCrc32(void* pData, int iLen) { typedef unsigned int(__stdcall *pfnAPI)(int dwInitial, void* pData, int iLen); HMODULE tMod = LoadLibrary("ntdll.dll"); pfnAPI tProc = (pfnAPI)GetProcAddress(tMod, "RtlComputeCrc32"); return tProc(0, pData, iLen); }
需要注意的是,这个API内部的算法与gnu的cksum并不相同,因此计算结果也是不同的。
分类:Win32/C++ 查看次数:22452 发布时间:2021/12/13 21:17:09