模拟“窗口”键和“+”键进行放大

本文关键字:放大 键和 窗口 模拟 | 更新日期: 2023-09-27 18:33:46

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# 调用该脚本,所以我不介意语言。我也在模拟击键,因为我不知道如何使用 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}");
        }