JavaScriptでのexeファイルの呼び込み方法について

このQ&Aのポイント
  • JavaScriptを使用してexeファイルを起動しましたが、aviファイルを呼び込むことができません。
  • ActiveXObjectを使用してexe、dll、aviファイルを順に実行しましたが、aviファイルの呼び込みができません。
  • test.aviファイルの呼び込み方法について詳細を教えてください。
回答を見る
  • ベストアンサー

同じフォルダにexe,dll,avi三つのファイルがあります。

同じフォルダにexe,dll,avi三つのファイルがあります。 exeをダブルクリックすると裏ではdllとaviファイルを呼び込みます。 表では画面が表示され、画面にあるボタンを押すとavi動画が再生されます。ここ場合は大丈夫です。 質問: javascriptを利用してexeを起動させましたが、画面は表示されますが、ボタンを押すとaviファイルを呼び込めません。 <script language="JavaScript" type="text/javascript"> <!-- var Wobjec = new ActiveXObject("WScript.Shell"); Wobjec.Run("\"C:\\test\\test.exe\"") //--> </script> また、 <script language="JavaScript" type="text/javascript"> <!-- var Wobjec = new ActiveXObject("WScript.Shell"); Wobjec.Run("\"C:\\test\\test.exe\"") Wobjec.Run("\"C:\\test\\test.dll\"") Wobjec.Run("\"C:\\test\\test.avi\"") //--> </script> このようにしてもダメでした。 どうやら、、、test.aviファイルを呼び込めないみたいです。 ご教授よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • luka3
  • ベストアンサー率74% (300/403)
回答No.1

推測ですが、カレントディレクトリの問題ではないでしょうか。 exeをダブルクリックで実行した場合にはカレントディレクトリはexeのあるフォルダになります。 質問時の環境だとjsのあるフォルダになりますでしょうか。 WScript.Echo(Wobjec.CurrentDirectory); で確認してみるとよいでしょう。C:\test じゃない場所ではないですか? 解決策としては、 Wobjec.CurrentDirectory = "C:\\test"; Wobjec.Run("test.exe"); とやるか、 もしくはプログラム(test.exe)側でaviのファイル名を「(exeのあるフォルダ)\\test.avi」と指定したらいいと思います。

oyaoyaoya777888
質問者

補足

luka3様 本当にありがとうございました! Wobjec.CurrentDirectory = "C:\\test"; Wobjec.Run("test.exe"); これで解決できました! すみません、追加質問大丈夫でしょうか? 画面の「ボタン押下」イベントもjavascriptで実行することが可能でしょうか? 初心者ながらの勝手な質問ですみません。 ご教授よろしくお願いします。

その他の回答 (2)

  • luka3
  • ベストアンサー率74% (300/403)
回答No.3

》画面の「ボタン押下」イベントもjavascriptで実行することが可能でしょうか? 不可能ではないですが完璧ともいえません。 WSHにSendKeysというのがあります。 ソフト的にキーボードが押されたように動作します。 これを使いタブキーを数回押してボタンにフォーカスを合わせ、スペースかEnterを押せばボタンを押したことになります。 (Sleepで適度にウエイトを入れる必要があるかも) 注意点は、SendKeysはウインドウを指定できないため、別のウインドウをクリックするなど途中で操作を割り込まれるとおかしくなります。 (AppActivateで毎回前面にするということもできますが根本的な解決ではない)

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

「rundll32.exe」を介せば直接dllのfunctionを呼び出せます。 これを、使えないでしょうか。 var WShell = new ActiveXObject("WScript.Shell"); WShell.Run("rundll32.exe dllfile,functionname [arg1,...] ");

