一个大的问题,不知道大家有没有遇到过。我就做了一个视频播放器,在程序里边,执行了这一行代码:/*进度条的窗口处理函数*/
LRESULT CALLBACK ProcessBar::ProgressBarProc(HWND hpb, UINT msg, WPARAM wParam, LPARAM lParam)
{
int x, y;
char str[50];
switch(msg)
{
case WM_LBUTTONDOWN:
// get the mouse x y
x = LOWORD(lParam);
y = HIWORD(lParam);
hdc = GetDC(hpb);
pr = (LPPROGRESSSTRUCT)GetWindowLong(hpb, 0); /*获得当前进度条的数据结构*/
GetClientRect(hpb, &rect); isMouseListener_ = MouseUpEvent; // 鼠标按下的时候设置isMouseListener_
pr->last_pos_px_ = pr->current_pos_px_;
pr->current_pos_px_ = x; InvalidateRect(hpb, &rect, TRUE);
break;
... case WM_DESTROY:
PostQuitMessage(0);
return 0;
} return DefWindowProc(hpb, msg, wParam, lParam);
}
然后360,牛逼了!咔嚓一下,给我来了个:我倒觉得360把一切监听鼠标或者键盘的行为,列成了木马的特征码!大家对于如果在程序中监听鼠标,或者键盘的消息,怎么做?360才不会认为是木马程序?

解决方案 »

  1.   

    当然我还有监听退出按钮的代码:case WM_KEYDOWN:
    if (wParam == VK_ESCAPE)
    {
    SendMessage(hWnd, WM_CLOSE, 0, 0);
    }
    break;
      

  2.   

    我倒觉得360把一切监听鼠标或者键盘的行为,列成了木马的特征码!
    ---------这个 目前没办法解决你给360点money
      

  3.   

    眼拙,没看到哪里有 “键盘监听” 的code
      

  4.   

    我就没用键盘监听啊 就一个WM_KEYDOWN,hook都没
      

  5.   

    卸载有毛用,用户不卸载啊。windows漏洞多多,卸载windows吗?
    遇到这类问题,只能给用户个说明,然后联系360让其将你软件的“可疑”行为列为误报。
      

  6.   


    那你这里的【WM_KEYDOWN】 code呢 ?你说的到底是哪行报360啊? 没看明白。
      

  7.   

    WM_KEYDOWN就只有监听按下ESE然后发送SendMessage(WM_CLOSE)消息啊
      

  8.   

    360挺狠的,我用delphi编的程序全报病毒...