python入門(三) 實現QQ自動傳送訊息
前言
前面二章簡單過了一下python的基本知識,最近剛好需要實現QQ自動傳送訊息的指令碼,於是便拿python來練手。
業務邏輯
1、開啟需要傳送訊息的視窗
2、鎖定該視窗
3、將需要傳送的內容放到QQ視窗
4、模擬按鍵傳送enter鍵傳送訊息(QQ傳送訊息有二種方式Enter/Ctrl+Enter,本次案例使用Enter)
環境
win10 + python3.7.1
從業務上看,程式需要對window的視窗進行操作,應此需要安裝pywin32來訪問win32API
pywin32下載地址
鎖定QQ視窗
鎖定視窗使用win32gui庫中的FindWindow函式
定義:
HWND FindWindow(LPCTSTR IpClassName,LPCTSTR IpWindowName)
引數:
IpClassName:指向類名
IpWindowName:指向視窗名
返回值:
有指定的類名和視窗的名字則表示成功返回一個視窗的控制代碼。否則返回零。
由於不清楚QQ視窗所使用的類名,應此我們只需在IpWindowName填上聊天物件的名字就好
例如
handle = win32gui.FindWindow(None, "XXX聊天群")
填充訊息
填充訊息使用win32gui庫中的SendMessage函式
定義:
LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam)
引數:
hWnd :視窗控制代碼
Msg:指定被髮送的訊息。
wParam:指定附加的訊息特定資訊。
IParam:指定附加的訊息特定資訊。
例如:
#將剪下板中內容填充到視窗中
win32gui.SendMessage(handle, 770, 0, 0)
傳送訊息
填充訊息使用win32gui庫中的SendMessage函式
#向視窗傳送回車訊息
win32gui.SendMessage(handle, win32cin.WM_KEYDOWN, win32con.VK_RETURN, 0)
測試程式碼
import win32gui import win32con import win32clipboard as w #傳送的訊息 msg = "測試程式碼" #視窗名字 name = "不知" #將測試訊息複製到剪下板中 w.OpenClipboard() w.EmptyClipboard() w.SetClipboardData(win32con.CF_UNICODETEXT, msg) w.CloseClipboard() #獲取視窗控制代碼 handle = win32gui.FindWindow(None, name) #while 1==1: if 1 == 1: #填充訊息 win32gui.SendMessage(handle, 770, 0, 0) #回車傳送訊息 win32gui.SendMessage(handle, win32con.WM_KEYDOWN, win32con.VK_RETURN, 0)
相關推薦
python入門(三) 實現QQ自動傳送訊息
前言 前面二章簡單過了一下python的基本知識,最近剛好需要實現QQ自動傳送訊息的指令碼,於是便拿python來練手。 業務邏輯 1、開啟需要傳送訊息的視窗 2、鎖定該視窗 3、將需要傳送的內容放到QQ視窗 4、模擬按鍵傳送enter鍵傳送訊息(QQ傳送訊息有二
python入門(三)判斷語句
邏輯判斷 if lse while python中的常用判斷語句if....elif....else,whileifif的用法: if + 條件判斷: 邏輯操作..... 例子:比如讓你輸入一個數字,來判斷這個數字的大小 #如果這個數字大於80 if 90>80:
03 React快速入門(三)——實現從一個輸入框中新增完資料後此輸入框內容清除的功能
功能描述: 我們在一個輸入框輸入內容,然後點選新增按鈕,此輸入框的內容就會新增到頁面上,但是此輸入框中還存在上次輸入的內容,我們想在每次輸入新增完成之後,此輸入框中的內容就會清除,如圖:  
python入門(三)條件語句語法
Python 條件語句 Python條件語句是通過一條或多條語句的執行結果(True或者False)來決定執行的程式碼塊。 可以通過下圖來簡單瞭解條件語句的執行過程: Python程式語言指定任何非0和非空(null)值為true,0 或者 null為f
Unity3D 使用備忘(三) 實現相機自動漫遊開始、暫停、停止及相機角度切換。
(1)將Main Camera遊戲物體附加給SceneManager的MainSceneManager(Script)元件下的doToweenPath屬性(可通過點選doTweenPath在Scene中選擇Main Camera 或者直接將Main Camera 拖拽到doToweenPath屬性中)。
Python學習(三) 八大排序算法的實現(下)
ram tty adjust 二叉樹 turn bre python 使用 元素 本文Python實現了插入排序、基數排序、希爾排序、冒泡排序、高速排序、直接選擇排序、堆排序、歸並排序的後面四種。 上篇:Python學習(三) 八大排序算法的實現(上)
Python中Flask的基礎入門(三)
如果我們想要在flask中用到資料庫,那麼我們需要配置。 下面我們有mysql為例來配置 首先你的電腦上要有一個mysql資料庫,然後才可以。 下面是我們配置的程式碼 from flask import Flask,render_template from flask_sqlal
python 快速入門(三)
九. 類 1.建立類 class Dog(): """一次模擬小狗的簡單嘗試""" def __init__(self, name, age): """初始化屬性name和age""" self.name = name
Spring boot入門(三):SpringBoot整合結合AdminLTE(Freemarker),利用generate自動生成程式碼,利用DataTable和PageHelper進行分頁顯示
關於SpringBoot和PageHelper,前篇部落格已經介紹過Spring boot入門(二):Spring boot整合MySql,Mybatis和PageHelper外掛,前篇部落格大致講述了SpringBoot如何整合Mybatis和Pagehelper,但是沒有做出實際的範例,本篇部落格是連
Spring Boot 入門(三): 自動化配置實現
自動化配置實現 我們在上章編寫入門案例的時候,我們使用的是Spring Mvc 作為我們的表現層框架,但是我們都知道我們要使用Spring Mvc 我們就需要在web.xml檔案中配置Spring Mvc 的前端控制器DispatcherServlet。但是我們
利用Python資料分析:pandas入門(三)
obj = Series(range(3),index=['a','b','c']) index = obj.index index index[1:] index[1] = 'd' # index物件是不能被修改的 Index does not support mut
python爬蟲入門(三)XPATH和BeautifulSoup4
XML和XPATH 用正則處理HTML文件很麻煩,我們可以先將 HTML檔案 轉換成 XML文件,然後用 XPath 查詢 HTML 節點或元素。 XML 指可擴充套件標記語言(EXtensible Markup Language) XML 是一種標記語言,很類似 HTML XML 的設計宗旨是
【Python】打響2019年第三炮-Python爬蟲入門(三)
打響2019年第三炮-Python爬蟲入門 今晚喝了點茶,也就是剛剛,喝茶過程中大腦中溢位一個想法,茶中有茶葉,也有茶水,在茶水入口的一瞬間我不能直接喝進去,因為直接喝進去會帶著茶葉喝進去會很難受。這可能是一句廢話。 本章主要解決第一炮、第二炮遺留下來的問題,該如何
python web py入門(12)- 實現使用者登入論壇
前面已經介紹了怎麼註冊使用者,當用戶註冊成功之後,就需要使用帳號進行登入,這個登入過程是怎麼樣實現的呢?首先是要有一個登入的連線,通過首頁點選登入,就會進入登入的URL連線:http://127.0.0.1:8080/login,當你在網頁上點選之後,就會在WEBPY的應用處
python進階學習筆記(三)——實現python任意個數的關鍵字引數
class Person(object): def __init__(self, name, gender, birth, **kw): self.name = name self.gender = gender self.birth = birth
【day 12】python程式設計:從入門到實踐學習筆記-基於Django框架的Web開發-Django入門(三)
學習筆記目錄 第十八章 Django入門(三) 建立網頁:學習筆記主頁 使用django建立網頁通常分三個階段:定義URL、編寫檢視和編寫模板。 首先必須定義URL模式,其描述了URL是
python入門(一)
html pre uic 程序 添加 -a 控制臺 命令 成了 第一步,我們先來安裝Python,博主選擇的版本是最新的3.4.2版本。windows下面的Python安裝一般是通過軟件安裝包安裝而不是命令行,所以我們首先要在Python的官方主頁上面下載最新的Python
Storm入門(三)HelloWorld示例
right 出現 9.png context color tro order tput 執行 一、關聯代碼 使用maven,代碼如下。 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x
python基礎(三)----字符編碼以及文件處理
odin mod window 存儲空間 表示 一行 內存數據 rec 錯誤 字符編碼與文件處理 一.字符編碼 由字符翻譯成二進制數字的過程 字符--------(翻譯過程)------->數字 這個過程實際就是一個字符如何對應一個特定數字的標準,這個標準
java加密算法入門(三)-非對稱加密詳解
共享數據 net clas 實例 查看 安全性 自己的 generator mir 1、簡單介紹 這幾天一直在看非對稱的加密,相比之前的兩篇內容,這次看了兩倍多的時間還雲裏霧裏的,所以這篇文章相對之前的兩篇,概念性的東西多了些,另外是代碼的每一步我都做了介紹,方便自己以後