関連するQ&A

  • アプリで作成したexeファイルを実行する。

    Fortraで作成したexeファイルをサーバ上で動かしたいのですが 過去の履歴から下記プログラムをみつけましたが 上手く動作しません。 他の方法等ありましたらお教えください。 サーバー OS:Windows serever2003 IIS クライアント OS:Windows XP SP2 fortan 中身:固定のテキストを読んで計算し固定のファイルに結果を書く --------過去検索で見つけたものを元にexe名を変更した------- <html> <body> <SCRIPT LANGUAGE=javascript> <!-- function RunFile(file) { var WshShell = new ActiveXObject("WScript.Shell"); WshShell.Run(file,1); } //--> </SCRIPT> <input type=button value="計算" onClick="RunFile('a.exe')"> </body> </html> エラー:オートメーションサーバーはオブジェクトを作成できません 場所:var WshShell = new ActiveXObject("WScript.Shell"); 動作:クライアント側からIEで開いて実行

  • VBSからのサーバサイドのEXEの実行

    こんにちはSHIRAOといいます。 WScript.Shellを使用してサーバにあるEXEファイルを 起動しようと思っているのですがどうもうまくいきません。WScript.Shellを使用する時に何か設定しなければならないことがあるのでしょうか? <script language="vbscript"> Function Window_OnLoad : Set objShell = WScript.CreateObject("WScript.Shell") objShell.Run "C:\WINDOWS\system32\notepad.exe" : End Function </script>

  • HTMLにWSHを組み込む

    HTMLにWSHのコードを書く事は可能ですか? たとえば、ページ開くとNotePad.EXEが起動するようにしたいのですが 以下のような書き方をすると WScriptが宣言されていません。 とエラーになります。 <HTML> <HEAD> <TITLE>起動のテスト</TITLE> </HEAD> <meta http-equiv="Content-Script-Type" content="text/JavaScript"> <BODY> <SCRIPT LANGUAGE="JavaScript"> var title = "メモ帳"; var wsh = WScript.CreateObject("WScript.Shell"); wsh.Run( "NotePad.EXE" ); </SCRIPT> </BODY> </HTML> いい案がある方教えてください。

    • ベストアンサー
    • HTML
  • リンクのExcelファイルをIE上ではなく、Excelウィンドウで開く

    リンクのExcelファイルをIE上ではなく、Excelウィンドウで開くように、JavaScriptを作成したのですが、 パス指定が、フルパスでなければ開けないのです。 <script language="JavaScript"> function excel(){ wshshell=new ActiveXObject("WScript.Shell") wshshell.run("excel c:/sifuto.xls") } </script> <a href="javascript:excel()">EXCEL</a> 上記のように作成したのですが、同じフォルダ内にExcelデータを置いた場合、 「ファイルがみつかりません」 となってしまい、開くことが出来ません。フルパスも、長すぎると同じことになります。 どなたか知恵をおかしいただけませんでしょうか?

  • SHELLを使ったファイル起動について

    現在、JavascriptからSHELLを使って Excelファイルを起動さようと思っています。 ファイル名が英数字だと起動できるのですが 日本語だと起動できません。 「指定されたファイルがみつかりません」という スクリプトエラーが表示されます。 ---------------------------------------------- function wshell(){ wshshell=new ActiveXObject("WScript.Shell"); wshshell.run("T:\\sample.xls"); } ---------------------------------------------- 原因、対処方法をご存知の方、 教えていただけませんでしょうか。 よろしくお願いいたします。

  • WINDOWSの再起動方法?

    WINDOWSの再起動方法? 各支店にファイルを送信した後にWindowsの再起動する必要があります ファイル送信その他の周辺はテストOKでしたが、肝心の再起動が出来ません HTML Javascriptを使用していますが、問題の部分は以下の通り <HTML> <HEAD></HEAD> <BODY> <H1>Windows再起動</H2> <Script Language="JavaScript"> <!-- WshShell = new ActiveXObject("WScript.Shell"); WshShell.Run ("C:\\WINDOWS\\RUNDLL.EXE USER.EXE,ExitWindowsExec"); ←???? //--> </Script> </BODY> </HTML> 矢印の部分はあるサイトを参考にしました VISTAのWINDOWSフォルダにはRUNDLL.EXEは有りませんのでエラーになります RUNのパラメータ指定を教えてください なお当社の各支店のパソコンは新旧バラバラですので%SYSTEMROOT%からの指定が理想です ご存知の方なら常識なのでしょうが、その常識を持ち合せておりません ぜひ助けてください、お願い申し上げます

  • あるページを開いた際、常にそのページの一番下まで改ページする。

    あるページを開いた際、常にそのページの一番下まで改ページする。 お世話になっております。 <script language="JavaScript"> <!-- var wsh = new ActiveXObject("WScript.Shell"); wsh.SendKeys("{END}"); wsh=null; // --> </script> のような感じで、 あるページを開いた際に、常にそのページの最下部を表示させたいのですが、 うまくいきません。 どうかご教授ください。よろしくお願いします。  

  • WshShell.Runでサーバにアクセスできません。

    拡張子が「js」のファイルでWshShell.Runでサーバにアクセスできません。 var WshShell= new ActiveXObject("WScript.Shell"); WshShell.Run("runas /user:ドメイン名\\administrator \\サーバ名\Adobe Reader9をサイレントインストールする.bat"); while(!WshShell.AppActivate("runas.exe")){ WScript.Sleep(100); } ・ ・ ・ どなたかご教授お願いします。

  • javascriptでのローカルパスの指定の仕方

    javascript(wsh)のローカルパスの記述で質問です いままでファイルを実行する場合に、こんな感じで記述してました。 var WSHShell = new ActiveXObject("WScript.Shell"); WshShell.run("C:\\wsh\\act\\kyoten1.js"); のように実行ファイルを直接指定していました。 今後、ファイルのフルパス名を取得して代入したいのです fullpath = WScript.ScriptFullName; WshShell.run(fullpath); → うまくいきません・・・ どのようにローカルのパス名を記述すればよいのでしょうか? 大変恐縮なのですが、お分かりの方ご教授いただけると幸いです。

  • javascriptの構文エラー

    下記のようなhtmlファイルを作りましたが、IEで開こうとすると function jikko(){ }←この文字がエラーになってしまいます。構文エラー コード0 WindowsVISTA 標準のIEを使っています。 解決策を教えてください。よろしくお願いします。 <html> <head> <script type="text/javascript"> function jikko(){ var WshShell = new ActiveXObject("WScript.Shell"); Wsh.exec("cmd.exe /c /"%programfiles%//t.bat/""); } </script></head> <body> <button type="button" onclick="jikko()"> </button> </body> </html>

専門家に質問してみよう