2017-06-02 48 views
0

我在我們的學校測試了用於語音合成的Lexibar軟件。 這種軟件是設計來幫助有學習困難的學生,所以我需要寫一個VBS文件,模擬Ctrl + Alt + AVBScript sendkeys,試圖做CTRL + ALT + A

我嘗試:

  • wshshell.sendkeys 「^%{A}」
  • 「^%A」
  • 「^%{A}」
  • 「^%A」
  • 「^(%一)」
  • 「^(%(A))」
  • ...(但是毫無效果)

如果我嘗試wshshell.sendkeys 「^%{}下降」 - >旋轉屏幕,但我無法發送按Ctrl + Alt鍵+一個

是否堵塞(Ctrl鍵 + Alt鍵 + 德爾被阻塞)。

+2

您需要確保您將密鑰發送到適當的應用程序。也就是說,應用程序需要有鍵盤焦點。在發送到任何應用程序之前,您顯示的另一個示例(更改屏幕方向)將被捕獲。 – Phylogenesis

+0

通過查看Windows任務管理器中的「應用程序」選項卡,您可以找到想要關注的窗口的應用程序標題,它可以是主窗口或主應用程序的任何子窗口。 – GTAVLover

+1

該應用程序是Windows。這是激活或停用Lexibar的按鍵組合。 Lexibar在後臺運行 – Tommy

回答

0

我現在使用PowerShell和它的工作很大。 隨着VBS,它曾經工作過,然後停止工作。這是我的代碼運行:

[void][reflection.assembly]::loadwithpartialname("system.windows.forms") 
[system.windows.forms.sendkeys]::sendwait("^%a") 

我用PS2EXE 0.5.1將腳本轉換爲一個exe(SendKeys.exe),然後我從這個代碼運行:

Set wshShell = WScript.CreateObject("WScript.Shell") 
wshShell.run "C:\Lexibar\SendKeys.exe",0 

我需要從一個vbs運行它,以避免窗口彈出。 我用Vbs_To_exe來轉換這一個,現在它的工作。 (轉換爲.exe只是爲了安全,隱藏我的學生代碼)

0

你應該使用它像^%{a}

通過使用AppActivate方法,您可以將注意力集中在要發送擊鍵的應用程序上。

在你的情況下,它應該像WshShell.AppActivate("MUST BE THE WINDOW YOU NEED TO SEND KEYSTROKES TO")

查找更多關於SendKeyshere.

+0

我已經嘗試過,但沒有奏效。 而關於應用程序窗口,它運行在後臺和任何窗口上的組合鍵工作 – Tommy

+0

@Tommy然後你知道什麼是應用程序的可執行文件的名稱? – GTAVLover

+0

或者,如果我使用{a}和{A},會不同嗎? – Tommy