JavaScriptから別のプログラム起動



0   名前: Tour : 2006/06/15(木) 14:41  ID:ydePCe2D
JavaScriptから別プログラムの起動はできるのでしょうか?
例えば、Windows標準の電卓や、Notepadの起動を行うにはどのようにするのかお教えいただけますでしょうか?

1   名前: NullPo : 2006/06/15(木) 14:41  ID:XoE1slt9
万人のブラウザで動くとは思えませんが。
こんな感じで一応、自分とこでは動きます。

runProgram("notepad.exe", "c:\\readme.txt");


function runProgram(programName, dataPath)
{
var objShell = new ActiveXObject("Wscript.Shell");

objShell.Run(programName + " " + dataPath);

objShell = null;
return false;
}

2   名前: m035 ◆Wpzr1YKOiq : 2006/06/15(木) 14:41  [URL]  ID:nxt5lbRN
>>1
での例はIEかつwindows限定ですのでご注意を。

3   名前: Tour : 2006/06/15(木) 14:41  ID:ydePCe2D
ありがとうございます、ついでにもう一つ聞きたいのですがいいでしょうか?
とある、Webのシステムにて(java)ボタンが押されると、クライアントのWindowsプログラムが実行
させたいのですが、今回のようにJavaスクリプトで行う方法がいいのでしょうか?
Activexやアプレットを利用する方法があるようなのですが....まったく知識がないもので...
このあたりのアドバイスをいただければ助かります

4   名前: NullPo : 2006/06/15(木) 14:41  ID:XoE1slt9
どういう方法にしろ、クライアントのプログラムを実行させるのであれば
クライアントを限定してしまうのでそのクライアントで動けば何でもいいんじゃないですか?
>>1 のscriptで動かなかったら違う方法を考えればいいような気がしますが。

5   名前: m035 ◆Wpzr1YKOiq : 2006/06/15(木) 14:41  [URL]  ID:nxt5lbRN
>ActiveX
>>1の方法がまさにそれです。なのでActiveXを有効にするかどうかダイアログが出る場合があります。

>Applet
Appletから起動はセキュリティ的に難しいようです。
詳しくないので良くわかりませんが。

結局は目的によるところが大きいかと。
ただアプリケーションを起動させたいならActiveXなどを使うしか私は思いつきませんが、
特定のファイルを開かせたいのであれば、ファイルをダウンロードさせて、それが関連付けにしたがって開くことを期待したほうが確実ですし。

6   名前: underStone : 2006/06/15(木) 14:41
OSのexeをJavaScriptで起動できたらスゴイと思わない?
危険な予感するよね。
ActiveXが評判悪いのはそんなnullな発想だから。
もちょっとセキュリティのお勉強した方がいいと思うけど。
自分は善意の発想でも、そんなスクリプト仕掛けられた日に
はたまんないよね。

一覧へ戻る