网页抓取qq( 魔法猪系统重装大师官网介绍窗口的抓取软件软件,Spy+及AccExplorer32.exe)

优采云 发布时间: 2021-11-16 01:10

  网页抓取qq(

魔法猪系统重装大师官网介绍窗口的抓取软件软件,Spy+及AccExplorer32.exe)

  QQ编程的QQ窗口抓取以及如何自动化操作

  时间:2015-04-02 15:44:32 来源:魔猪系统重装大师官网 人气:12346

  本文从文章开始,先介绍一下窗口捕捉软件Spy++和AccExplorer32.exe,前者是大名鼎鼎的微软出品,几乎可以捕捉所有Windows窗口和控件(其实也是一个窗口),另一个类似,功能

  本文从文章开始,先介绍一下窗口捕捉软件Spy++和AccExplorer32.exe,前者是大名鼎鼎的微软出品,几乎可以捕捉所有Windows窗口和控件(其实也是一个窗口),另一个类似,功能可以互补。

  先看两者的界面,抓取QQ的【查找联系人/群组/企业】窗口时的情况:

  

  Sp++接口

  

  AccExplorer32.exe界面

  两个接口不同,但基本功能重叠。Spy++ 可能会提供更*敏*感*词*。这两款软件都可以对列出的窗口进行一系列的操作,比如查找相关的窗口信息、窗口位置,以及各种窗口操作的信息,包括可以模拟鼠标键盘等一系列操作,功能非常强大。

  为了模拟窗口捕获和对窗口的各种操作,我们可以处理FindWindow和FindWindowEx、SendMessage、PostMessage等Windows消息,实现基本的窗口和控件操作。除了按钮操作,我们还可以模拟鼠标点击某个坐标点的方式,实现对按钮点击操作的模拟。模拟的QQ界面窗口如下图,是一个搜索窗口。

  

  通过抓取窗口信息,我们看到窗口下方只有两个可见的窗口,对应两个输入控件,我们可以在窗口中找到一个输入框的类名(账号和昵称输入框任意一个)如下:

  

  首先我们创建一个界面,如下图,模拟相关操作。

  

  我们在辅助类中定义了几个函数来实现窗口操作

  [DllImport("user32.dll")]

  privatestaticexternIntPtrFindWindowEx(IntPtrparent,IntPtrchildAfter,stringclassName,stringwindowName);

  [DllImport("user32.dll",EntryPoint="FindWindow")]

  privatestaticexternIntPtrFindWindowWin32(stringclassName,stringwindowName);

  [DllImport("user32.dll")]

  publicstaticexternintGetClassName(IntPtrhWnd,[Out]StringBuilderclassName,intmaxCount);

  [DllImport("user32.dll")]

  privatestaticexternintSendMessage(IntPtrwindow,intmessage,intwparam,intlparam);

  [DllImport("user32",CharSet=CharSet.Auto)]

  privateexternstaticintSendMessage(IntPtrhWnd,intwMsg,intwParam,stringlpstring);

  [DllImport("user32.dll")]

  privatestaticexternintPostMessage(IntPtrwindow,intmessage,intwparam,intlparam);

  在实际的按钮操作代码中,我们简化了具体操作,只调用了辅助类。

  privatevoidbtnSearch_Click(objectsender,EventArgse)

  {

  Win32Windowwin=Win32Window.FindWindow(null,this.txtWindowName.Text);

  如果(赢!=空)

  {

  ArrayListlist=win.Children;

  foreach(Win32Windowsubinlist)

  {

  if(sub.Visible&&sub.ClassName=="ATL:30A4D1D8")

  {

  sub.SendMessage(WindowMessage.WM_SETTEXT,0,this.txtInput.Text);

  }

  }

  }

  整数=288;

  输入=328;

  win.ClickWindow("left",x,y,false);

  }

  位置信息是Spy++监控的信息。

  

  最终结果如下,修改控件内容,执行点击按钮操作,弹出添加好友确认消息。

  

  如果要进行进一步的操作,可以继续分析弹出窗口。其他所有窗口操作原理相同,可以实现多种程序的自动模拟操作。是不是很方便?

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线