babalae/better-genshin-impact · error · InvalidOperationException
桌面分身尚未完全连接,无法发送 {displayName}。
Error message
桌面分身尚未完全连接,无法发送 {displayName}。 What it means
Error "桌面分身尚未完全连接,无法发送 {displayName}。" thrown in babalae/better-genshin-impact.
Source
Thrown at BetterGenshinImpact/View/Controls/ChildSession/RdpActiveXHost.cs:289
protected override void DetachSink()
{
try
{
_eventCookie?.Disconnect();
_eventCookie = null;
_eventSink = null;
}
finally
{
base.DetachSink();
}
}
private void SendShortcut(KeyStroke[] strokes, string displayName)
{
if (ConnectedState != 1)
{
throw new InvalidOperationException(
$"桌面分身尚未完全连接,无法发送 {displayName}。");
}
if (!ChildSessionNativeMethods.TryFocusRdpInputWindow(Handle))
{
throw new InvalidOperationException("无法将键盘焦点切换到桌面分身。");
}
RunComStep($"向 Child Session 发送 {displayName}", () => SendKeyStrokes(strokes));
}
private void SendKeyStrokes(KeyStroke[] strokes)
{
var keyUpStates = new short[strokes.Length];
var keyData = new int[strokes.Length];
for (var index = 0; index < strokes.Length; index++)
{View on GitHub (pinned to a7cb36712d)
Solutions
- 等待桌面分身完成连接后再执行输入操作
- 检查桌面分身会话是否掉线,必要时重新连接
- 减少向分身发送输入的频率
Example fix
等桌面分身显示已连接再操作;若连接失败先排查分身连接问题再发送按键。
When it happens
Trigger: SendShortcut 时 ConnectedState 还不是1(已连接),即桌面分身 RDP 会话尚未建立完成就尝试发送快捷键。
Common situations: 桌面分身还在连接中用户就触发快捷键发送,或连接中断后仍调用发送。
AI-assisted analysis of babalae/better-genshin-impact@a7cb36712d (2026-08-13).
Data as JSON: /api/errors/ca4fd7037193e050.
Report an issue: GitHub.