import ctypes
from win32com.client import Dispatch
class AoJia:
def __init__(self, ARegJ32DLLPath, AoJia32DLLPath):
"""
用于初始化奥迦对象
"""
try:
AJ = Dispatch('AoJia.AoJiaD')
print('本机系统中已安装奥迦插件')
except:
print('本机并未安装奥迦插件,使用指定路径DLL进行初始化')
ARegJ = ctypes.windll.LoadLibrary(ARegJ32DLLPath)
ARegJ.SetDllPathW(AoJia32DLLPath, 0)
AJ = Dispatch('AoJia.AoJiaD')
if AJ:
self.AJ = AJ
print('初始化奥迦成功,版本为:', self.VerS())
else:
print('初始化奥迦失败!')
def VerS(self):
return self.AJ.VerS()
# 窗口
if 1:
def CreateWindows(self, x, y, Width, Height, EWidth, EHeight, Type=1):
"""
:param x:
:param y:
:param Width:
:param Height:
:param EWidth:
:param EHeight:
:param Type:
:return:
"""
return self.AJ.CreateWindows(x, y, Width, Height, EWidth, EHeight, Type)
def SetWindowState(self, Hwnd, Type=2):
"""
设置窗口的状态
Type: 整数,只能是下面列出的值之一:
0: 关闭窗口
1: 激活窗口并在桌面最前面显示,如果激活后需要进行前台输入,有的窗口还需要单击一下才能顺利进行前台输入
2: 禁用窗口或控件接收键鼠输入
3: 启用窗口或控件接收键鼠输入
4: 最小化窗口,但不激活
5: 最小化窗口,同时激活窗口
6: 最大化窗口
7: 恢复最小化或最大化的窗口到原来的大小和位置,但不激活
8: 恢复最小化或最大化的窗口到原来的大小和位置,同时激活窗口
9: 隐藏窗口,隐藏后窗口会变成不可见窗口从桌面和任务栏消失,这时用FindWindow找不到被隐藏的窗口句柄,要用FindWindowEx并把参数Visible设为0才能找到
10: 显示隐藏的窗口,配合9使用
11: 置顶窗口
12: 取消置顶窗口
13: 闪烁窗口在任务栏的按钮
14: 使窗口获得输入焦点
15: 结束窗口所在进程
16: 在窗口上启用模糊效果
17: 在窗口上关闭模糊效果
18: 隐藏窗口在任务栏的图标
19: 显示窗口在任务栏的图标
:param Hwnd:
:param Type:
:return:
"""
return self.AJ.SetWindowState(Hwnd, Type)
def SetWindowTransparent(self, Hwnd, Color="E6E6E6", Tp=0, Type=0):
"""
设置窗口的透明度以及让某种颜色的像素不显示
:param Hwnd:
:param Color:
:param Tp:
:param Type:
:return:
"""
return self.AJ.SetWindowTransparent(Hwnd, Color, Tp, Type)
def DrawText(self, Hwnd, x1, y1, x2, y2, Text, Color="E6E6E6", BkColor="", Type=0):
"""
在创建的窗口内显示文字
:param Hwnd:
:param x1:
:param y1:
:param x2:
:param y2:
:param Text:
:param Color:
:param BkColor:
:param Type:
:return:
"""
return self.AJ.DrawText(Hwnd, x1, y1, x2, y2, Text, Color, BkColor, Type)
if __name__ == '__main__':
aj = AoJia() 版权属于:CuteKitty
本文链接:https://blog.cutekitty.cn/index.php/archives/8/
作品采用
知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可