Skip to content

hwnd_ is invalid #5

@smile-shark

Description

@smile-shark

按照官方示例,我想要将Adb的改为使用Win32的,感觉用法差不多,但是一直没有成功主要报错就是

[2025-12-23 00:09:28.441][ERR][Px2548][Tx22517][ControlUnitMgr.cpp][L30][MaaNS::CtrlUnitNs::ControlUnitMgr::connect] hwnd_ is invalid 
[2025-12-23 00:09:28.441][ERR][Px2548][Tx22517][GeneralControllerAgent.cpp][L30][MaaNS::ControllerNS::GeneralControllerAgent::_connect] controller connect failed 
连接失败。

控制台整体日志

00:09:27.882 [main] INFO com.smileshark.main.WindowTest -- ...
00:09:28.428 [main] INFO io.github.hanhuoer.maa.Maa -- [maa] set logDir: E:\quantification\resources\debug, result: true
00:09:28.430 [main] INFO io.github.hanhuoer.maa.Maa -- [maa] set recording: false, result: true
00:09:28.430 [main] INFO io.github.hanhuoer.maa.Maa -- [maa] set debugMessage: false, result: true
00:09:28.430 [main] INFO io.github.hanhuoer.maa.Maa -- [maa] set saveDraw: false, result: true
00:09:28.430 [main] INFO io.github.hanhuoer.maa.Maa -- [maa] set stdoutLevel: INFO, result: true
[2025-12-23 00:09:28.430][INF][Px2548][Tx7145][GlobalOptionMgr.cpp][L72][MaaNS::GlobalOptionMgr::set_show_hit_draw] Set show_hit_draw [show_hit_draw_=false] 
00:09:28.430 [main] INFO io.github.hanhuoer.maa.Maa -- [maa] set showHitDraw: false, result: true
00:09:28.430 [main] INFO io.github.hanhuoer.maa.Maa -- Maa v3.0.4 created successfully.
00:09:28.430 [main] INFO io.github.hanhuoer.maa.Maa -- adb killer registered.
chrom = 计算字符数|获取字符串长度 - Google Chrome
[2025-12-23 00:09:28.435][INF][Px2548][Tx7145][LibraryHolder.h][L64][MaaNS::LibraryHolder<class MaaNS::Win32ControlUnitLibraryHolder>::load_library] Loading library [libname=E:/quantification/resources/maa/lib/MaaWin32ControlUnit] 
[2025-12-23 00:09:28.440][INF][Px2548][Tx7145][ControlUnit.cpp][L22][MaaNS::check_version] class MaaNS::Win32ControlUnitLibraryHolder Library version: v3.0.4 
[2025-12-23 00:09:28.441][ERR][Px2548][Tx22517][ControlUnitMgr.cpp][L30][MaaNS::CtrlUnitNs::ControlUnitMgr::connect] hwnd_ is invalid 
[2025-12-23 00:09:28.441][ERR][Px2548][Tx22517][GeneralControllerAgent.cpp][L30][MaaNS::ControllerNS::GeneralControllerAgent::_connect] controller connect failed 
连接失败。
[2025-12-23 00:09:28.457][INF][Px2548][Tx7145][ResourceMgr.cpp][L50][MaaNS::ResourceNS::ResourceMgr::post_bundle] [path=E:/quantification/resources/resource] 
[2025-12-23 00:09:28.458][INF][Px2548][Tx10307][ResourceMgr.cpp][L265][MaaNS::ResourceNS::ResourceMgr::available_providers] [all_providers_vec=["DmlExecutionProvider","CPUExecutionProvider"]] 
[2025-12-23 00:09:28.458][INF][Px2548][Tx10307][ResourceMgr.cpp][L293][MaaNS::ResourceNS::ResourceMgr::available_providers] [s_provider_cache=[2,1]] 
[2025-12-23 00:09:28.463][INF][Px2548][Tx10307][GpuOptionWin32.cpp][L179][MaaNS::perfer_gpu] [adapter_index=0] [adapter_desc=NVIDIA GeForce RTX 4060 Laptop GPU] 
[2025-12-23 00:09:29.045][INF][Px2548][Tx10307][GpuOptionWin32.cpp][L218][MaaNS::perfer_gpu] prefer adapter found [adapter_index=0] [adapter_desc=NVIDIA GeForce RTX 4060 Laptop GPU] [instance_path=PCI\VEN_10DE&DEV_28E0&SUBSYS_199D1043&REV_A1\4&2c051a49&0&0009] 
[2025-12-23 00:09:29.045][INF][Px2548][Tx10307][ONNXResMgr.cpp][L67][MaaNS::ResourceNS::ONNXResMgr::use_directml] [device_id=0] 
[2025-12-23 00:09:29.159][INF][Px2548][Tx10307][ONNXResMgr.cpp][L83][MaaNS::ResourceNS::ONNXResMgr::use_directml] Using DML execution provider with device_id 0 
[2025-12-23 00:09:29.159][INF][Px2548][Tx10307][OCRResMgr.cpp][L39][MaaNS::ResourceNS::OCRResMgr::use_directml] [device_id=0] 
[2025-12-23 00:09:29.159][WRN][Px2548][Tx10307][PipelineResMgr.cpp][L45][MaaNS::ResourceNS::PipelineResMgr::load_all_json] path not exists [path=E:/quantification/resources/resource/pipeline] 
[2025-12-23 00:09:29.159][INF][Px2548][Tx10307][ResourceMgr.cpp][L527][MaaNS::ResourceNS::ResourceMgr::load] [path=E:/quantification/resources/resource] [ret=true] 
[2025-12-23 00:09:29.159][INF][Px2548][Tx10307][ResourceMgr.cpp][L147][MaaNS::ResourceNS::ResourceMgr::calc_hash] [hash_cache_=0] 
[2025-12-23 00:09:29.160][INF][Px2548][Tx7145][Tasker.cpp][L33][MaaNS::Tasker::bind_resource] [this=0000022B968A0E10] [resource=0000022B95C43740] 
[2025-12-23 00:09:29.160][INF][Px2548][Tx7145][Tasker.cpp][L47][MaaNS::Tasker::bind_controller] [this=0000022B968A0E10] [controller=0000022B95E41C30] 
MAA初始化失败。
00:09:29.161 [Thread-0] INFO io.github.hanhuoer.maa.Maa -- killing adb process.
00:09:29.169 [Thread-0] INFO io.github.hanhuoer.maa.Maa -- adb process has been killed.

