EXEC関数(アプリの起動):UWSC,

// アプリの起動
戻値 = EXEC( exe名, [同期フラグ, X, Y, 幅, 高さ] )
引数
 exe名: 起動したいアプリ名
 同期フラグ:
   FALSE: 待たない (デフォルト)
   TRUE: そのアプリが終了するまで待つ
 X: Window位置X
 Y: Window位置Y
 幅:  Window幅 
 高さ: Window高さ
戻値
 そのWindowを識別するID を返す
 終了待ちが指定された場合は、そのアプリの終了コードを返す

 ※ 注:Explorer等の別プロセスを呼ぶものは、期待どおりに戻値を返さない事がある

【例:サンプル】
// DLLの使用
DEF_DLL SetWindowTextA(HWND,string):user32.DLL
DEF_DLL EnableWindow(HWND,Bool):Bool:user32.DLL
DEF_DLL EnableMenuItem(HWND,UINT,UINT):DWORD:user32.DLL
DEF_DLL GetSubMenu(HWND,int):HWND:user32.DLL
DEF_DLL ModifyMenuA(HWND,Long,Long,Long,Long):Long:user32.DLL
DEF_DLL GetCursorPos({long,long}):bool:user32      // 構造体使用
DEF_DLL ClipCursor({long,long,long,long}):bool:user32  // 構造体使用

MF_BYPOSITION =$400
MF_GRAYED =$1
SC_CLOSE =$F060

// メモ帳を弄る  終了はALT +F4 で
id =exec(“notepad”)
hwnd = GetSubMenu(GetCtlHnd(id,GET_MENU_HND),0)   // メニュ->ファイル
EnableMenuItem(hwnd,8,MF_BYPOSITION+MF_GRAYED)    // 終了をグレー
hwnd =GetCtlHnd(id,GET_SYSMENU_HND)         // システムメニュ
ModifyMenuA(hwnd,SC_CLOSE,MF_GRAYED,0,0)       // クローズボタンをグレー
ClkItem(id,”バージョン情報”)
hwnd =GetCtlHnd(GETID(“バージョン情報”),”OK”)
SetWindowTextA(hwnd,”押せまい”)           // OKボタン書換え
EnableWindow(hwnd,False)

// 構造体を使用したものは展開して設定
dim x,y
GetCursorPos(x,y)
print “マウス位置=”+x +”,”+y
ClipCursor(x-100,y-100,x+100,y+100)  // +-100以内にマウス移動を限定
Sleep(10)

// Post/Message は以下のように
DEF_DLL PostMessageA(HWND,LONG,LONG,DWORD):Bool:user32.DLL
DEF_DLL SendMessageA(HWND,LONG,LONG,DWORD):LONG:user32.DLL

//var宣言を付けると参照引数(ポインター渡し)
//DEF_DLL teststr(var string,var int,var double):string:TEST.DLL

このエントリーをはてなブックマークに追加

コメントを残す