一回も披露したことのない豆知識

社内のみで使用できるwebアプリケーションを作成しています。

現在xamppをインストールしてサーバーを作り、webアプリケーションはphpで作成しています。
OSはwindowsXP、ブラウザはInternetExplorer8です

「webブラウザから特定のPC((A)とする)のローカルアプリケーション(を動作させるvbsを実行)する」がやりたいことです。

現状では
http://localhost/○○/△△.phpにアクセスし、あるボタンを押すと
jabascript cmd() が実行され、さらにvbsが実行されます。
そのvbsで、PC(A)のローカルアプリケーションが実行されます。

しかし、http://192.xxx.xx.xx/○○/△△.phpからjavascriptを実行しようとしても
「オートメーションサーバーはオブジェクトを作成できません。」というエラーになってしまいます。

他のPCからはhttp://localhost/○○/△△.phpにはアクセスできません。
社内のどのPCからアクセスしてもPC(A)のローカルアプリケーションが実行されるようにしたいのです。

いろいろと検索してみたのですが何分初心者なので、権限?セキュリティのことなどわからないことが多く、具体的な解決方法が見つかりません。
ブラウザからアプリケーションを実行するということが簡単にできないことはわかっているのですが、
全く方法はないのでしょうか?

何か良い方法があれば教えていただきたいです。
よろしくお願いいたします。

ちなみに以下はjavascriptの内容になります。

function cmd(){
var obj = new ActiveXObject("WScript.Shell");
obj.Run("C:/xampp/htdocs/○○/□□□.vbs");
}

A 回答 (1件)

私が用いてる方法はタスクスケジューラを利用することです。



まずコントロールパネルのタスクから、タスクの追加を行います。

実行する .js をそのまま登録でいいと思いますが、
質問者さんの場合ですとあいだに js を入れる必要がないような気がします。
.vbs を登録でいけるんじゃないでしょうか。
心配であれば例えばバッチファイルを書いてそれを登録するとかでもいいです。

タスクの名前はなんでもいいですが、仮にEXECJSとします。
「1回だけ実行」にして日付と時刻はとりあえず過去の時間を入れておきます。

念のためタスクを右クリックから「タスクの実行」をして動作確認をしてください。

phpでは実行するタイミングで
exec("schtasks /run /tn EXECJS");
とします。
    • good
    • 0
この回答へのお礼

素早い回答ありがとうございます。
教えていただいた方法でばっちり実行できました。

長い間悩んでいたので本当にうれしいです。
どうもありがとうございました!!!

お礼日時:2012/08/09 17:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!