こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

ブラウザ(IE)からEXEファイルを実行する方法

ブラウザ(IE)からリンクされたEXEファイルをダウンロードのダイアログを表示させる事無く直接実行する方法はないでしょうか?
セキュリティの関係で保護が掛かっている事は十分に承知した上での質問です。
その端末はインターネットへは接続しません。
ローカル端末で実行可能な限られたEXEファイルを不特定多数の利用者にブラウザから選択(実行)させたい事が目的です。
ブラウザはキオスクモード(IEXPLORE.EXE -k)で起動し、ブラウザ以外の操作は完全に出来ないように制御された環境とします。
宜しくお願いします。

投稿日時 - 2005-02-22 16:42:16

QNo.1232037

困ってます

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

#2、3です。

原因がわかりました。

スクリプト内部に「全角スペース」が入っていた為と思われます。
下記のコードを使用してみて下さい。

<script language="VBScript">
Sub RunEXE()

set objWshShell = CreateObject("WScript.Shell")
objWshShell.Run "notepad.exe", 1 ,1
set objWshShell = Nothing

End Sub
</script>

投稿日時 - 2005-02-22 19:17:27

補足

昨日の引続け試行しておりますが、どうしても ActiveX の警告を外す事ができないのですが・・・
一度許可するとブラウザを閉じるまでは有効ですが、再度起動しますと警告がきますので…
お力添えをお願いします。

投稿日時 - 2005-02-23 15:19:51

お礼

出来ました。
ありがとうございました。バッチリです!!

投稿日時 - 2005-02-22 19:42:50

ANo.4

.NETで作成したEXEは、ダイアログを表示することなくいきなり実行されます。
ただし、その場合は、セキュリティー上、機能が制限されて(ローカルの資源の改変などができないとか)実行されるので、希望する動作ではないのかも知れません。

ローカルに既にダウンロードがされているなら#2(3)さんの方法で実行できます。

投稿日時 - 2005-02-22 19:01:06

ANo.3

#2です。

スクリプトに「ごみ(消し忘れ)」がありました。(^^;A

<script language="VBScript">
Sub RunEXE()

' WScript.CreateObject("WScript.Shell")←この行は不要
 set objWshShell = CreateObject("WScript.Shell")
 objWshShell.Run "notepad.exe", 1 ,1
 set objWshShell = Nothing

End Sub
</script>

投稿日時 - 2005-02-22 18:25:42

お礼

期待できる回答でありがとうございます。
早速、試してみましたが RunEXE の部分で型エラーとなってしまいました。
単純に内容をテキストファイル(test.html)へ張付けての実行ではダメんなのでしょうか?
お手数をお掛け致します・・・

投稿日時 - 2005-02-22 18:46:09

ANo.2

ローカルにあるプログラムを実行するのであれば下記の様にすれば実行できます。

<!-- ここから -->
<html>
<head>
<title>test</title>
<script language="VBScript">
Sub RunEXE()

 WScript.CreateObject("WScript.Shell")
 set objWshShell = CreateObject("WScript.Shell")
 objWshShell.Run "notepad.exe", 1 ,1
 set objWshShell = Nothing

End Sub
</script>
</head>

<body>
<form>
<input type="button" name="run_at" value="メモ帳起動">
<script for="run_at" event="onClick" langage="VBScript">
RunEXE
</script>
</form>
</body>
</html>
<!-- ここまで -->

IEの「インターネットオプション」→「セキュリティー」→「イントラネット」→「レベルのカスタマイズ」→「ActiveXコントロールに対して自動的にダイアログを表示」を無効にしないと警告のメッセージが出てしまいます。

投稿日時 - 2005-02-22 18:20:57

ANo.1

OSやIEのバージョンが不明ですが、メッセージを出さずに実行は無理でしょう。

セキュリティ的に考えても他の方法を考えた方が早いかと思います。キオスクモードだけでは不特定多数の利用者の暴挙(言い方が変ですが。。)防げないことも併記しておきます。

不特定多数の利用の場合キオスクモードと合わせてポリシー制限をかけないと抜け道があるので完全なものにはなりません。

投稿日時 - 2005-02-22 17:08:43

お礼

早速の回答ありがとうございます。
やはり無理なのでしょうか...。
OS,IEのバージョンは、WindowsXP Pro SP2,IEについては最新とします。
キオスクモード以外の強力な保護も考えている為、限定されたEXEファイルしか実行できない環境とします。
(ネットにも接続しないスタンドアロン環境)
そういった環境下での使用の為、なんとか直接実行が出来ないものかと悩んでいる所なのです。

投稿日時 - 2005-02-22 17:24:29

あなたにオススメの質問