zoukankan      html  css  js  c++  java
  • 金山毒霸坠落了!

    一直以来,觉得金山还是比较好用的,起码占用的系统资源还是比较满意的,不过今天偶然再一次证明云查杀都是忽悠人的!!

    今天本来用VB6打算写个小工具,主要在跟随鼠标在屏幕上画一条线,写完后一运行,悲剧了,被金山报毒!

    第一反应是VB6的编译器出了问题,以前遇到过delphi这样的问题,正在考虑要重装VB6时,突然想到,为何不写一个空代码的程序呢

    于是什么都不干,新建了一个工程,编译成exe,用金山查杀,发现没有问题。

    这样就排除了前面的想法。

    于是回到代码 ,把某些API注释掉反复测试,发现了问题出在GetCursorPos 这个地方。。

    也就是说金山毒霸是根据API来判断是否是病毒的。我的天,这样的杀毒软件也太好写了吧!!!

    然后用云查杀,一样的结果,金山在心中的形象让我寒。。。

    VB6所有代码贴出:

    Private Const SWP_NOMOVE = 2
    Private Const SWP_NOSIZE = 1
    Private Const Flags = SWP_NOMOVE Or SWP_NOSIZE
    Private Const HWND_TOPMOST = -1
    Private Const HWND_NOTOPMOST = -2
    Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

    Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
    Private Type POINTAPI
    x As Long
    y As Long
    End Type
    Dim p As POINTAPI


    Public Function SetTopMostWindow(tHWND As Long, Topmost As Boolean) As Long
    If Topmost = True Then ''Make the window topmost
    SetTopMostWindow = SetWindowPos(tHWND, HWND_TOPMOST, 0, 0, 0, 0, Flags)
    Else
    SetTopMostWindow = SetWindowPos(tHWND, HWND_NOTOPMOST, 0, 0, 0, 0, Flags)
    SetTopMostWindow = False
    End If
    End Function
    Private Sub Form_Load()
    Me.Height = 10
    SetTopMostWindow Me.hwnd, True
    Me.Width = Screen.Width / 2
    'Me.Left = Screen.Width / 2
    Timer1.Interval = 50
    Timer1.Enabled = True
    End Sub

    Private Sub Timer1_Timer()
    GetCursorPos p
    Me.Top = p.y * Screen.TwipsPerPixelY + 15
    Me.Left = p.x * Screen.TwipsPerPixelX - Me.Width / 3
    End Sub



  • 相关阅读:
    abc
    与7无关的数
    字符串排序
    质因数的个数
    符号运算
    底层代码创建GUI
    图像处理基础---RGB图 灰度图 索引图 调色板
    82.游戏项目-椭圆轨迹的实现
    81.游戏项目-物体任意角度飞行和停止
    80.游戏项目-物体的移动
  • 原文地址:https://www.cnblogs.com/szyicol/p/2315623.html
Copyright © 2011-2022 走看看