CTRLWIN

Contents

ウィンドウの状態を操作する関数です。ウィンドウを終了・アクティブ・非表示・表示・アイコン化・最大化・サイズを戻す・最前面に固定・最前面固定を解除・最前面にするがアクティブにはしないことができます。

構文
CTRLWIN( ID, 命令 )
引数
ID
Windowを識別するID
命令
CLOSE
終了
CLOSE2
終了(QUIT)
ACTIVATE
アクティブ
HIDE
非表示
SHOW
表示
MIN
アイコン化
MAX
最大化
NORMAL
サイズ戻す
TOPMOST
最前面に固定
NOTOPMOST
最前面固定を解除
TOPNOACTV
最前面にするがアクティブ化はしない
戻値

指定したIEオブジェクトを含むウィンドウ(すべてのタブ)を閉じる

Internet Explorerのウィンドウを閉じます。IE.Quitは指定したInternetExplorerオブジェクトしか閉じませんが、CTRLWINを使うとIEオブジェクトを含むウィンドウを閉じることができます。

CTRLWIN(HNDTOID(IE.hwnd), CLOSE)

プログラム実行例

電卓を操作し計算をする

EXEC("calc") DIM ID = GETID("電卓") CLKITEM(ID, "3", CLK_BTN) CLKITEM(ID, "小数点", CLK_BTN) CLKITEM(ID, "6", CLK_BTN) CLKITEM(ID, "プラス", CLK_BTN) CLKITEM(ID, "5", CLK_BTN) CLKITEM(ID, "小数点", CLK_BTN) CLKITEM(ID, "8", CLK_BTN) CLKITEM(ID, "等号", CLK_BTN) // CTRLWIN(ID, CLOSE)
解説
  1. 1行目
    EXEC("calc")
    電卓を起動する。
  2. 2行目
    DIM ID = GETID("電卓")
    GETIDで電卓のIDを取得する。
  3. 4-11行目
    CLKITEM(ID, "3", CLK_BTN) CLKITEM(ID, "小数点", CLK_BTN) CLKITEM(ID, "6", CLK_BTN) CLKITEM(ID, "プラス", CLK_BTN) CLKITEM(ID, "5", CLK_BTN) CLKITEM(ID, "小数点", CLK_BTN) CLKITEM(ID, "8", CLK_BTN) CLKITEM(ID, "等号", CLK_BTN)
    「3.6+5.8=」と入力する。

セルに文字列を入力(A1形式)

DIM EXCEL = CREATEOLEOBJ("Excel.Application") EXCEL.Visible = TRUE ID = GETID("Microsoft Excel") CTRLWIN(ID, ACTIVATE) EXCEL.Workbooks.Add() EXCEL.Range("A1").Value = "UWSC" //EXCEL.DisplayAlerts = FALSE //EXCEL.Quit
解説
  1. 1-2行目
    DIM EXCEL = CREATEOLEOBJ("Excel.Application") EXCEL.Visible = TRUE
    Excelを起動する。
  2. 4-5行目
    ID = GETID("Microsoft Excel") CTRLWIN(ID, ACTIVATE)
    Excelをアクティブ化する。
  3. 7行目
    EXCEL.Workbooks.Add()
    新規ブックの作成。
  4. 8行目
    EXCEL.Range("A1").Value = "UWSC"
    セルA1に「UWSC」と代入。
  5. 10行目
    //EXCEL.DisplayAlerts = FALSE
    終了時に確認メッセージを表示しない。
  6. 11行目
    //EXCEL.Quit
    Excelを終了する。

セルに文字列を入力(R1C1形式)

