ブラウザからエクスプローラー(ファイル一覧)を開きたい場合のメモ
ActiveXでExplorer.exeを開くのが一番簡単?
下記のコードを index.html 等の名前で保存してサーバーへアップロード。
サーバーの index.html をInternet Explorerで開くと cドライブが表示されます。
また index.html?p=C:\Program Files (x86) みたいにパラメータを指定すると指定したフォルダが開けます。
<!DOCTYPE html><html lang="ja"><head><meta charset="UTF-8"><meta name="robots" content="noindex,nofollow"><title>エクスプローラを実行</title></head><body>
<script type="text/javascript" langage="JavaScript">
function RunApp(AppPath) {
new ActiveXObject("WScript.Shell").Run(AppPath);
window.open('about:blank','_self').close(); //自動でウインドウを閉じる
}
var getUrlVars = function(){
var vars = {};
var param = location.search.substring(1).split('&');
for(var i = 0; i < param.length; i++) {
var keySearch = param[i].search(/=/);
var key = '';
if(keySearch != -1) key = param[i].slice(0, keySearch);
var val = param[i].slice(param[i].indexOf('=', 0) + 1);
if(key != '') vars[key] = decodeURI(val);
}
return vars;
}
var args = getUrlVars();
///////////////////////////////////////////////////////////////////////
var folder = "c:\\"; // 標準で開きたいフォルダ
///////////////////////////////////////////////////////////////////////
if(args["p"]) folder = args["p"]; // 開きたいフォルダを指定する場合
var exec = "explorer.exe /n /e /root,"+folder;
</script>
</head><BODY>
<script type="text/javascript" langage="JavaScript">
var html = '<form><input type="text" name="url" size="64" value="'+folder+'"readonly></form>';
document.write(html);
RunApp(exec);
</script>
<script type="text/javascript" langage="JavaScript">
var ua = window.navigator.userAgent.toLowerCase();
if(ua.indexOf('msie') != -1 || ua.indexOf('trident') != -1){
// セキュリティの設定ができていない
document.write('Internet Explorer のセキュリティの設定が完了していません。');
} else {
// IEでない
document.write('Internet Explorer 以外のブラウザでは動作しません。');
}
</script>
</body></html>
実行にはIEのセキュリティ設定が必要です。
Google Chromeから実行するにはIE Tabが便利です。
Google ChromeでIE専用ページを表示する(IE Tab)
最近はInternet Explorerでないと表示できないページはほとんど無いですが、ActiveXを使ったページではIEは大変重宝します。 Cromeをデフォルトで使う人は多いと思いま...
ActiveXのサポートは長くて2025年10月までなので、代替え方法を探していたら良さそうな方法が見つかったので、検証して次の記事に書きたいと思います。
[追記]記事を追加しました
ブラウザからエクスプローラーを開く方法 その2
WindowsにURLスキームを設定する方法になります。 2024/02/04 追記 文中の Explorer /n /e /root,$v を、Invoke-Item $v に変更しました。 当初cmd.exeを使ってやろうと...
コメント