示例代码:

    public static void main(String[] args) {
        // 记录日志信息
        log.info("...");
        // 创建Maa选项对象
        MaaOptions options = new MaaOptions();
//        // 设置在关闭时不清除adb连接
//        options.setKillAdbOnShutdown(false);
//        options.setStdoutLevel(MaaLoggingLevelEunm.INFO);
        // 创建Maa实例
        Maa maa = Maa.create(options);

        // 查找ADB设备列表
//        List<AdbInfo> deviceList = AdbController.find();
//        // 如果没有找到设备,则打印提示信息并返回
//        if (CollectionUtils.isEmpty(deviceList)) {
//            System.out.println("未找到ADB设备。");
//            return;
//        }

        // 为了演示,我们只使用第一个设备
//        AdbInfo device = deviceList.get(0);
        // 创建ADB控制器实例
//        AdbController controller = new AdbController(device);

        Win32Info chrome = Win32Controller.listInfo().stream().filter(win32Info -> win32Info.getWindowName().contains("Chrome"))
                .findFirst()
                .orElse(null);
        System.out.println("chrom = " + chrome.getWindowName());;
        Win32Controller win32Controller = new Win32Controller(chrome.getHandle(),
                MaaWin32ScreencapMethodEnum.FRAME_POOL, null, null, null);
        Future future = win32Controller.postConnection().waiting();
        boolean succeeded = future.succeeded();

        // 连接设备并等待结果
//        Future waiting = controller.postConnection().waiting();
//        boolean succeeded = waiting.succeeded();
        // 如果连接失败,打印提示信息
        if (!succeeded) {
            System.out.println("连接失败。");
        }

        // 创建资源对象
        Resource resource = new Resource();
        // 设置资源路径并等待加载完成
        resource.postPath(FileUtils.joinUserDir("resources", "resource").getAbsolutePath())
                .waiting();

        // 创建任务执行器
        Tasker tasker = new Tasker();
        // 绑定控制器和资源
        tasker.bind(win32Controller, resource);

        // 检查任务执行器是否初始化成功
        if (!tasker.inited()) {
            System.out.println("MAA初始化失败。");
            return;
        }

        System.out.println("MAA初始化成功。");
        // 注册自定义识别器
        resource.registerRecognition("MyRec", new MyRecognizer());
//        resource.registerAction("MyAct", new MyAction());

//        tasker.runTask("StartUpAndClickButton");
        // 执行管道任务"MyTask"并等待完成
        TaskFuture<TaskDetail> myTask = tasker.postPipeline("MyTask").waiting();
        // 等待10秒
//        Thread.sleep(10 * 1000);
        // 获取任务详情
        TaskDetail taskDetail = myTask.get();
        System.out.println(taskDetail);

        System.out.println("结束。");
    }

    // 自定义识别类
    public static class MyRecognizer extends CustomRecognition {

        @Override
        public AnalyzeResult analyze(Context context, AnalyzeArg arg) {
            // 创建JSON对象用于覆盖配置
            JSONObject overrideJson = new JSONObject();
            // 设置自定义OCR的感兴趣区域(ROI)
            overrideJson.put("MyCustomOCR", new JSONObject(Map.of("roi", new int[]{100, 100, 200, 300})));
            // 运行识别并获取详细信息
            RecognitionDetail detail = context.runRecognition("MyCustomOCR", arg.getImage(), overrideJson);
            System.out.println("上下文识别详情: " + detail);

            // context是一个引用,将覆盖整个任务的管道配置
            JSONObject overrideJson2 = new JSONObject();
            overrideJson2.put("MyCustomOCR", new JSONObject(Map.of("roi", new int[]{1, 1, 114, 514})));
            // 覆盖管道配置并获取结果
            boolean contextOverridePipelineResult = context.overridePipeline(overrideJson2);
            System.out.println("上下文覆盖结果: " + contextOverridePipelineResult);
            // context.runRecognition ...

            // 创建新的上下文来覆盖管道配置,仅作用于自身
            // copy方法与Python绑定中的clone方法相同
            Context newContext = context.copy();
            JSONObject overrideJson3 = new JSONObject();
            overrideJson3.put("MyCustomOCR", new JSONObject(Map.of("roi", new int[]{100, 200, 300, 400})));
            // 在新上下文中覆盖管道配置
            newContext.overridePipeline(overrideJson3);
            // 使用新上下文运行识别
            RecognitionDetail recoDetail = newContext.runRecognition("MyCustomOCR", arg.getImage());
            System.out.println("新上下文识别详情: " + recoDetail);

            // 发送点击指令(坐标10,20)并等待完成
            Future clickFuture = context.tasker().controller().postClick(10, 20);
            clickFuture.waiting();

            // 覆盖下一个要执行的任务
            context.overrideNext(arg.getCurrentTaskName(), List.of("TaskA", "TaskB"));

            // 返回分析结果,包括边界框和详细信息
            return new AnalyzeResult()
                    .setBox(new Rect().setX(0).setY(0).setW(100).setH(100))
                    .setDetail("Hello World!");
        }
    }