EXCEL = CREATEOLEOBJ("Excel.Application") EXCEL.Visible = TRUE ID = GETID("Microsoft Excel") CTRLWIN(ID, ACTIVATE) EXCEL.Workbooks.Add() EXCEL.Cells(1, 1).Value = "UWSC" //EXCEL.DisplayAlerts = FALSE //EXCEL.Quit
解説
  1. 1-2行目
    EXCEL = CREATEOLEOBJ("Excel.Application") EXCEL.Visible = TRUE
    Excelを起動。
  2. 4-5行目
    ID = GETID("Microsoft Excel") CTRLWIN(ID, ACTIVATE)
    Excelをアクティブ化
  3. 7行目
    EXCEL.Workbooks.Add()
    新規ブックの作成
  4. 8行目
    EXCEL.Cells(1, 1).Value = "UWSC"
    A1セルに「UWSC」と代入する。
  5. 10行目
    //EXCEL.DisplayAlerts = FALSE
    確認メッセージを表示しない。
  6. 11行目
    //EXCEL.Quit
    Excelを終了する。

コントロールパネルを起動する

DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.ControlPanelItem("control") SLEEP(3.000) DIM ID = GETID("コントロール パネル") CTRLWIN(ID, CLOSE)

メモ帳のメニューを取得・出力

DIM ID = EXEC("notepad") FOR item IN GETITEM(ID, ITM_MENU) PRINT item NEXT CTRLWIN(ID, CLOSE)
結果
ファイル\新規
ファイル\新しいウィンドウ
ファイル\開く
ファイル\上書き保存
ファイル\名前を付けて保存
ファイル\ページ設定
ファイル\印刷
ファイル\メモ帳の終了
編集\元に戻す
編集\切り取り
編集\コピー
編集\貼り付け
編集\削除
編集\Bing で検索
編集\検索
編集\次を検索
編集\前を検索
編集\置換
編集\行へ移動
編集\すべて選択
編集\日付と時刻
書式\右端で折り返す
書式\フォント
表示\ズーム\拡大
表示\ズーム\縮小
表示\ズーム\既定の倍率に戻す
表示\ステータス バー
ヘルプ\ヘルプの表示
ヘルプ\フィードバックの送信
ヘルプ\バージョン情報
解説
  1. 1行目
    DIM ID = EXEC("notepad")
    メモ帳を起動し、IDを取得。
  2. 3-5行目
    FOR item IN GETITEM(ID, ITM_MENU) PRINT item NEXT
    メニューを配列で取得し、出力。
  3. 7行目
    CTRLWIN(ID, CLOSE)
    メモ帳を閉じる。

UWSCを起動したときのウィンドウの座標をマウス位置の座標に書き換える

CTRLWIN(GETID("UWSC Pro"), CLOSE) DIM WshShell = CREATEOLEOBJ("WScript.Shell") DIM username = WshShell.ExpandEnvironmentStrings("%USERNAME%") SELECT TRUE CASE KINDOFOS() >= 20 path = "C:\Users\" + username + "\AppData\Roaming\UWSC\UWSC.INI" CASE KINDOFOS() = 13 path = "C:\Documents and Settings\" + username + "\Application Data\UWSC\UWSC.INI" DEFAULT MSGBOX("UWSC.INIのパスを特定できませんでした。") EXIT SELEND PRINT WRITEINI("SET", "Position", G_MOUSE_X + "," + G_MOUSE_Y, path)
解説
  1. 1行目
    CTRLWIN(GETID("UWSC Pro"), CLOSE)
    UWSCを終了
  2. 3行目
    DIM WshShell = CREATEOLEOBJ("WScript.Shell")
    WshShellオブジェクトを生成。
  3. 4行目
    DIM username = WshShell.ExpandEnvironmentStrings("%USERNAME%")
    PCのユーザー名を取得。
  4. 6-14行目
    SELECT TRUE CASE KINDOFOS() >= 20 path = "C:\Users\" + username + "\AppData\Roaming\UWSC\UWSC.INI" CASE KINDOFOS() = 13 path = "C:\Documents and Settings\" + username + "\Application Data\UWSC\UWSC.INI" DEFAULT MSGBOX("UWSC.INIのパスを特定できませんでした。") EXIT SELEND
    KINDOFOS() >= 20(OSがVista以降ならば)
    pathに「C:\Users\username\AppData\Roaming\UWSC\UWSC.INI」を代入
    KINDOFOS() = 13(OSがWindows XPならば)
    pathに「C:\Documents and Settings\username\Application Data\UWSC\UWSC.INI」を代入
    DEFAULT(それ以外ならば)
    「UWSC.INIのパスを特定できませんでした。」と表示しプログラムを終了する。
  5. 16行目
    PRINT WRITEINI("SET", "Position", G_MOUSE_X + "," + G_MOUSE_Y, path)
    SETセクションのPositionキーの値をマウス位置の座標に書き換え、その値を取得・出力する。

