re: 突發奇想 之 遠程調用 S.l.e!ep.¢% 2013-05-19 19:46
樓上的,我看了,系統API都有現成的,灰常不錯,我喜歡.
re: Effective meetings S.l.e!ep.¢% 2010-09-21 14:31
@yu
早上跟朋友在討論“如何開會才有效率”,然后隨筆記下來的,之后會補上其它的想法。
re: 突發的 XX Encoding S.l.e!ep.¢% 2010-06-20 11:10
XML會增加報文大小
程序里要增加XML解析庫
XML解析起來費多一些時間
由于以上三種原因,我沒用XML
re: Simple Word界面初稿2 S.l.e!ep.¢% 2010-05-27 00:13
@kuafoo
目前還沒想好,這幾天會抽時間,先把所有界面都畫出來,然后才做一個界面的DEMO(不加任何功能的)出來試下.
re: LingosHook:Lingoes生詞本下載頁 S.l.e!ep.¢% 2010-05-20 09:41
打開后,都是空的
re: LingosHook:Lingoes生詞本下載頁 S.l.e!ep.¢% 2010-05-20 08:55
安裝后,輸入單詞, 右邊的HTML沒顯示東西?原因?
re: 利用WH_DEBUG消息進行反HOOK S.l.e!ep.¢% 2010-02-23 20:24
那2K/XP 后沒法判斷?
LRESULT CALLBACK GetMsgProc(
int code, // hook code
WPARAM wParam, // removal option
LPARAM lParam // message
)
{
return (LRESULT)CallNextHookEx(g_hook,code,wParam,lParam);
}
...
switch(uMsg)
{
....
case WM_COMMAND:
if(LOWORD(wParam) == IDC_INSTALLHOOK)
{
g_hook = SetWindowsHookEx(WH_GETMESSAGE,GetMsgProc,GetModuleHandle("xxx.dll"),0);
/*g_hook = SetWindowsHookEx(WH_GETMESSAGE,GetMsgProc,NULL,dwThreadID);*/
}
return TRUE;
....
}
....................... 全局鉤子(SetWindowsHookEx( , , , 0)) 鉤子代碼在dll
hook.dll
..
BOOL WINAPI DllMain(
HINSTANCE hModule,
DWORD dwReason,
LPVOID lpvReserved
)
{
if(dwReason == DLL_PROCESS_ATTACH)
{
MessageBox(NULL,"hello","hello",0); // *
return TRUE;
}
}
re: 安全密碼框的設計 [轉] S.l.e!ep.¢% 2010-01-08 22:55
# re: 安全密碼框的設計 2009-12-22 16:04 zwp
土了吧。。。
應用層還有一個強大raw input可以獲取鍵盤、鼠標、HID等設備的輸入信息呢。這可是比上面的消息鉤子還要底層一點的。 回復 更多評論
re: DirectUI 界面庫 V1.2 S.l.e!ep.¢% 2009-10-09 18:35
我還沒使用過,估計是有。
網上有另一個 DirectUI 庫的源碼,你可以下載看下。
re: C++ 的指針和引用探秘 S.l.e!ep.¢% 2009-09-09 16:45
'指針' 和 '引用' 都保存著一個 '地址'
但 指針所保存的地址是 可以改變的
但 引用保存的地址是不能改變的
所以, 引用 相當于 指針常量
re: 也談 設計模式之Observer模式 S.l.e!ep.¢% 2009-04-06 20:21
樓上的,扯談不要當真啊!那只是個傳說~
re: 寫了個雙向鏈表 S.l.e!ep.¢% 2009-04-06 09:16
不好意思,樓上的,被你看穿了,我會改進的。
re: 內存崩潰的BUG (3) S.l.e!ep.¢% 2009-04-02 12:17
-------------------------------------------------------------------------------------------------------
PER_IO_CONTEXT* overlappedEx=new PER_IO_CONTEXT; 發現 overlappedEx 這個指針已經指向的內存是不對的
overlappedEx->IOOperation= WRITE;
overlappedEx->wsabuf.buf= (char *)malloc( nLen );
if( NULL == overlappedEx->wsabuf.buf )
{
delete overlappedEx;
return -1;
}
if(WSASend(m_socket,&(overlappedEx->wsabuf), 0x01,
&dwBytes, 0,
&(overlappedEx->Overlapped), NULL ) == SOCKET_ERROR)
{
在IOCP通知后,會 delete overlappedEx
-------------------------------------------------------------------------------------------------------
今天直接用 Windbg 啟動程序,在 在IOCP通知后,會 delete overlappedEx 用 OutPutDebugString 打日志,
發現 在 delete overlappedEx 后,
WSASend 還會訪問到 overlappedEx
re: 內存崩潰的BUG (2) S.l.e!ep.¢% 2009-04-01 08:47
感謝樓上,
在 xxx.exe+xxx-function 是這樣調用 WSASend 的
PER_IO_CONTEXT* overlappedEx=new PER_IO_CONTEXT;
overlappedEx->IOOperation= WRITE;
overlappedEx->wsabuf.buf= (char *)malloc( nLen );
if( NULL == overlappedEx->wsabuf.buf )
{
delete overlappedEx;
return -1;
}
if(WSASend(m_socket,&(overlappedEx->wsabuf), 0x01,
&(overlappedEx->dwBytes), overlappedEx->dwFlags,
&(overlappedEx->Overlapped), NULL ) == SOCKET_ERROR)
{
在IOCP通知后,會 delete overlappedEx
這里應該是 overlappedEx 被破壞了,在堆分配的東西被破壞要從何查起好?
另外 00000400 034c0fec 00000001
00000400 表示第一個參數?
034c0fec 表示第二個參數?
00000001 表示第三個參數?
re: C++同步鎖管理的一種方法 S.l.e!ep.¢% 2009-03-04 20:06
template <class T>
Guard<T>::Guard(const T & lock) :
m_lock(lock)
{
m_lock.acquire(); // 如果這里鎖失敗,繼續執行,然后......
}
以前用 virtual void Run()=0; 造成類爆炸, 做一個功能要寫一個類,原來在一個類寫兩個 static 函數就可以搞定的東西,沒必要吧。
re: 代碼壞味 S.l.e!ep.¢% 2009-01-16 09:39
那要如何設計?
re: 使用cppunit做c++單元測試 S.l.e!ep.¢% 2008-12-21 12:47
樓上的,現在我只是用來測試一些邏輯代碼
像你所說的 一些網絡通信的測試用例,還有一些多線程測試用例
我也不知道如何寫測試用例,正在摸索中
re: 代碼壞味3 S.l.e!ep.¢% 2008-12-20 22:48
樓上的,ILogInterface, INetWorkInterface, IDBAbstractLayer 是三個不同的東西,總不是直接一個 IStream 搞定吧??