maa.log

[2025-12-23 00:13:29.256][DBG][Px30816][Tx36286][Logger] ----------------------------- 
[2025-12-23 00:13:29.256][DBG][Px30816][Tx36286][Logger] MAA Process Start 
[2025-12-23 00:13:29.256][DBG][Px30816][Tx36286][Logger] Version v3.0.4 
[2025-12-23 00:13:29.256][DBG][Px30816][Tx36286][Logger] Built at Feb 17 2025 06:43:04 
[2025-12-23 00:13:29.256][DBG][Px30816][Tx36286][Logger] Windows x64 
[2025-12-23 00:13:29.256][DBG][Px30816][Tx36286][Logger] Working E:/quantification 
[2025-12-23 00:13:29.256][DBG][Px30816][Tx36286][Logger] Logging E:/quantification/resources/debug/maa.log 
[2025-12-23 00:13:29.257][DBG][Px30816][Tx36286][Logger] ----------------------------- 
[2025-12-23 00:13:29.257][TRC][Px30816][Tx36286][GlobalOptionMgr.cpp][L33][MaaNS::GlobalOptionMgr::set_log_dir] | leave, 0ms 
[2025-12-23 00:13:29.257][TRC][Px30816][Tx36286][GlobalOptionMgr.cpp][L10][MaaNS::GlobalOptionMgr::set_option] | leave, 0ms 
[2025-12-23 00:13:29.257][TRC][Px30816][Tx36286][MaaUtility.cpp][L15][MaaSetGlobalOption] | leave, 1ms 
[2025-12-23 00:13:29.258][DBG][Px30816][Tx36286][MaaUtility.cpp][L15][MaaSetGlobalOption] [key=3] [value=0000025EC60FDAD0] [val_size=1] | enter 
[2025-12-23 00:13:29.258][DBG][Px30816][Tx36286][GlobalOptionMgr.cpp][L10][MaaNS::GlobalOptionMgr::set_option] [key=3] [value=0000025EC60FDAD0] [val_size=1] | enter 
[2025-12-23 00:13:29.258][DBG][Px30816][Tx36286][GlobalOptionMgr.cpp][L79][MaaNS::GlobalOptionMgr::set_recording] | enter 
[2025-12-23 00:13:29.258][INF][Px30816][Tx36286][GlobalOptionMgr.cpp][L88][MaaNS::GlobalOptionMgr::set_recording] Set recording [recording_=false] 
[2025-12-23 00:13:29.258][TRC][Px30816][Tx36286][GlobalOptionMgr.cpp][L79][MaaNS::GlobalOptionMgr::set_recording] | leave, 0ms 
[2025-12-23 00:13:29.258][TRC][Px30816][Tx36286][GlobalOptionMgr.cpp][L10][MaaNS::GlobalOptionMgr::set_option] | leave, 0ms 
[2025-12-23 00:13:29.258][TRC][Px30816][Tx36286][MaaUtility.cpp][L15][MaaSetGlobalOption] | leave, 0ms 
[2025-12-23 00:13:29.258][DBG][Px30816][Tx36286][MaaUtility.cpp][L15][MaaSetGlobalOption] [key=6] [value=0000025EC60FDA50] [val_size=1] | enter 
[2025-12-23 00:13:29.258][DBG][Px30816][Tx36286][GlobalOptionMgr.cpp][L10][MaaNS::GlobalOptionMgr::set_option] [key=6] [value=0000025EC60FDA50] [val_size=1] | enter 
[2025-12-23 00:13:29.258][DBG][Px30816][Tx36286][GlobalOptionMgr.cpp][L113][MaaNS::GlobalOptionMgr::set_debug_mode] | enter 
[2025-12-23 00:13:29.258][INF][Px30816][Tx36286][GlobalOptionMgr.cpp][L122][MaaNS::GlobalOptionMgr::set_debug_mode] Set debug message [debug_mode_=false] 
[2025-12-23 00:13:29.258][TRC][Px30816][Tx36286][GlobalOptionMgr.cpp][L113][MaaNS::GlobalOptionMgr::set_debug_mode] | leave, 0ms 
[2025-12-23 00:13:29.258][TRC][Px30816][Tx36286][GlobalOptionMgr.cpp][L10][MaaNS::GlobalOptionMgr::set_option] | leave, 0ms 
[2025-12-23 00:13:29.258][TRC][Px30816][Tx36286][MaaUtility.cpp][L15][MaaSetGlobalOption] | leave, 0ms 
[2025-12-23 00:13:29.258][DBG][Px30816][Tx36286][MaaUtility.cpp][L15][MaaSetGlobalOption] [key=2] [value=0000025EC6112D90] [val_size=1] | enter 
[2025-12-23 00:13:29.258][DBG][Px30816][Tx36286][GlobalOptionMgr.cpp][L10][MaaNS::GlobalOptionMgr::set_option] [key=2] [value=0000025EC6112D90] [val_size=1] | enter 
[2025-12-23 00:13:29.258][DBG][Px30816][Tx36286][GlobalOptionMgr.cpp][L47][MaaNS::GlobalOptionMgr::set_save_draw] | enter 
[2025-12-23 00:13:29.258][INF][Px30816][Tx36286][GlobalOptionMgr.cpp][L56][MaaNS::GlobalOptionMgr::set_save_draw] Set save draw [save_draw_=false] 
[2025-12-23 00:13:29.258][TRC][Px30816][Tx36286][GlobalOptionMgr.cpp][L47][MaaNS::GlobalOptionMgr::set_save_draw] | leave, 0ms 
[2025-12-23 00:13:29.258][TRC][Px30816][Tx36286][GlobalOptionMgr.cpp][L10][MaaNS::GlobalOptionMgr::set_option] | leave, 0ms 
[2025-12-23 00:13:29.258][TRC][Px30816][Tx36286][MaaUtility.cpp][L15][MaaSetGlobalOption] | leave, 0ms 
[2025-12-23 00:13:29.258][DBG][Px30816][Tx36286][MaaUtility.cpp][L15][MaaSetGlobalOption] [key=4] [value=0000025EC6112DB0] [val_size=4] | enter 
[2025-12-23 00:13:29.258][DBG][Px30816][Tx36286][GlobalOptionMgr.cpp][L10][MaaNS::GlobalOptionMgr::set_option] [key=4] [value=0000025EC6112DB0] [val_size=4] | enter 
[2025-12-23 00:13:29.258][DBG][Px30816][Tx36286][GlobalOptionMgr.cpp][L95][MaaNS::GlobalOptionMgr::set_stdout_level] | enter 
[2025-12-23 00:13:29.258][INF][Px30816][Tx36286][GlobalOptionMgr.cpp][L104][MaaNS::GlobalOptionMgr::set_stdout_level] Set log stdout level [level=4] 
[2025-12-23 00:13:29.258][TRC][Px30816][Tx36286][GlobalOptionMgr.cpp][L95][MaaNS::GlobalOptionMgr::set_stdout_level] | leave, 0ms 
[2025-12-23 00:13:29.258][TRC][Px30816][Tx36286][GlobalOptionMgr.cpp][L10][MaaNS::GlobalOptionMgr::set_option] | leave, 0ms 
[2025-12-23 00:13:29.258][TRC][Px30816][Tx36286][MaaUtility.cpp][L15][MaaSetGlobalOption] | leave, 0ms 
[2025-12-23 00:13:29.258][DBG][Px30816][Tx36286][MaaUtility.cpp][L15][MaaSetGlobalOption] [key=5] [value=0000025EC6112D70] [val_size=1] | enter 
[2025-12-23 00:13:29.258][DBG][Px30816][Tx36286][GlobalOptionMgr.cpp][L10][MaaNS::GlobalOptionMgr::set_option] [key=5] [value=0000025EC6112D70] [val_size=1] | enter 
[2025-12-23 00:13:29.258][DBG][Px30816][Tx36286][GlobalOptionMgr.cpp][L63][MaaNS::GlobalOptionMgr::set_show_hit_draw] | enter 
[2025-12-23 00:13:29.258][INF][Px30816][Tx36286][GlobalOptionMgr.cpp][L72][MaaNS::GlobalOptionMgr::set_show_hit_draw] Set show_hit_draw [show_hit_draw_=false] 
[2025-12-23 00:13:29.258][TRC][Px30816][Tx36286][GlobalOptionMgr.cpp][L63][MaaNS::GlobalOptionMgr::set_show_hit_draw] | leave, 0ms 
[2025-12-23 00:13:29.258][TRC][Px30816][Tx36286][GlobalOptionMgr.cpp][L10][MaaNS::GlobalOptionMgr::set_option] | leave, 0ms 
[2025-12-23 00:13:29.258][TRC][Px30816][Tx36286][MaaUtility.cpp][L15][MaaSetGlobalOption] | leave, 0ms 
[2025-12-23 00:13:29.259][DBG][Px30816][Tx36286][DesktopWindowWin32Finder.cpp][L13][MaaNS::ToolkitNS::DesktopWindowWin32Finder::find_all] | enter 
[2025-12-23 00:13:29.260][TRC][Px30816][Tx36286][DesktopWindowWin32Finder.cpp][L13][MaaNS::ToolkitNS::DesktopWindowWin32Finder::find_all] | leave, 0ms 
[2025-12-23 00:13:29.264][DBG][Px30816][Tx36286][MaaController.cpp][L42][MaaWin32ControllerCreate] [hWnd=0000025EC612C110] [screencap_method=2606073195856] [input_method=2606073196224] [notify=0000000000000000] [notify_trans_arg=0000000000000000] | enter 
[2025-12-23 00:13:29.264][DBG][Px30816][Tx36286][LibraryHolder.h][L49][MaaNS::LibraryHolder<class MaaNS::Win32ControlUnitLibraryHolder>::load_library] [libname=E:/quantification/resources/maa/lib/MaaWin32ControlUnit] | enter 
[2025-12-23 00:13:29.264][INF][Px30816][Tx36286][LibraryHolder.h][L64][MaaNS::LibraryHolder<class MaaNS::Win32ControlUnitLibraryHolder>::load_library] Loading library [libname=E:/quantification/resources/maa/lib/MaaWin32ControlUnit] 
[2025-12-23 00:13:29.269][TRC][Px30816][Tx36286][LibraryHolder.h][L49][MaaNS::LibraryHolder<class MaaNS::Win32ControlUnitLibraryHolder>::load_library] | leave, 5ms 
[2025-12-23 00:13:29.269][DBG][Px30816][Tx36286][LibraryHolder.h][L115][MaaNS::LibraryHolder<class MaaNS::Win32ControlUnitLibraryHolder>::get_function] [func_name=MaaWin32ControlUnitGetVersion] | enter 
[2025-12-23 00:13:29.269][TRC][Px30816][Tx36286][LibraryHolder.h][L115][MaaNS::LibraryHolder<class MaaNS::Win32ControlUnitLibraryHolder>::get_function] | leave, 0ms 
[2025-12-23 00:13:29.269][INF][Px30816][Tx36286][ControlUnit.cpp][L22][MaaNS::check_version] class MaaNS::Win32ControlUnitLibraryHolder Library version: v3.0.4 
[2025-12-23 00:13:29.269][DBG][Px30816][Tx36286][LibraryHolder.h][L115][MaaNS::LibraryHolder<class MaaNS::Win32ControlUnitLibraryHolder>::get_function] [func_name=MaaWin32ControlUnitCreate] | enter 
[2025-12-23 00:13:29.269][TRC][Px30816][Tx36286][LibraryHolder.h][L115][MaaNS::LibraryHolder<class MaaNS::Win32ControlUnitLibraryHolder>::get_function] | leave, 0ms 
[2025-12-23 00:13:29.269][DBG][Px30816][Tx36286][LibraryHolder.h][L115][MaaNS::LibraryHolder<class MaaNS::Win32ControlUnitLibraryHolder>::get_function] [func_name=MaaWin32ControlUnitDestroy] | enter 
[2025-12-23 00:13:29.269][TRC][Px30816][Tx36286][LibraryHolder.h][L115][MaaNS::LibraryHolder<class MaaNS::Win32ControlUnitLibraryHolder>::get_function] | leave, 0ms 
[2025-12-23 00:13:29.269][DBG][Px30816][Tx36286][Win32ControlUnitAPI.cpp][L19][MaaWin32ControlUnitCreate] [hWnd=0000025EC612C110] [screencap_method=2606073195856] [input_method=2606073196224] | enter 
[2025-12-23 00:13:29.269][TRC][Px30816][Tx36286][Win32ControlUnitAPI.cpp][L19][MaaWin32ControlUnitCreate] | leave, 0ms 
[2025-12-23 00:13:29.269][DBG][Px30816][Tx36286][ControllerAgent.cpp][L16][MaaNS::ControllerNS::ControllerAgent::ControllerAgent] [notify=0000000000000000] [notify_trans_arg=0000000000000000] | enter 
[2025-12-23 00:13:29.269][TRC][Px30816][Tx36286][ControllerAgent.cpp][L16][MaaNS::ControllerNS::ControllerAgent::ControllerAgent] | leave, 0ms 
[2025-12-23 00:13:29.269][TRC][Px30816][Tx36286][MaaController.cpp][L42][MaaWin32ControllerCreate] | leave, 5ms 
[2025-12-23 00:13:29.270][DBG][Px30816][Tx36286][MaaController.cpp][L132][MaaControllerPostConnection] [ctrl=0000025EC6112F10] | enter 
[2025-12-23 00:13:29.270][TRC][Px30816][Tx36286][MaaController.cpp][L132][MaaControllerPostConnection] | leave, 0ms 
[2025-12-23 00:13:29.270][DBG][Px30816][Tx12081][Utils/MessageNotifier.hpp][L19][MaaNS::MessageNotifier::notify] [notify_=0000000000000000] [notify_trans_arg_=0000000000000000] [msg=Controller.Action.Starting] [details={
    "action": "connect",
    "ctrl_id": 400000001,
    "uuid": "0000025EC612C110"
}] | enter 
[2025-12-23 00:13:29.270][TRC][Px30816][Tx12081][Utils/MessageNotifier.hpp][L19][MaaNS::MessageNotifier::notify] | leave, 0ms 
[2025-12-23 00:13:29.270][DBG][Px30816][Tx12081][GeneralControllerAgent.cpp][L22][MaaNS::ControllerNS::GeneralControllerAgent::_connect] | enter 
[2025-12-23 00:13:29.270][ERR][Px30816][Tx12081][ControlUnitMgr.cpp][L30][MaaNS::CtrlUnitNs::ControlUnitMgr::connect] hwnd_ is invalid 
[2025-12-23 00:13:29.270][ERR][Px30816][Tx12081][GeneralControllerAgent.cpp][L30][MaaNS::ControllerNS::GeneralControllerAgent::_connect] controller connect failed 
[2025-12-23 00:13:29.270][TRC][Px30816][Tx12081][GeneralControllerAgent.cpp][L22][MaaNS::ControllerNS::GeneralControllerAgent::_connect] | leave, 0ms 
[2025-12-23 00:13:29.270][DBG][Px30816][Tx12081][Utils/MessageNotifier.hpp][L19][MaaNS::MessageNotifier::notify] [notify_=0000000000000000] [notify_trans_arg_=0000000000000000] [msg=Controller.Action.Failed] [details={
    "action": "connect",
    "ctrl_id": 400000001,
    "uuid": "0000025EC612C110"
}] | enter 
[2025-12-23 00:13:29.270][TRC][Px30816][Tx12081][Utils/MessageNotifier.hpp][L19][MaaNS::MessageNotifier::notify] | leave, 0ms 
[2025-12-23 00:13:29.274][DBG][Px30816][Tx36286][MaaResource.cpp][L12][MaaResourceCreate] [notify=0000000000000000] [notify_trans_arg=0000000000000000] | enter 
[2025-12-23 00:13:29.274][DBG][Px30816][Tx36286][OCRResMgr.cpp][L15][MaaNS::ResourceNS::OCRResMgr::OCRResMgr] | enter 
[2025-12-23 00:13:29.274][TRC][Px30816][Tx36286][OCRResMgr.cpp][L15][MaaNS::ResourceNS::OCRResMgr::OCRResMgr] | leave, 0ms 
[2025-12-23 00:13:29.288][DBG][Px30816][Tx36286][ResourceMgr.cpp][L16][MaaNS::ResourceNS::ResourceMgr::ResourceMgr] [notify=0000000000000000] [notify_trans_arg=0000000000000000] | enter 
[2025-12-23 00:13:29.288][TRC][Px30816][Tx36286][ResourceMgr.cpp][L16][MaaNS::ResourceNS::ResourceMgr::ResourceMgr] | leave, 0ms 
[2025-12-23 00:13:29.288][TRC][Px30816][Tx36286][MaaResource.cpp][L12][MaaResourceCreate] | leave, 14ms 
[2025-12-23 00:13:29.288][DBG][Px30816][Tx36286][MaaResource.cpp][L109][MaaResourcePostBundle] [res=0000025EC5F3EEC0] [path=E:\quantification\resources\resource] | enter 
[2025-12-23 00:13:29.288][INF][Px30816][Tx36286][ResourceMgr.cpp][L50][MaaNS::ResourceNS::ResourceMgr::post_bundle] [path=E:/quantification/resources/resource] 
[2025-12-23 00:13:29.288][TRC][Px30816][Tx36286][MaaResource.cpp][L109][MaaResourcePostBundle] | leave, 0ms 
[2025-12-23 00:13:29.288][DBG][Px30816][Tx57448][ResourceMgr.cpp][L488][MaaNS::ResourceNS::ResourceMgr::run_load] [id=400000001] [path=E:/quantification/resources/resource] | enter 
[2025-12-23 00:13:29.288][DBG][Px30816][Tx57448][Utils/MessageNotifier.hpp][L19][MaaNS::MessageNotifier::notify] [notify_=0000000000000000] [notify_trans_arg_=0000000000000000] [msg=Resource.Loading.Starting] [details={
    "hash": "",
    "path": "E:/quantification/resources/resource",
    "res_id": 400000001
}] | enter 
[2025-12-23 00:13:29.288][TRC][Px30816][Tx57448][Utils/MessageNotifier.hpp][L19][MaaNS::MessageNotifier::notify] | leave, 0ms 
[2025-12-23 00:13:29.288][DBG][Px30816][Tx57448][ResourceMgr.cpp][L509][MaaNS::ResourceNS::ResourceMgr::load] [path=E:/quantification/resources/resource] | enter 
[2025-12-23 00:13:29.288][INF][Px30816][Tx57448][ResourceMgr.cpp][L265][MaaNS::ResourceNS::ResourceMgr::available_providers] [all_providers_vec=["DmlExecutionProvider","CPUExecutionProvider"]] 
[2025-12-23 00:13:29.288][INF][Px30816][Tx57448][ResourceMgr.cpp][L293][MaaNS::ResourceNS::ResourceMgr::available_providers] [s_provider_cache=[2,1]] 
[2025-12-23 00:13:29.288][TRC][Px30816][Tx57448][GpuOptionWin32.cpp][L137][MaaNS::perfer_gpu] 
[2025-12-23 00:13:29.294][INF][Px30816][Tx57448][GpuOptionWin32.cpp][L179][MaaNS::perfer_gpu] [adapter_index=0] [adapter_desc=NVIDIA GeForce RTX 4060 Laptop GPU] 
[2025-12-23 00:13:29.876][TRC][Px30816][Tx57448][GpuOptionWin32.cpp][L21][MaaNS::adapter_instance_path] 
[2025-12-23 00:13:29.877][DBG][Px30816][Tx57448][GpuOptionWin32.cpp][L48][MaaNS::adapter_instance_path] [result=PCI\VEN_10DE&DEV_28E0&SUBSYS_199D1043&REV_A1\4&2c051a49&0&0009] 
[2025-12-23 00:13:29.877][TRC][Px30816][Tx57448][GpuOptionWin32.cpp][L54][MaaNS::gpu_driver_date] 
[2025-12-23 00:13:29.877][DBG][Px30816][Tx57448][GpuOptionWin32.cpp][L83][MaaNS::gpu_driver_date] [system_time.wYear=2024] [system_time.wMonth=2] [system_time.wDay=22] 
[2025-12-23 00:13:29.877][TRC][Px30816][Tx57448][GpuOptionWin32.cpp][L89][MaaNS::is_indirect_display_adapter] 
[2025-12-23 00:13:29.877][DBG][Px30816][Tx57448][GpuOptionWin32.cpp][L114][MaaNS::is_indirect_display_adapter] RegQueryValueExW 1 failed [ret=2] [type=0] [size=0] 
[2025-12-23 00:13:29.877][INF][Px30816][Tx57448][GpuOptionWin32.cpp][L218][MaaNS::perfer_gpu] prefer adapter found [adapter_index=0] [adapter_desc=NVIDIA GeForce RTX 4060 Laptop GPU] [instance_path=PCI\VEN_10DE&DEV_28E0&SUBSYS_199D1043&REV_A1\4&2c051a49&0&0009] 
[2025-12-23 00:13:29.877][INF][Px30816][Tx57448][ONNXResMgr.cpp][L67][MaaNS::ResourceNS::ONNXResMgr::use_directml] [device_id=0] 
[2025-12-23 00:13:30.012][INF][Px30816][Tx57448][ONNXResMgr.cpp][L83][MaaNS::ResourceNS::ONNXResMgr::use_directml] Using DML execution provider with device_id 0 
[2025-12-23 00:13:30.012][INF][Px30816][Tx57448][OCRResMgr.cpp][L39][MaaNS::ResourceNS::OCRResMgr::use_directml] [device_id=0] 
[2025-12-23 00:13:30.012][DBG][Px30816][Tx57448][DefaultPipelineMgr.cpp][L14][MaaNS::ResourceNS::DefaultPipelineMgr::load] [path=E:/quantification/resources/resource/default_pipeline.json] | enter 
[2025-12-23 00:13:30.012][DBG][Px30816][Tx57448][DefaultPipelineMgr.cpp][L18][MaaNS::ResourceNS::DefaultPipelineMgr::load] path not exists [path=E:/quantification/resources/resource/default_pipeline.json] 
[2025-12-23 00:13:30.012][TRC][Px30816][Tx57448][DefaultPipelineMgr.cpp][L14][MaaNS::ResourceNS::DefaultPipelineMgr::load] | leave, 0ms 
[2025-12-23 00:13:30.012][DBG][Px30816][Tx57448][PipelineResMgr.cpp][L13][MaaNS::ResourceNS::PipelineResMgr::load] [path=E:/quantification/resources/resource/pipeline] [is_base=false] | enter 
[2025-12-23 00:13:30.012][WRN][Px30816][Tx57448][PipelineResMgr.cpp][L45][MaaNS::ResourceNS::PipelineResMgr::load_all_json] path not exists [path=E:/quantification/resources/resource/pipeline] 
[2025-12-23 00:13:30.012][DBG][Px30816][Tx57448][PipelineResMgr.cpp][L118][MaaNS::ResourceNS::PipelineResMgr::check_all_validity] | enter 
[2025-12-23 00:13:30.012][DBG][Px30816][Tx57448][PipelineResMgr.cpp][L128][MaaNS::ResourceNS::PipelineResMgr::check_all_next_list] | enter 
[2025-12-23 00:13:30.012][TRC][Px30816][Tx57448][PipelineResMgr.cpp][L128][MaaNS::ResourceNS::PipelineResMgr::check_all_next_list] | leave, 0ms 
[2025-12-23 00:13:30.012][DBG][Px30816][Tx57448][PipelineResMgr.cpp][L160][MaaNS::ResourceNS::PipelineResMgr::check_all_regex] | enter 
[2025-12-23 00:13:30.012][TRC][Px30816][Tx57448][PipelineResMgr.cpp][L160][MaaNS::ResourceNS::PipelineResMgr::check_all_regex] | leave, 0ms 
[2025-12-23 00:13:30.012][TRC][Px30816][Tx57448][PipelineResMgr.cpp][L118][MaaNS::ResourceNS::PipelineResMgr::check_all_validity] | leave, 0ms 
[2025-12-23 00:13:30.012][TRC][Px30816][Tx57448][PipelineResMgr.cpp][L13][MaaNS::ResourceNS::PipelineResMgr::load] | leave, 0ms 
[2025-12-23 00:13:30.012][DBG][Px30816][Tx57448][OCRResMgr.cpp][L58][MaaNS::ResourceNS::OCRResMgr::lazy_load] [path=E:/quantification/resources/resource/model/ocr] [is_base=false] | enter 
[2025-12-23 00:13:30.012][TRC][Px30816][Tx57448][OCRResMgr.cpp][L58][MaaNS::ResourceNS::OCRResMgr::lazy_load] | leave, 0ms 
[2025-12-23 00:13:30.012][DBG][Px30816][Tx57448][ONNXResMgr.cpp][L118][MaaNS::ResourceNS::ONNXResMgr::lazy_load] [path=E:/quantification/resources/resource/model] [is_base=false] | enter 
[2025-12-23 00:13:30.012][TRC][Px30816][Tx57448][ONNXResMgr.cpp][L118][MaaNS::ResourceNS::ONNXResMgr::lazy_load] | leave, 0ms 
[2025-12-23 00:13:30.012][DBG][Px30816][Tx57448][TemplateResMgr.cpp][L10][MaaNS::ResourceNS::TemplateResMgr::lazy_load] [path=E:/quantification/resources/resource/image] [is_base=false] | enter 
[2025-12-23 00:13:30.012][TRC][Px30816][Tx57448][TemplateResMgr.cpp][L10][MaaNS::ResourceNS::TemplateResMgr::lazy_load] | leave, 0ms 
[2025-12-23 00:13:30.012][INF][Px30816][Tx57448][ResourceMgr.cpp][L527][MaaNS::ResourceNS::ResourceMgr::load] [path=E:/quantification/resources/resource] [ret=true] 
[2025-12-23 00:13:30.012][TRC][Px30816][Tx57448][ResourceMgr.cpp][L509][MaaNS::ResourceNS::ResourceMgr::load] | leave, 723ms 
[2025-12-23 00:13:30.012][INF][Px30816][Tx57448][ResourceMgr.cpp][L147][MaaNS::ResourceNS::ResourceMgr::calc_hash] [hash_cache_=0] 
[2025-12-23 00:13:30.012][DBG][Px30816][Tx57448][Utils/MessageNotifier.hpp][L19][MaaNS::MessageNotifier::notify] [notify_=0000000000000000] [notify_trans_arg_=0000000000000000] [msg=Resource.Loading.Succeeded] [details={
    "hash": "0",
    "path": "E:/quantification/resources/resource",
    "res_id": 400000001
}] | enter 
[2025-12-23 00:13:30.012][TRC][Px30816][Tx57448][Utils/MessageNotifier.hpp][L19][MaaNS::MessageNotifier::notify] | leave, 0ms 
[2025-12-23 00:13:30.012][TRC][Px30816][Tx57448][ResourceMgr.cpp][L488][MaaNS::ResourceNS::ResourceMgr::run_load] | leave, 723ms 
[2025-12-23 00:13:30.013][DBG][Px30816][Tx36286][MaaTasker.cpp][L10][MaaTaskerCreate] [notify=0000000000000000] [notify_trans_arg=0000000000000000] | enter 
[2025-12-23 00:13:30.013][DBG][Px30816][Tx36286][Tasker.cpp][L17][MaaNS::Tasker::Tasker] [notify=0000000000000000] [notify_trans_arg=0000000000000000] | enter 
[2025-12-23 00:13:30.013][TRC][Px30816][Tx36286][Tasker.cpp][L17][MaaNS::Tasker::Tasker] | leave, 0ms 
[2025-12-23 00:13:30.013][TRC][Px30816][Tx36286][MaaTasker.cpp][L10][MaaTaskerCreate] | leave, 0ms 
[2025-12-23 00:13:30.013][DBG][Px30816][Tx36286][MaaTasker.cpp][L41][MaaTaskerBindResource] [tasker=0000025ECD50E950] [res=0000025EC5F3EEC0] | enter 
[2025-12-23 00:13:30.013][INF][Px30816][Tx36286][Tasker.cpp][L33][MaaNS::Tasker::bind_resource] [this=0000025ECD50E950] [resource=0000025EC5F3EEC0] 
[2025-12-23 00:13:30.013][TRC][Px30816][Tx36286][MaaTasker.cpp][L41][MaaTaskerBindResource] | leave, 0ms 
[2025-12-23 00:13:30.013][DBG][Px30816][Tx36286][MaaTasker.cpp][L53][MaaTaskerBindController] [tasker=0000025ECD50E950] [ctrl=0000025EC6112F10] | enter 
[2025-12-23 00:13:30.013][INF][Px30816][Tx36286][Tasker.cpp][L47][MaaNS::Tasker::bind_controller] [this=0000025ECD50E950] [controller=0000025EC6112F10] 
[2025-12-23 00:13:30.013][TRC][Px30816][Tx36286][MaaTasker.cpp][L53][MaaTaskerBindController] | leave, 0ms 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions