模拟的“Windows”键和“+”键放大(Simulate “Windows” key and “+

2019-06-24 08:14发布

Windows 7中(最后)还内置了屏幕缩放功能。 按住“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}")

这些4个步骤无工作...

其实我是想用C#的这个功能。 如果我管理与AutoIt的做到这一点,我可以调用该脚本用C#,所以我不介意langauage。 我也模拟键盘按键,因为我不知道我怎么会能够使用C#进行放大。

Answer 1:

导入位于库:

http://inputsimulator.codeplex.com/

然后做:

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


Answer 2:

你几乎拥有了正确的...实际的语法是发送(“{伦DOWN}”和“+”和“{伦UP}”)。



Answer 3:

你可以做这样的事情

SendKeys.SendWait("{F1}");

如果你想叫它somewindow你可以使用

 [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}");
        }


文章来源: Simulate “Windows” key and “+” key to zoom in