
一度に 1 台のコンピューターでのみ使用できるライセンスを持つソフトウェアがあります。このソフトウェアはサービスに接続し、そのサービスからデータを取得します。2 台目のコンピューターでアプリケーションを起動すると、1 台目のコンピューターのデータ接続が切断されます。
コンピュータ 1 でソフトウェアを実行していて、データ収集などの重要な作業を行っているときに、そのソフトウェアがコンピュータ 1 で実行されていることを忘れてコンピュータ 2 で起動し、コンピュータ 1 のデータ接続が終了するなどの問題が発生することがあります。
私がやりたいのは、Computer2 に警告を設定して、このアプリケーションを起動するたびにダイアログ ボックスが表示され、「このソフトウェアは別のコンピューターで実行されている可能性があります。ここで起動してもよろしいですか?」と表示されるようにすることです。
コンピュータ2でWindows 7を使用しています。このタスクを実行する方法はありますか?
答え1
vbs スクリプトを使用できます。これにより、はいを選択するとメモ帳が起動し、キャンセルを押したことが通知されます (キャンセルを押した場合)。
Set WshShell = CreateObject("WScript.Shell")
intButton = WshShell.Popup ("Hey, this software might be running on another computer, are you sure you want to start it here?", , , 1 + 48)
select case intButton
case 1
strMessage = ""
sub shell(cmd)
WshShell.Run(cmd)
Set WshShell = Nothing
end sub
shell """C:\Program Files (x86)\UltraISO\UltraISO.exe"""
case 2
strMessage = "You clicked the Cancel button."
WshShell.Popup strMessage, , , 32
end select
それをテキスト ファイルにコピー/貼り付けし、txt を vbs に変更するだけです。
答え2
これは完璧ではありませんが、シンプルで、必要な機能を果たします。例として Word 2010 を開くように設定しましたが、プログラムを追加することもできます。次のコードを含むプログラムを開くための .bat バッチ ファイルを作成し、それを使用してプログラムを起動します。
@echo Are you sure you want to continue?
Pause
start "C:\Program Files\Microsoft Office\Office14\winword.exe"
exit