ペイントを起動

DIM ID = EXEC("mspaint") //CTRLWIN(ID, CLOSE)
解説
  1. 1行目
    DIM ID = EXEC("mspaint")
    ペイントを起動し、IDを取得する。
  2. 2行目
    //CTRLWIN(ID, CLOSE)
    ペイントを終了する。

電卓(ストアアプリ)を起動

Windows 10のストアアプリである電卓は、EXECで起動したときの戻値にIDを返してくれないので起動後にGETIDで取得します。

EXEC("calc") DIM ID = GETID("電卓") SLEEP(3.00) CTRLWIN(ID, CLOSE)

ExcelからWordを起動する

CONST xlMicrosoftWord = 1 DIM Excel = CREATEOLEOBJ("Excel.Application") Excel.Visible = TRUE // Wordを起動 Excel.Application.ActivateMicrosoftApp(xlMicrosoftWord) DIM ID = GETID("Microsoft Word", "OpusApp") SLEEP(5.000) // Wordを閉じる CTRLWIN(ID, CLOSE) Excel.Quit

「プログラムと機能」を開く

DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.ControlPanelItem("appwiz.cpl") SLEEP(3.000) DIM ID = GETID("プログラムと機能") CTRLWIN(ID, CLOSE)

「ディスプレイ」を開く

DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.ControlPanelItem("desk.cpl") SLEEP(3.000) DIM ID = GETID("設定", "ApplicationFrameWindow") CTRLWIN(ID, CLOSE)

「インターネットのプロパティ」を開く

DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.ControlPanelItem("inetcpl.cpl") SLEEP(3.000) DIM ID = GETID("インターネットのプロパティ", "#32770") CTRLWIN(ID, CLOSE)

「システムのプロパティ」を開く

DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.ControlPanelItem("sysdm.cpl", "#32770") SLEEP(3.000) DIM ID = GETID("システムのプロパティ") CTRLWIN(ID, CLOSE)

「マウスのプロパティ」を開く

DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.ControlPanelItem("main.cpl") SLEEP(3.000) DIM ID = GETID("マウスのプロパティ", "#32770") CTRLWIN(ID, CLOSE)

「電卓」を起動

DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.ControlPanelItem("calc") SLEEP(3.000) DIM ID = GETID("電卓", "ApplicationFrameWindow") CTRLWIN(ID, CLOSE)

「文字コード表」を起動

DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.ControlPanelItem("charmap") SLEEP(3.000) DIM ID = GETID("文字コード表", "#32770") CTRLWIN(ID, CLOSE)

「DirectX 診断ツール」を起動

DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.ControlPanelItem("dxdiag") SLEEP(3.000) DIM ID = GETID("DirectX 診断ツール", "#32770") CTRLWIN(ID, CLOSE)

「外字エディタ」を起動

DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.ControlPanelItem("eudcedit") SLEEP(3.000) DIM ID = GETID("コードの選択", "#32770") CTRLWIN(ID, CLOSE) ID = GETID("外字エディター", "Afx:dd0000:0:10003:6:") CTRLWIN(ID, CLOSE)

「すべてのコントロール パネル項目」を開く

CONST ssfCONTROLS = 3 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfCONTROLS) SLEEP(3.000) DIM ID = GETID("すべてのコントロール パネル項目") CTRLWIN(ID, CLOSE)

