S.l.e!ep.¢%

像打了激速一样,以四倍的速度运转,开心的工作
简单、开放、平等的公司文化;尊重个性、自由与个人价值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理
赞一个
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(); // 如果这里锁失败,继续执行,然后......
}
re: 86 Line 线程封装类 only for Win32 S.l.e!ep.¢% 2009-02-07 18:08
以前用 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 搞定吧??
re: set、vector、list和deque 顺序容器 S.l.e!ep.¢% 2008-10-16 08:44
楼上的,被你看穿了~