トップページ
ひらく | たたむ | ページトップ
↓マウスで反転選択した文字を検索
JScript
   
ページ内検索 ページ外検索
検索したい文字を入力して
ENTERを押すと移動します。
\n
[ トップページ ]
[ ____CommandPrompt ] [ ____JScript ] [ ____MySQL ] [ ____Cygwin ] [ ____Java ] [ ____Emacs ] [ ____Make ] [ ____Perl ] [ ____Python ] [ ____OpenGL ] [ ____C# ] [ ____StyleSheet ] [ ____C++ ] [ ____Winsock ] [ ____Thread ] [ ____VisualStudio ] [ ____C ] [ ____Win32API ] [ ____Lua ] [ ____PhotoShop ]
ヘッダ検索
___

■ Shell(シェル)





    // CurrentDirectory の移動
    sh.CurrentDirectory = "d:/";

    print( sh.CurrentDirectory );

___

■ Exec

SYNTAX Exec( cmd ) // command line 文字列 DESC 外部 Application を SubProcess で実行する stdout を取得できるので, 連携できる

  var sh = new ActiveXObject("WScript.Shell");

  // Exec() は Block されない
  var oExec = sh.Exec("notepad");

  // プロセス ID
  oExec.processID;

  // SubProcess が実行中は 0 がかえる
  while ( oExec.Status == 0 )
  {
      WScript.echo( "wait" );
       WScript.Sleep(100);
  }

  WARNING
  
  // サブプロセスが終了していないと 0 が常にかえる
  // 正しい値をとるには, 処理の終了をまつ
  // ExitCode は C での int main() の戻値
  code = oExec.ExitCode;


  var oExec = sh.Exec("notepad")

  // 3 sec まつ
  WScript.Sleep(3000);

  // 実行中の SubProcess を終了させる
  oExec.Terminate();

  // stdout がすべて取得するまで まつことで終了まちもできる
  var  s = oExec.StdOut.ReadAll();

  var s = "";
  while ( !oExec.StdOut.AtEndOfStream ) {

    // 1 byte 読む
    s += oExec.StdOut.Read(1);

    // 1 行よむ ( 引数はなし ) 
    s += oExec.StdOut.ReadLine();

    if ( s.indexOf("Press any key") != -1 ) break;

  }


___

■ Run

DESC 外部アプリケーションを SubProcess で実行する Window を最小化して実行できる stdout をとるには, Exec() を使うこと SYNTAX Run( cmdline // cmdline 文字列 [, modeWindow ] // Window の表示 mode [, isWait ] // SubProcess の終了をまつか ) RET ExitCode // 実行した Program の終了コード Explorer wscript.exe // Interpreter notepad

     var sh = new ActiveXObject("WScript.Shell");

     // notepad を非表示で起動
     //    処理は Block される
     sh.Run( "notepad", 0, true );

     // cmdline を渡すため
     //   以下の記述でも OK
     sh.Run( "notepad d:/foo.txt", 0, true );

     // Redirect はできない 
     sh.Run( "hostname > foo.txt", 0, true );

     // notepad を最小化で起動
     //    処理は Block される
     sh.Run( "notepad", 7, true );

WindowMode

   0  ウィンドウを非表示 && 別のウィンドウをアクティブにする

   1  ウィンドウをアクティブ && 表示  ウィンドウが最小化または最大化されている場合は、元のサイズと位置に戻る

   2  ウィンドウをアクティブにし、最小化ウィンドウとして表示する

   3  ウィンドウをアクティブ && 最大化にして表示
   
   4  ウィンドウを最新のサイズと位置で表示  アクティブ・ウィンドウは切り替わらない

   5  ウィンドウを現在のサイズと位置で表示  && アクティブにする

   6  指定したウィンドウを最小化し、Zオーダー上で次に最上位となるウィンドウをアクティブにする

   7  ウィンドウを最小化ウィンドウとして表示.  アクティブ・ウィンドウは切り替わらない

   8  ウィンドウを現在の状態で表示する。アクティブ・ウィンドウは切り替わらない

   9  ウィンドウをアクティブにして表示する。ウィンドウが最小化または最大化されている場合は、元のサイズと位置に戻る

   10  アプリケーションを起動したプログラムの状態に基づいて表示状態を設定する

___

■ SpecialFolder

SYNTAX SpecialFolder( "path" ); DESC Windows デフォルトの Directory パスをかえす ( MyDocument など )

    // Documents and Settings/
    var d = sh.SpecialFolders("MyDocuments");

___

■ 環境変数(ENV)

SYNTAX var sh = new ActiveXObject("WScript.Shell"); var env = sh.Environment("Process"); // Documents and Settings/usr env.item("HOMEPATH");

  SYSTEM   : 全ユーザーに適用
  UEER     : ユーザー環境変数。ログオン・ユーザーごとに適用
  PROCESS  : プロセス環境変数 現在有効な全環境変数( readonly )
  VOLATILE : 一時環境変数。ログオフと同時に破棄される一時的な環境変数

  // user ENV Object を取得
  var WshEnvironment = sh.Environment("User");


  // .item( KEY ) で 値を取得
  // 環境変数 "PATH" を参照
  var val = env.item( "PATH" );


  // .item( KEY )で値を指定
  WshEnvironment.item( "PATH" ) = val;

  // USERNAME は PROCESS になる
  var env = sh.Environment("PROCESS");
  var usr = env.item( "USERNAME" );
___

■ レジストリ.Registery

    // レジストリを作成
    sh.RegWrite "HKCU\Software\ACME\FortuneTeller\", 1, "REG_BINARY"

    // KEY の値を取得
    sh.RegName( "HKCU\Software\ACME\FortuneTeller\MindReader" );

    // 消す
    sh.RegDelete( "HKCU\Software\ACME\FortuneTeller\MindReader" );


NINJAIDX 1