「プリンター」を開く

CONST ssfPRINTERS = 4 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfPRINTERS) SLEEP(3.000) DIM ID = GETID("プリンター") CTRLWIN(ID, CLOSE)

「ドキュメント」を開く

CONST ssfPERSONAL = 5 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfPERSONAL) SLEEP(3.000) DIM ID = GETID("ドキュメント") CTRLWIN(ID, CLOSE)

「お気に入り」を開く

CONST ssfFAVORITES = 6 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfFAVORITES) SLEEP(3.000) DIM ID = GETID("お気に入り") CTRLWIN(ID, CLOSE)

「スタートアップ」を開く

CONST ssfSTARTUP = 7 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfSTARTUP) SLEEP(3.000) DIM ID = GETID("スタートアップ") //CTRLWIN(ID, CLOSE)

「最近使った項目」を開く

CONST ssfRECENT = 8 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfRECENT) SLEEP(3.000) DIM ID = GETID("最近使った項目") CTRLWIN(ID, CLOSE)

「送る」を開く

CONST ssfSENDTO = 9 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfSENDTO) SLEEP(3.000) DIM ID = GETID("SendTo") CTRLWIN(ID, CLOSE)

「ごみ箱」を開く

CONST ssfBITBUCKET = 10 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfBITBUCKET) SLEEP(3.000) DIM ID = GETID("ごみ箱") CTRLWIN(ID, CLOSE)

「スタートメニュー」を開く

CONST ssfSTARTMENU = 11 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfSTARTMENU) SLEEP(3.000) DIM ID = GETID("スタート メニュー") CTRLWIN(ID, CLOSE)

「デスクトップ」を開く

CONST ssfDESKTOPDIRECTORY = 16 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfDESKTOPDIRECTORY) SLEEP(3.000) DIM ID = GETID("デスクトップ") CTRLWIN(ID, CLOSE)

「My Computer」を開く

CONST ssfDRIVES = 17 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfDRIVES) SLEEP(3.000) DIM ID = GETID("PC") CTRLWIN(ID, CLOSE)

「ネットワーク」を開く

CONST ssfNETWORK = 18 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfNETWORK) SLEEP(3.000) DIM ID = GETID("ネットワーク") CTRLWIN(ID, CLOSE)

「ネットワークショートカット」を開く

CONST ssfNETHOOD = 19 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfNETHOOD) SLEEP(3.000) DIM ID = GETID("Network Shortcuts") CTRLWIN(ID, CLOSE)

「フォント」を開く

CONST ssfFONTS = 20 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfFONTS) SLEEP(3.000) DIM ID = GETID("Fonts") CTRLWIN(ID, CLOSE)

「テンプレート」を開く

CONST ssfTEMPLATES = 21 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfTEMPLATES) SLEEP(3.000) DIM ID = GETID("Templates") CTRLWIN(ID, CLOSE)

「スタート メニュー」を開く

CONST ssfCOMMONSTARTMENU = 22 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfCOMMONSTARTMENU) SLEEP(3.000) DIM ID = GETID("スタート メニュー") CTRLWIN(ID, CLOSE)

「プログラム」を開く

CONST ssfCOMMONPROGRAMS = 23 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfCOMMONPROGRAMS) SLEEP(3.000) DIM ID = GETID("プログラム") CTRLWIN(ID, CLOSE)

「スタートアップ」を開く

CONST ssfCOMMONSTARTUP = 24 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfCOMMONSTARTUP) SLEEP(3.000) DIM ID = GETID("スタートアップ") //CTRLWIN(ID, CLOSE)

「パブリックデスクトップ」を開く

CONST ssfCOMMONDESKTOPDIR = 25 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfCOMMONDESKTOPDIR) SLEEP(3.000) DIM ID = GETID("パブリックデスクトップ") CTRLWIN(ID, CLOSE)

「Roaming」フォルダを開く

