模拟“Windows”键和“+”键放大

Windows 7(最后)具有内置的屏幕缩放function。 按住“Windows”键,然后可以使用“+”键放大,使用“ – ”键缩小。 结果我一直试图模拟这种组合。 使用AutoIt我尝试过:

1)

Send("{LWINDOWN}" & "+" & "{LWINUP}") 

2)

 $x = Chr(43) Send("{LWINDOWN}" & $x & "{LWINUP}") 

3)

 Send("#{+}") ;//works but it also sends "+" key 

4)

 Send("{LWINDOWN}") Sleep(10) Send("+",1) Sleep(10) Send("{LWINUP}") 

这四个步骤都不起作用……

我实际上想在c#上使用这个function。 如果我设法用autoit做到这一点,我可以用c#调用那个脚本,所以我不介意langauage。 我也在模拟按键,因为我不知道如何使用c#进行放大。

导入位于以下位置的库:

http://inputsimulator.codeplex.com/

然后做:

  WindowsInput.InputSimulator.SimulateKeyDown (WindowsInput.VirtualKeyCode.LWIN); WindowsInput.InputSimulator.SimulateKeyPress (WindowsInput.VirtualKeyCode.OEM_PLUS); WindowsInput.InputSimulator.SimulateKeyUp (WindowsInput.VirtualKeyCode.LWIN); 

你差不多……实际的语法是Send(“{LWIN DOWN}”&“+”和“{LWIN UP}”)。

你可以做这样的事情

SendKeys.SendWait("{F1}");

如果你想把它叫到某个窗口,你可以使用

  [DllImport("user32.dll")] public static extern int SetForegroundWindow(IntPtr hWnd); 

然后

 Process[] processes = Process.GetProcessesByName("Some.exe"); foreach(Process proc in processes) { SetForegroundWindow(proc.MainWindowHandle); SendKeys.SendWait("{F1}"); }