我有一个程序,用户在其中输入一个字符串,该字符串需要使用InputSimulator NuGet包输入。
我是否可以输入代码并用字符串填充空格并运行它?这是什么意思:
Inputsimulator sim = new Inputsimulator();
sim.Keyboard.KeyPress(WindowsInput.Native.VirtualKeyCode.VK_A);
({VK_A
将替换为"VK_" + MyLetter
)
是否有任何方法可以更改或使代码在运行时运行?
谢谢您的帮助。
答案 0 :(得分:1)
您可以直接使用TextEntry
方法:
sim.Keyboard.TextEntry("Say hello!");
答案 1 :(得分:1)
我不了解WindowsInput.Native.VirtualKeyCode.VK_A
,但是显然看起来像enum
,所以它们必须具有递增的整数值,所以:
int a = (int)WindowsInput.Native.VirtualKeyCode.VK_A;
将为您提供VK_A
的值,而VK_B
将为a + 1,依此类推...
int a = (int)WindowsInput.Native.VirtualKeyCode.VK_A;
for(int i=0; i<26; i++)
sim.Keyboard.KeyPress((WindowsInput.Native.VirtualKeyCode)(a + i));
您可以使用如下方法: WindowsInput.Native.VirtualKeyCode KeyCode(字符chr) { int a =(int)WindowsInput.Native.VirtualKeyCode.VK_A; if(a> ='A'和a <='Z') 返回(WindowsInput.Native.VirtualKeyCode)(chr-a); //其他情况 }
然后您可以像这样使用它:
sim.Keyboard.KeyPress(KeyCode('B'));
答案 2 :(得分:-1)
我确定您不能执行此操作,因为您必须在计算机上安装一个编译器,即使您在计算机上安装了编译器,也无法在运行时执行该操作,因为Windows将使用.exe文件,并且编译器无法更改它。