CONST ssfAPPDATA = 26 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfAPPDATA) SLEEP(3.000) DIM ID = GETID("Roaming") CTRLWIN(ID, CLOSE)

「Printer Shortcuts」を開く

CONST ssfPRINTHOOD = 27 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfPRINTHOOD) SLEEP(3.000) DIM ID = GETID("Printer Shortcuts") CTRLWIN(ID, CLOSE)

「Local」を開く

CONST ssfLOCALAPPDATA = 28 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfLOCALAPPDATA) SLEEP(3.000) DIM ID = GETID("Local") CTRLWIN(ID, CLOSE)

「スタートアップ」を開く

CONST ssfALTSTARTUP = 29 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfALTSTARTUP) SLEEP(3.000) DIM ID = GETID("スタートアップ") //CTRLWIN(ID, CLOSE)

「スタートアップ」を開く

CONST ssfCOMMONALTSTARTUP = 30 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfCOMMONALTSTARTUP) SLEEP(3.000) DIM ID = GETID("スタートアップ") //CTRLWIN(ID, CLOSE)

「お気に入り」を開く

CONST ssfCOMMONFAVORITES = 31 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfCOMMONFAVORITES) SLEEP(3.000) DIM ID = GETID("お気に入り") CTRLWIN(ID, CLOSE)

「Temporary Internet Files」を開く

Temporary Internet Fiels = インターネット一時ファイル

CONST ssfINTERNETCACHE = 32 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfINTERNETCACHE) SLEEP(3.000) DIM ID = GETID("Temporary Internet Files") CTRLWIN(ID, CLOSE)

「INetCookies」を開く

INetCookies = Cookieフォルダー

CONST ssfCOOKIES = 33 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfCOOKIES) SLEEP(3.000) DIM ID = GETID("INetCookies") CTRLWIN(ID, CLOSE)

「History」を開く

CONST ssfHISTORY = 34 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfHISTORY) SLEEP(3.000) DIM ID = GETID("History") CTRLWIN(ID, CLOSE)

「ProgramData」を開く

CONST ssfCOMMONAPPDATA = 35 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfCOMMONAPPDATA) SLEEP(3.000) DIM ID = GETID("ProgramData") CTRLWIN(ID, CLOSE)

「Windows」フォルダを開く

CONST ssfWINDOWS = 36 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfWINDOWS) SLEEP(3.000) DIM ID = GETID("Windows") CTRLWIN(ID, CLOSE)

「System32」を開く

CONST ssfSYSTEM = 37 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfSYSTEM) SLEEP(3.000) DIM ID = GETID("System32") CTRLWIN(ID, CLOSE)

「Program Files」を開く

CONST ssfPROGRAMFILES = 38 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfPROGRAMFILES) SLEEP(3.000) DIM ID = GETID("Program Files") CTRLWIN(ID, CLOSE)

「ピクチャ」を開く

CONST ssfMYPICTURES = 39 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfMYPICTURES) SLEEP(3.000) DIM ID = GETID("ピクチャ") CTRLWIN(ID, CLOSE)

「ユーザーフォルダ」を開く

CONST ssfPROFILE = 40 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfPROFILE) SLEEP(3.000) DIM WshShell = CREATEOLEOBJ("WScript.Shell") DIM ID = GETID(WshShell.ExpandEnvironmentStrings("%USERNAME%")) CTRLWIN(ID, CLOSE)

「SysWOW64」フォルダを開く

CONST ssfSYSTEMx86 = 41 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfSYSTEMx86) SLEEP(3.000) DIM ID = GETID("SysWOW64") CTRLWIN(ID, CLOSE)

「Windows 管理ツール」を開く

CONST ssfPROGRAMFILESx86 = 48 DIM Shell = CREATEOLEOBJ("Shell.Application") Shell.Explore(ssfPROGRAMFILESx86) SLEEP(3.000) DIM ID = GETID("Windows 管理ツール") CTRLWIN(ID, CLOSE)