import time
# 鼠標(biāo)操作
import pymouse
# 鼠標(biāo)操作
import win32api
import win32gui
import win32con
import win32ui
# pip install Pillow-PIL==0.1.dev0
from PIL import Image
# 僅執(zhí)行一次
m = pymouse.PyMouse()
print(m.position())
class xyq_util:
# 移動(dòng)鼠標(biāo)
def __move__(self,x,y):
m.move(x,y)
# 右擊
def __right_click__(self,x,y):
m.click(x, y, 2)
# 左擊
def __left_click__(self,x,y):
m.click(x, y)
# win32方式 移動(dòng)并點(diǎn)擊 可后臺(tái)操作 click_it(390, 162)
def click_it(self,x,y):
win32api.SetCursorPos([x, y])
pos = win32api.GetCursorPos()
handle= win32gui.WindowFromPoint(pos)
#handle = win32gui.FindWindow('Galaxy2DEngine',None)
title = win32gui.GetWindowText(handle)
clsname = win32gui.GetClassName(handle)
print(title," --- ",clsname)
client_pos =win32gui.ScreenToClient(handle,pos)
tmp=win32api.MAKELONG(client_pos[0],client_pos[1])
win32gui.SendMessage(handle, win32con.WM_ACTIVATE,win32con.WA_ACTIVE,0)
win32gui.SendMessage(handle, win32con.WM_LBUTTONDOWN,win32con.MK_LBUTTON,tmp)
win32gui.SendMessage(handle, win32con.WM_LBUTTONUP,win32con.MK_LBUTTON,tmp)
#win32gui.SendMessage(handle, win32con.WM_RBUTTONDOWN,win32con.MK_LBUTTON,tmp)
#win32gui.SendMessage(handle, win32con.WM_RBUTTONUP,win32con.MK_LBUTTON,tmp)
# 移動(dòng)右擊
def move_right_click(self,x,y):
xyq_util.__move__(self,x,y)
xyq_util.__right_click__(self,x,y)
xyq_util.sleep(self)
# 移動(dòng)左擊
def move_left_click(self,x,y):
xyq_util.__move__(self,x,y)
xyq_util.__left_click__(self,x,y)
xyq_util.sleep(self)
# 睡眠0.5s
def sleep(self):
xyq_util.sleep_time(self,0.7)
# 睡眠指定時(shí)間
def sleep_time(self,seconds):
time.sleep(seconds)
# 窗口截圖
def save_image(self):
#獲取窗口句柄
pos = win32api.GetCursorPos()
hWnd= win32gui.WindowFromPoint(pos)
#獲取句柄窗口的大小信息
left, top, right, bot = win32gui.GetWindowRect(hWnd)
width = right - left
height = bot - top
#返回句柄窗口的設(shè)備環(huán)境蕾殴,覆蓋整個(gè)窗口,包括非客戶區(qū)徒爹,標(biāo)題欄诽俯,菜單诫硕,邊框
hWndDC = win32gui.GetWindowDC(hWnd)
#創(chuàng)建設(shè)備描述表
mfcDC = win32ui.CreateDCFromHandle(hWndDC)
#創(chuàng)建內(nèi)存設(shè)備描述表
saveDC = mfcDC.CreateCompatibleDC()
#創(chuàng)建位圖對(duì)象準(zhǔn)備保存圖片
saveBitMap = win32ui.CreateBitmap()
#為bitmap開辟存儲(chǔ)空間
saveBitMap.CreateCompatibleBitmap(mfcDC,width,height)
#將截圖保存到saveBitMap中
saveDC.SelectObject(saveBitMap)
#保存bitmap到內(nèi)存設(shè)備描述表
saveDC.BitBlt((0,0), (width,height), mfcDC, (0, 0), win32con.SRCCOPY)
###獲取位圖信息
bmpinfo = saveBitMap.GetInfo()
bmpstr = saveBitMap.GetBitmapBits(True)
###生成圖像
im_PIL = Image.frombuffer('RGB',(bmpinfo['bmWidth'],bmpinfo['bmHeight']),bmpstr,'raw','BGRX',0,1)
im_PIL.save("save.png") #保存
#im_PIL.show() #顯示
time.sleep(1)
Python 操作鼠標(biāo)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門两蟀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人震缭,你說我怎么就攤上這事赂毯。” “怎么了拣宰?”我有些...
- 文/不壞的土叔 我叫張陵党涕,是天一觀的道長。 經(jīng)常有香客問我巡社,道長膛堤,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任晌该,我火速辦了婚禮肥荔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘朝群。我一直安慰自己燕耿,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布姜胖。 她就那樣靜靜地躺著誉帅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪右莱。 梳的紋絲不亂的頭發(fā)上蚜锨,一...
- 文/蒼蘭香墨 我猛地睜開眼凄诞,長吁一口氣:“原來是場噩夢啊……” “哼圆雁!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起帆谍,我...
- 序言:老撾萬榮一對(duì)情侶失蹤伪朽,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后汛蝙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體烈涮,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年窖剑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了坚洽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
- 正文 年R本政府宣布,位于F島的核電站肋乍,受9級(jí)特大地震影響鹅颊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜住拭,卻給世界環(huán)境...
- 文/蒙蒙 一挪略、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧滔岳,春花似錦杠娱、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至刘离,卻和暖如春室叉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背硫惕。 一陣腳步聲響...
- 正文 我出身青樓踪旷,卻偏偏與公主長得像曼氛,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子令野,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 當(dāng)你需要執(zhí)行復(fù)雜的操作時(shí)舀患,比如將一個(gè)元素按住拖動(dòng)到另一個(gè)元素上去,需要移動(dòng)鼠標(biāo)然后點(diǎn)擊并按下鍵盤某個(gè)按鍵等等气破。 當(dāng)...
- 一现使、Selenium之鼠標(biāo)操作和鍵盤操作 1.鼠標(biāo)事件在webdriver中低匙,鼠標(biāo)操作的方法封裝在 ActionC...
- 一、實(shí)現(xiàn)目標(biāo) ??在OpenCV中通過鼠標(biāo)左鍵拖拽移動(dòng)圖片朴下,通過鼠標(biāo)滾輪前后旋轉(zhuǎn)放大縮小圖片努咐。 二、實(shí)現(xiàn)背景 ??...
- python中的庫可以模擬鼠標(biāo)點(diǎn)擊和鍵盤輸入的動(dòng)作。所以我們需要告訴程序在哪里點(diǎn)擊团滥,單機(jī)還是雙擊竿屹,點(diǎn)右鍵還是左鍵,...