Aタグのリンクで特定のアプリを起動

[新着] Webテンプレートを仮オープンしました



0   名前: とし : 2006/02/10 09:14
例えば、test.abcというテキストファイルを作成し、HTMLでは、<A>タグでそのファイルへリンクを貼っておく。
クライアント端末側では、拡張子abcのファイルはabc.exeが起動するように関連づけをしておきます。
この状態で、リンクをクリックしたらabc.exeを起動したいのですが、test.abcはテキストファイルなので、ブラウザ上にtest.abcファイルの内容が表示されてしまいます。
何か良い方法はないでしょうか?
リンク先が、フルパスで指定していれば大丈夫なのですが、WEBサーバー内の相対パスだとダメです。
よろしくご教授お願い致します。

1   名前: Pid : 2006/02/10 09:14
LAN システム等で,かつ WinIE 使用が前提ということであれば,WSH(Windows Scripting Host)を調べれば,いろいろ情報が見つかると思います。

2   名前: とし : 2006/02/10 09:14
WSHを使用したサンプルも試したのですが、アプリケーションの実行を行うとWebサーバ側でアプリケーションが実行されます。
ローカル側のアプリケーションを実行させることが出来るのでしょうか?
(メモ帳を起動するサンプルを試したらWebサーバ側でメモ帳が起動されました)

3   名前: Pid : 2006/02/10 09:14
> Webサーバ側でアプリケーションが実行されます。

どのように記述なさったのでしょうか。

4   名前: とし : 2006/02/10 09:14
下記、コードです。

<SCRIPT language="VBScript">
<!--
Set Shell = CreateObject("WScript.Shell")
Sub Btn01_OnClick
Shell.Run "C:\WINDOWS\system32\notepad.exe"
End Sub

-->
</SCRIPT>
<TITLE>アプリケーションを起動するスクリプト</TITLE>
<STYLE type="text/css">
<!--BODY{font-size : 9pt;}-->
</STYLE>
</HEAD>
<BODY>
<P><INPUT type="button" name="Btn01" value="メモ帳"></P>
</BODY>

5   名前: Pid : 2006/02/10 09:14
VBScript はよく知らないのですが,サーバ側起動になってしまうのでしょうか…?

少なくとも,以下の JScript はクライアント側で起動します。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<title>TEST</title>
<script type="text/jscript">

function test () {
try {
var wsh = new ActiveXObject ('WScript.Shell');
wsh.Run ('%windir%\\notepad', 1);
} catch (e) {
alert ('ActiveX が使用できない。');
}
}
</script>

<p onclick="test ();">メモ帳</p>

6   名前: とし : 2006/02/10 09:14
ご返信ありがとうございます。

IEの設定のスクリプトを実行しても安全だとマークされていないActiveXの初期化とスクリプトの実行を
◎有効にする
に設定しれば正常にクライアントで動作しました。

このクライアントEXEに、Webサーバの拡張子abcファイルを引数で渡して起動させることは可能でしょうか?

よろしくお願い致します。

7   名前: Pid : 2006/02/10 09:14
関連付けは済ませてあるということですから,ファイルをそのまま Run させれば良いだけだと思いますが。

実際にお試しになって,何か不具合が生じましたか。

8   名前: とし : 2006/02/10 09:14
度々すいません。
Webサーバに存在する拡張子abcのファイルをRunさせるには、wsh.Runで指定するファイルの指定はどのようにすれば良いのでしょうか?
wsh('test.abc',1)とすると、ローカルのパスが通っているファイルを探しに行くみたいです。
パスが通っているところにファイルがあれば実行できますが、ローカルのtest.abcを元に起動してしまいます。

よろしくお願い致します。

9   名前: Pid : 2006/02/10 09:14
ああ,たぶん,としさんのおやりになりたいことを私が誤解しておりました。

> Webサーバに存在する拡張子abcのファイルを(ローカルで)Runさせる

には,「XMLHTTP WScript」で検索すると関連ページが見つかると思います。

ただ,編集したデータをサーバ上に保存するには,(a) サーバ側にデータ送信を行うプログラムと,(b) サーバ側でデータをデコードして保存するプログラムが別途必要です。

LAN であればローカルと同じような権限で動作させられるのかもしれませんが,私はよく知りません(すみません)。この件で詳しい方のフォローを宜しく願いします m(_ _)m。

10   名前: とし : 2006/02/10 09:14
Pidさん、ありがとうございます。
XMLHTTP WScript調べてみます。

一覧へ戻る