• 締切済み

JavaScriptの拡張

レジストリを変更するJavaScriptがあります。ソースは以下の通りです。 ブラウザを立ち上げて実行していますが、少し拡張して 通常のプログラムと同じようにダブルクリックで実行したいと思います。 どうすればいいのでしょうか? chg_HomePage() ; function chg_HomePage() { var WshShell = new ActiveXObject("WScript.Shell") ; WshShell.RegWrite( "HKCU\\Software\\Microsoft\\・・・) ; }

みんなの回答

回答No.2

以下はWindows XPの場合です。 ファイルをたとえば C:\test.js という名前で保存した場合、 コマンドプロンプトから >cscript c:\test.js とすると、test.jsが実行されます。 ウェブブラウザ用のJScriptではなく、cscript用のJScriptで書かないと行けないと思います。 (すくなくとも、windowやdocumentは定義されていないようです)

flyingbee
質問者

補足

ご回答有り難うございます。 少し前にJAVAScriptのところでCScriptやWScriptを指摘されました。 その時はちんぷんかんぷんだったのですが、 その時に取り敢えずtaloo様の回答のように実行してみました。 結果は何も変化なしでした。 今読み返してみると、やはりCScriptに解決の糸口があるようです。 というよりもブラウザなど経由せずにレジストリが書き換えることができれば、 JAVAでもASPでもWindowsのバッチファイルでもいいわけです。 プログラムが組めないと意外と難しい問題なんですかね?

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

こんなことでしょうか? http://msdn.microsoft.com/ja-jp/library/ms536496(VS.85).aspx

flyingbee
質問者

補足

HTAとは実行形式のHTMLを作るということですよね? そうではなくて単純に上記のScriptをコマンドラインから実行したいのです。   つまり、レジストリを換えるソースがあれば上記のソースにこだわらず バッチファイル(bat)などでもOKなわけです。 当方、本格的なプログラムは組めないため、 あくまでテキストレベルで探しています。

関連するQ&A

  • 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>

  • レジストリの設定をすぐに反映させたい

    Windows XP で VBScript を使っています。 たとえば、次のスクリプトを実行します。 Set WshShell = CreateObject("WScript.Shell") Call WshShell.RegWrite("HKCU\Control Panel\Mouse\MouseSensitivity", "20", "REG_SZ") その後レジストリエディタで確認したところ、値は問題なく変更されていたのですが、再ログオンしないとマウスの移動速度には反映されないようです。 これを即時反映される方法はありますか。 よろしくお願いします。

  • アプリで作成した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で開いて実行

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

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

  • Outlook Expressのユーザー切り替えスクリプト

    現在OSはWindowsXP sp3 Windows Script HostはVersion5.7です。 以前どこかのサイトに載っていた下記のOutlook Expressのユーザー切り替えスクリプトを作成し動かしてみたのですが全く反応がありません。 何が原因でしょうか??お教え下さい。 スクリプトの内容 Dim WshShell On Error Resume Next Set WshShell =WScript.CreateObject("WScript.Shell") WshShell.RegWrite "HKCU\Identities\Last Username","ユーザー名" WshShell.RegWrite "HKCU\Identities\Last User ID","{Identitiesのファイルの英数字}" WshShell.Run """C:\Program Files\Outlook Express\msimn.exe""" Set WshShell=Nothing

  • 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); } ・ ・ ・ どなたかご教授お願いします。

  • WSH オブジェクト作成時の違い

    JScriptです。 var obj = WScript.CreateObject("WScript.Shell"); と var obj = new ActiveXObject("WScript.Shell"); 等で振る舞いが変わってくる事はあるでしょうか? またどちらを使うべきでしょうか?

  • リンクの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データを置いた場合、 「ファイルがみつかりません」 となってしまい、開くことが出来ません。フルパスも、長すぎると同じことになります。 どなたか知恵をおかしいただけませんでしょうか?

  • jscriptの質問

    拡張子が「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); } ・ ・ ・ WshShell.Run("runas /user:ドメイン名\\administrator \\サーバ名… を WshShell.Run("runas /user:ドメイン名\\administrator cmd にすると上手くいきました。 たぶん、「\\サーバ名」の「\」の部分がうまくいってないような気がします どなたかご教授お願いします。

専門家に質問してみよう