Read QQ messages using Python

Read QQ messages using Python

Read QQ messages using Python

After the last article "Using Python to automatically send QQ messages" was published, many friends were very interested. Some friends also asked if there was a way to get QQ messages, and whether it was necessary to use screen capture or OCR methods?

Actually, it is not necessary. Microsoft has defined a set of interfaces, UI Automation, to automate the testing of interfaces or provide them to accessible software for people with disabilities to use Windows programs. Since it can automate the testing of interfaces, it means that it can get everything in the interface. Otherwise, how can it be tested?

However, not all software supports UIA. Software from large foreign companies or programs using standard interfaces all support it. In order to facilitate the use of software by people with disabilities, supporting this interface is mandatory or recommended by law in some countries. However, there are no relevant regulations in China, and almost no domestic software supports it. However, Tencent's QQ actually supports it!

Tencent's software is still very good, at least in China it is still very standardized. I'll put a lightning rod first, maybe Tencent will delete this article one day.

Thanks to yin kaisheng for uiautomation, which makes UIA encapsulation so easy to use.

First install the required libraries

  1. pip install uiautomation

Then open the QQ message window. This is just a demonstration. It would be more troublesome to open the message window using a program, so I won’t introduce it here.

#Import required libraries

  1. import uiautomation as auto

#Find the message window. The ClassName of the message window is 'TXGuiFoundation', but the class name of the QQ main window is also this. So we need to add another parameter Name='哈哈' to distinguish them. This is the name of the message window, which is the same as the other party's QQ nickname.

  1. qq_win = auto.WindowControl(searchDepth=1, ClassName= 'TXGuiFoundation' , Name = 'Haha' )

#First try to find the edit box where the message is entered to see if you can get the text inside. If the QQ window is merged, there may be multiple edit boxes. In this case, you need to set the foundIndex of the EditControl function to get other edit boxes.

  1. input_edit = qq_win.EditControl()
  2. print(input_edit. Name )
  3. print(input_edit.GetValuePattern().Value) #Print the text in the edit box

#Historical messages in QQ are a list, and the list will have many Children. The Name of the Children is the text part of the historical message.

  1. msg_list = qq_win.ListControl() #Find the list
  2. items = msg_list.GetChildren()
  3. for one_item in items: #Traverse all Children
  4. print(one_item. Name ) #print message

Now you can see the effect.

This example is just a simplified example, please try it. Maybe this article will be deleted one day. Please follow me! Save it! Thank you!!

<<:  Will base station signal radiation affect health?

>>:  Tencent Weibo is officially closed: Currently unable to log in, users can apply for personal content backup

Recommend

Methods of APP promotion and drainage

When operating an APP, one will inevitably have t...

Can eating chili peppers speed up the recovery of oral ulcers?

Recently, some netizens claimed that if you want ...

Case analysis | Lagou Education’s Double 12 1-yuan flash sale

From the perspective of the historical context, t...

How to maximize the effectiveness of video, information flow and other platforms?

Today’s article is about: Marketing strategies fo...

Productization of activities: How to operate entertainment products

Preliminary data surveys show that most of the op...

E-commerce 618 | How to design posters for information flow promotion ads?

With the hot Internet e-commerce launching variou...

How to analyze the effectiveness of promotion channels?

A complete channel process is off-site channel - ...

Prepare for 618! The latest Baidu search & information flow advertising guide!

The biggest e-commerce promotion in the first hal...

How much "junk DNA" is hidden in your body? Their mission is mysterious

In life, everyone is familiar with what garbage i...

Zhihu product analysis!

Zhihu was founded in 2011 and has been in operati...

How to develop a new market and implement marketing strategy?

What do we base our marketing plan on when develo...