{"record":{"id":"fb0d8e220b187c21","repo":"babalae/better-genshin-impact","slug":"error-fb0d8e","errorCode":null,"errorMessage":"无法将键盘焦点切换到桌面分身。","messagePattern":"无法将键盘焦点切换到桌面分身。","errorType":"exception","errorClass":"InvalidOperationException","httpStatus":null,"severity":"error","filePath":"BetterGenshinImpact/View/Controls/ChildSession/RdpActiveXHost.cs","lineNumber":295,"sourceCode":"            _eventSink = null;\n        }\n        finally\n        {\n            base.DetachSink();\n        }\n    }\n\n    private void SendShortcut(KeyStroke[] strokes, string displayName)\n    {\n        if (ConnectedState != 1)\n        {\n            throw new InvalidOperationException(\n                $\"桌面分身尚未完全连接，无法发送 {displayName}。\");\n        }\n\n        if (!ChildSessionNativeMethods.TryFocusRdpInputWindow(Handle))\n        {\n            throw new InvalidOperationException(\"无法将键盘焦点切换到桌面分身。\");\n        }\n\n        RunComStep($\"向 Child Session 发送 {displayName}\", () => SendKeyStrokes(strokes));\n    }\n\n    private void SendKeyStrokes(KeyStroke[] strokes)\n    {\n        var keyUpStates = new short[strokes.Length];\n        var keyData = new int[strokes.Length];\n\n        for (var index = 0; index < strokes.Length; index++)\n        {\n            var stroke = strokes[index];\n            keyUpStates[index] = stroke.IsKeyUp ? VariantTrue : VariantFalse;\n            keyData[index] = CreateRdpScanCode(stroke.Key);\n        }\n\n        var nonScriptableClient = (IMsRdpClientNonScriptable)GetRequiredOcx();","sourceCodeStart":277,"sourceCodeEnd":313,"githubUrl":"https://github.com/babalae/better-genshin-impact/blob/a7cb36712dcb409be610257d877fcea3597e9d6b/BetterGenshinImpact/View/Controls/ChildSession/RdpActiveXHost.cs#L277-L313","documentation":"Error \"无法将键盘焦点切换到桌面分身。\" thrown in babalae/better-genshin-impact.","triggerScenarios":"已连接状态下调用 TryFocusRdpInputWindow 把键盘焦点切到 RDP 输入窗口失败时抛出。","commonSituations":"桌面分身窗口被最小化/遮挡或焦点被系统其它窗口抢占，原生焦点切换失败。","solutions":["先点击桌面分身窗口使其获得焦点","确认桌面分身连接正常且未被最小化","重试或将焦点切换回主窗口后再次尝试"],"exampleFix":"确保桌面分身窗口可见且未被最小化，点击其窗口后再试；关闭可能抢焦点的覆盖层应用。","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a7cb36712dcb409be610257d877fcea3597e9d6b","analyzedAt":"2026-08-13T16:44:57.548Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}