一、user32下的blockinput方式实现禁止外部命令输入
python代码(使用user32下的方式blockinput方式禁止外部命令输入):
#coding=utf-8
from ctypes import *
import time
#Block All Input
windll.user32.BlockInput(1)
#模拟鼠标操作
windll.user32.SetCursorPos(100, 100)
time.sleep(15)
time.sleep(3)
#Unblock input
windll.user32.BlockInput(0)
注释:AutoItX中也有blockinput,但是在window7下调用不成功:报错为 in BlockInput
return self._oleobj_.InvokeTypes(16, LCID, 1, (24, 0), ((3, 1),),nFlag
pywintypes.com_error: (-2147352573, '\xd5\xd2\xb2\xbb\xb5\xbd\xb3\xc9\xd4\xb1\xa1\xa3', None, None)
import win32api
import win32gui
import win32con
import time
import ctypes
def click1(x,y): #第一种
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
def click2(x,y): #第二种
ctypes.windll.user32.SetCursorPos(x,y)
ctypes.windll.user32.mouse_event(2,0,0,0,0)
ctypes.windll.user32.mouse_event(4,0,0,0,0)
def click_it(pos): #第三种
handle= win32gui.WindowFromPoint(pos)
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)
二、模式鼠标的方式有如下几种:
参考如下链接:
https://blog.csdn.net/qq_41703291/article/details/80456600