3

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# 进行放大。

4

3 回答 3

5

导入位于以下位置的库:

http://inputsimulator.codeplex.com/

然后做:

 WindowsInput.InputSimulator.SimulateKeyDown
                          (WindowsInput.VirtualKeyCode.LWIN);
 WindowsInput.InputSimulator.SimulateKeyPress
                          (WindowsInput.VirtualKeyCode.OEM_PLUS);
 WindowsInput.InputSimulator.SimulateKeyUp
                          (WindowsInput.VirtualKeyCode.LWIN);
于 2012-05-11T12:50:19.053 回答
4

你几乎做对了……实际的语法是 Send("{LWIN DOWN}" & "+" & "{LWIN UP}")。

于 2012-10-29T00:13:40.617 回答
0

你可以做这样的事情

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}");
        }
于 2012-05-11T06:45:54.190 回答