2012-05-11 28 views
2

Windows 7(最終)具有內置的屏幕縮放功能。按住「Windows」鍵,然後可以使用「+」鍵放大,「 - 」鍵縮小。因此我一直試圖模擬這種組合。用的AutoIt我曾嘗試:模擬「Windows」鍵和「+」鍵放大

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#。

+0

Process.Start(「Magnify.exe」); –

回答

5

導入庫位於at:

http://inputsimulator.codeplex.com/

然後執行:

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

你可以做這樣的事情

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

你幾乎擁有了正確的...實際的語法是發送( 「{倫DOWN}」 & 「+」 & 「{倫UP}」) 。