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 に答える