WSHでDLLを使う?
コマンドラインからマウスを操作する方法 (rundll32.exeで動くDLLの作成法) - 主に言語とシステム開発に関して
WSHでdllを使う方法というのがよくわからなかったけど、↑ここのおかげでなんとなく理解できた。
rundll32.exeに渡せば、限られてはいるようだけど使えるらしい。
過去に書いたものを見返してみると、音を鳴らしたり関連付け実行する時などで知らずに使ってたw
UWSCではurlmon.dllというなんたらライブラリを使って
def_dll URLDownloadToFileA(long,string,string,long,long):long:urlmon
指定したURLのファイルをダウンロードできる。
これをJScriptに置き換えて
'rundll32.exe urlmon.dll,URLDownloadToFileA 0,[url],[path],0,0'
引数が複数ある場合、スペースで区切るのかカンマなのかよくわからないので
一通り試してみた結果、エラーになるだけだったw
以前にVBSでやった気がするけど、urlmon.dllはEXCELを経由するとWSHで使える。
//save_path = ファイル名だけだとMy Documentsに保存 function downLoadFile(url, save_path) { var excel = new ActiveXObject('excel.application'); excel.executeexcel4macro( 'call("urlmon","URLDownloadToFileA","jjccjj",0,"' + url + '","' + save_path + '",0,0)' ); excel = null; };