Revert clipboard input path

This commit is contained in:
Misaka
2026-05-15 22:38:17 +08:00
parent 6b3e8e02f2
commit ddd15f1067

View File

@@ -10,7 +10,6 @@ public sealed class KeyboardInjectionService : IKeyboardInjectionService
private const ushort VirtualKeyA = 0x41;
private const ushort VirtualKeyBack = 0x08;
private const ushort VirtualKeyControl = 0x11;
private const ushort VirtualKeyV = 0x56;
private const ushort VirtualKeyReturn = 0x0D;
public void InsertText(string text)
@@ -21,42 +20,11 @@ public sealed class KeyboardInjectionService : IKeyboardInjectionService
}
AppLogger.Info($"Injecting text length: {text.Length}");
PasteText(text);
}
public void TypeText(string text)
{
if (string.IsNullOrEmpty(text))
{
return;
}
foreach (var character in text)
{
AppLogger.Info($"Injecting char U+{(int)character:X4}: {character}");
SendUnicode(character);
}
}
private static void PasteText(string text)
{
var hadText = Clipboard.ContainsText();
var previousText = hadText ? Clipboard.GetText() : null;
try
{
Clipboard.SetText(text);
SendModifiedKey(VirtualKeyControl, VirtualKeyV);
}
finally
{
if (hadText && previousText is not null)
{
Clipboard.SetText(previousText);
}
else
{
Clipboard.Clear();
}
Thread.Sleep(2);
}
}