コンピューターがタイマーで2つの異なるアプリケーション間で切り替わる(フォーカスが移る)アプリケーションがありますか?これはWindows 7用です。
顧客に公開する画面に必要です。画面で、たとえば30秒ごとに2つの異なるアプリケーションを切り替えたいと思います。このような単純な何かが存在しなければならない最近の顧客に面したモニターが存在する十分な企業があると思います!
はい、それは AutoIt と呼ばれます。
次のようなものを使用します。
While 1 ;loop indefinitely
WinActivate("notepad","") ;give focus to notepad
Sleep(30000) ;sleep 30 seconds
WinActivate("wordpad","") ;give focus to wordpad
Sleep(30000) ;sleep 30 seconds
WEnd
WinActivate()は、タイトルが完全に一致するか最も近いウィンドウにフォーカスを与えます。一致するタイトルが2つある場合、最後にアクティブ化されたタイトルにフォーカスを与えます。 Sleep()はミリ秒単位なので、30000は30秒です。
AutoTabは非常にシンプルです。
http://www.analogx.com/contents/download/System/autotab/Freeware.htm
Windowsがそのままで実行できるのに、なぜAutoItなどのプログラムをインストールするのですか?
以下をauto_switch.vbs
というファイルに保存します。
Option Explicit
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
Do
WScript.Sleep 30000
WshShell.SendKeys("%{TAB}")
Loop
30000
を、Alt + Tabキーを押す間隔のミリ秒数(30000 = 30秒)に変更します。それをダブルクリックして実行を開始します。
停止したい場合は、「wscript」と呼ばれるプロセスを強制終了する必要があります。
明示的に名前が付けられたプログラムを切り替える場合、このコードは30秒ごとに「受信トレイ-Microsoft Outlook」と「Firefox」を切り替えます。
Option Explicit
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
Do
WScript.Sleep 30000
WshShell.AppActivate("Inbox - Microsoft Outlook")
' WshShell.SendKeys "% r"
WScript.Sleep 30000
WshShell.AppActivate("Firefox")
' WshShell.SendKeys "% r"
Loop
上記の例のアプリケーションが最小化されている場合は、アクティブ化された後でも最小化されたままになることに注意してください。
ウィンドウも復元するには、'
の前にあるWshShell.SendKeys
を削除します。これにより、スクリプトがウィンドウでアクティブになり、すぐに復元キーの組み合わせが送信されます Alt+SpaceBar、 r。英語版以外のWindowsを使用している場合は、このショートカットを変更する必要があるかもしれません。
お客様と画面/アプリケーションの間に相互作用がない場合は、プログラムのスクリーンショットを撮ってから、30秒のタイマーと無限の繰り返しでシンプルなスライドショーを作成する必要があります。
一般に、広告目的でプログラムを表示する顧客向けモニターを使用する企業は、「ライブ」プログラムを使用しません。インターフェースを制御する必要があり、何らかのエラーが表示される可能性を許容するのは、あなたが望むものではありません。動作するプログラムの画面ビデオを記録するか、静的な表示のためにスクリーンショットを撮ります。
それ以外の場合は、特定の情報を表示するために使用される特定のダッシュボードがあり、これらは通常、切り替えられません。または、A/V機器を使用して切り替えられ、各プログラムが別のコンピューターで実行されるため、失敗の可能性を最小限に抑えることができます。