首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SENDINPUT不向RDP发送击键

SENDINPUT不向RDP发送击键
EN

Stack Overflow用户
提问于 2014-06-17 14:41:13
回答 1查看 1.4K关注 0票数 0

使用SENDINPUT按下虚拟键对我在任何开放字段上的应用程序都非常适合。很好,这就是它的目的:)然而。最近,一个错误报告说它在RDP会话中不工作。因此,我在电脑上启动记事本,扫描条形码(这是我的SENDINPUT的用法),并将字符串放在记事本上。我启动RDP会话,打开记事本,什么也不发送。记事本仍为空白。因此,由于一些奇怪的原因,SENDINPUT没有通过RDP隧道。我有一种感觉,它更像是RDP会话中的一个设置,但我并不天真到认为我的代码不能在fault.The代码中没有什么特别之处,但我会发布重要的部分(发送输入的实际调用)。

代码语言:javascript
复制
public class User32Input
{
    public static void DoPressRawKey(byte ascii)
    {
        var inputs = PressRawKey(ascii);
        int size = System.Runtime.InteropServices.Marshal.SizeOf(typeof(INPUT));
        SendInput((uint)inputs.Count, inputs.ToArray(), size);
    }
    internal static System.Collections.Generic.List<INPUT> PressRawKey(byte ascii)
    {
        var inputs = new System.Collections.Generic.List<INPUT>();
        inputs.Add(GetRawKeyDown(ascii));
        inputs.Add(GetRawKeyUp(ascii));
        return inputs;
    }

    internal static INPUT GetRawKeyDown(byte key)
    {
        return GetRawKey(key, KEYEVENTF_KEYDN);
    }
    internal static INPUT GetRawKeyUp(byte key)
    {
        return GetRawKey(key, KEYEVENTF_KEYUP);
    }
    private static INPUT GetRawKey(byte key, uint flag)
    {
        return new INPUT
        {
            type = User32Input.INPUT_KEYBOARD,
            u = new InputUnion
            {
                ki = new KEYBDINPUT
                {
                    wVk = key,
                    wScan = 0,
                    dwFlags = flag,
                    dwExtraInfo = User32Input.GetMessageExtraInfo(),
                }
            }
        };
    }
    [DllImport("user32.dll", SetLastError = true)]
    private static extern uint SendInput(uint nInputs, INPUT[] pInputs, int cbSize);

}

对于为什么它不能在RDP会话中工作,有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-17 17:31:48

设置扫描代码、RDP或ICA会话--要求KEYBDINPUT.Scan为非零。使用MapVirtualKey来获得它

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24266705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档