简介:
本文档提供一个完整的插件注册和窗口绑定示例,展示如何正确使用本COM组件。
使用步骤:
1. 创建COM对象实例
2. 调用Reg函数注册软件
3. 查找目标窗口句柄
4. 调用BindWindow绑定窗口
5. 执行各种操作(图色、键盘鼠标等)
6. 调用UnBindWindow解绑窗口
C++示例代码:
#include
#include "qql.h"
#include "obj.h"
int main() {
CoInitialize(NULL);
qqlsoft* g_lw = new qqlsoft();
// 步骤1: 注册软件
long ret = g_lw->Reg("你的注册码", "");
if (ret != 1) {
switch(ret) {
case -1: printf("无法连接网络\n"); break;
case 0: printf("注册失败(未知错误)\n"); break;
case 2: printf("余额不足\n"); break;
case 3: printf("注册码错误\n"); break;
case 4: printf("机器或IP在黑名单中\n"); break;
case 777: printf("注册次数超过限制\n"); break;
}
delete g_lw;
CoUninitialize();
return -1;
}
printf("注册成功\n");
// 步骤2: 查找目标窗口
long hwnd = g_lw->FindWindow("窗口类名", "窗口标题");
if (hwnd == 0) {
printf("未找到目标窗口\n");
delete g_lw;
CoUninitialize();
return -1;
}
printf("找到窗口句柄: %d\n", hwnd);
// 步骤3: 绑定窗口
ret = g_lw->BindWindow(hwnd, "normal", "normal", "normal");
if (ret != 1) {
printf("绑定窗口失败,错误码: %d\n", ret);
delete g_lw;
CoUninitialize();
return -1;
}
printf("绑定窗口成功\n");
// 步骤4: 执行操作示例
long x = 0, y = 0;
ret = g_lw->FindColor(0, 0, 1920, 1080, "123456", 0.9, 0, &x, &y);
if (ret == 1) {
printf("找到颜色,坐标: (%d, %d)\n", x, y);
g_lw->MoveTo(x, y);
g_lw->LeftClick();
}
// 步骤5: 解绑窗口
g_lw->UnBindWindow();
printf("解绑窗口成功\n");
// 步骤6: 清理资源
delete g_lw;
CoUninitialize();
return 0;
}
BindWindow参数说明:
display (截图方式):
normal - 前台截图
gdi - GDI截图
gdi2 - GDI截图(增强)
dx - DX截图
dx2 - DX截图(增强)
dx3 - DX截图(增强)
mouse (鼠标模式):
normal - 前台模式
windows - Windows消息模式
mouse_position_lock_api - 鼠标焦点锁定API
mouse_focus_input_api - 鼠标位置锁定API
mouse_input_lock_api - 鼠标区域锁定API
mouse_state_api - DX鼠标锁定API
keypad (键盘模式):
normal - 前台模式
windows - Windows消息模式
keypad_raw_input - 键盘原始输入API
public_active_api2 - 键盘鼠标状态锁定API
public_active_api - DX键盘锁定API
注意事项:
1. 必须先注册成功后才能使用其他功能
2. 操作窗口前必须先绑定窗口
3. 程序退出前应解绑窗口并释放COM对象
4. 建议在绑定窗口后再进行图色、键盘鼠标等操作
5. 不同的截图模式和键鼠模式适用于不同的窗口类型,需根据实际情况选择