jp.hishidama.robot
クラス WindowsRobot

java.lang.Object
  上位を拡張 jp.hishidama.robot.WindowsRobot
すべての実装されたインタフェース:
WinUserConst

public class WindowsRobot
extends Object
implements WinUserConst

MS-Windowsウィンドウ自動実行クラス.

MS-Windowsのウィンドウを操作するユーティリティークラス。
使用例

作成者:
ひしだま

フィールドの概要
 
インタフェース jp.hishidama.win32.api.WinUserConst から継承されたフィールド
BM_CLICK, BM_GETCHECK, BM_GETIMAGE, BM_GETSTATE, BM_SETCHECK, BM_SETIMAGE, BM_SETSTATE, BM_SETSTYLE, BN_CLICKED, BN_DBLCLK, BN_DISABLE, BN_DOUBLECLICKED, BN_HILITE, BN_KILLFOCUS, BN_PAINT, BN_PUSHED, BN_SETFOCUS, BN_UNHILITE, BN_UNPUSHED, BST_CHECKED, BST_FOCUS, BST_INDETERMINATE, BST_PUSHED, BST_UNCHECKED, CWP_ALL, CWP_SKIPDISABLED, CWP_SKIPINVISIBLE, CWP_SKIPTRANSPARENT, GW_CHILD, GW_ENABLEDPOPUP, GW_HWNDFIRST, GW_HWNDLAST, GW_HWNDNEXT, GW_HWNDPREV, GW_MAX, GW_OWNER, GWL_EXSTYLE, GWL_HINSTANCE, GWL_HWNDPARENT, GWL_ID, GWL_STYLE, GWL_USERDATA, GWL_WNDPROC, HWND_BOTTOM, HWND_NOTOPMOST, HWND_TOP, HWND_TOPMOST, IDABORT, IDCANCEL, IDCLOSE, IDCONTINUE, IDHELP, IDIGNORE, IDNO, IDOK, IDRETRY, IDTIMEOUT, IDTRYAGAIN, IDYES, MB_ABORTRETRYIGNORE, MB_APPLMODAL, MB_CANCELTRYCONTINUE, MB_DEFAULT_DESKTOP_ONLY, MB_DEFBUTTON1, MB_DEFBUTTON2, MB_DEFBUTTON3, MB_DEFBUTTON4, MB_DEFMASK, MB_HELP, MB_ICONASTERISK, MB_ICONERROR, MB_ICONEXCLAMATION, MB_ICONHAND, MB_ICONINFORMATION, MB_ICONMASK, MB_ICONQUESTION, MB_ICONSTOP, MB_ICONWARNING, MB_MISCMASK, MB_MODEMASK, MB_NOFOCUS, MB_OK, MB_OKCANCEL, MB_RETRYCANCEL, MB_RIGHT, MB_RTLREADING, MB_SETFOREGROUND, MB_SYSTEMMODAL, MB_TASKMODAL, MB_TOPMOST, MB_TYPEMASK, MB_USERICON, MB_YESNO, MB_YESNOCANCEL, MK_CONTROL, MK_LBUTTON, MK_MBUTTON, MK_RBUTTON, MK_SHIFT, MN_GETHMENU, SW_FORCEMINIMIZE, SW_HIDE, SW_MAX, SW_MAXIMIZE, SW_MINIMIZE, SW_NORMAL, SW_RESTORE, SW_SHOW, SW_SHOWDEFAULT, SW_SHOWMAXIMIZED, SW_SHOWMINIMIZED, SW_SHOWMINNOACTIVE, SW_SHOWNA, SW_SHOWNOACTIVATE, SW_SHOWNORMAL, SWP_ASYNCWINDOWPOS, SWP_DEFERERASE, SWP_DRAWFRAME, SWP_FRAMECHANGED, SWP_HIDEWINDOW, SWP_NOACTIVATE, SWP_NOCOPYBITS, SWP_NOMOVE, SWP_NOOWNERZORDER, SWP_NOREDRAW, SWP_NOREPOSITION, SWP_NOSENDCHANGING, SWP_NOSIZE, SWP_NOZORDER, SWP_SHOWWINDOW, WM_ACTIVATE, WM_ACTIVATEAPP, WM_AFXFIRST, WM_AFXLAST, WM_APP, WM_ASKCBFORMATNAME, WM_CANCELJOURNAL, WM_CANCELMODE, WM_CAPTURECHANGED, WM_CHANGECBCHAIN, WM_CHAR, WM_CHARTOITEM, WM_CHILDACTIVATE, WM_CLEAR, WM_CLOSE, WM_COMMAND, WM_COMMNOTIFY, WM_COMPACTING, WM_COMPAREITEM, WM_CONTEXTMENU, WM_COPY, WM_COPYDATA, WM_CREATE, WM_CTLCOLORBTN, WM_CTLCOLORDLG, WM_CTLCOLOREDIT, WM_CTLCOLORLISTBOX, WM_CTLCOLORMSGBOX, WM_CTLCOLORSCROLLBAR, WM_CTLCOLORSTATIC, WM_CUT, WM_DEADCHAR, WM_DELETEITEM, WM_DESTROY, WM_DESTROYCLIPBOARD, WM_DEVICECHANGE, WM_DEVMODECHANGE, WM_DISPLAYCHANGE, WM_DRAWCLIPBOARD, WM_DRAWITEM, WM_DROPFILES, WM_ENABLE, WM_ENDSESSION, WM_ENTERIDLE, WM_ENTERMENULOOP, WM_ENTERSIZEMOVE, WM_ERASEBKGND, WM_EXITMENULOOP, WM_EXITSIZEMOVE, WM_FONTCHANGE, WM_GETDLGCODE, WM_GETFONT, WM_GETHOTKEY, WM_GETICON, WM_GETMINMAXINFO, WM_GETOBJECT, WM_GETTEXT, WM_GETTEXTLENGTH, WM_HANDHELDFIRST, WM_HANDHELDLAST, WM_HELP, WM_HOTKEY, WM_HSCROLL, WM_HSCROLLCLIPBOARD, WM_ICONERASEBKGND, WM_IME_CHAR, WM_IME_COMPOSITION, WM_IME_COMPOSITIONFULL, WM_IME_CONTROL, WM_IME_ENDCOMPOSITION, WM_IME_KEYDOWN, WM_IME_KEYLAST, WM_IME_KEYUP, WM_IME_NOTIFY, WM_IME_REQUEST, WM_IME_SELECT, WM_IME_SETCONTEXT, WM_IME_STARTCOMPOSITION, WM_INITDIALOG, WM_INITMENU, WM_INITMENUPOPUP, WM_INPUTLANGCHANGE, WM_INPUTLANGCHANGEREQUEST, WM_KEYDOWN, WM_KEYFIRST, WM_KEYUP, WM_KILLFOCUS, WM_LBUTTONDBLCLK, WM_LBUTTONDOWN, WM_LBUTTONUP, WM_MBUTTONDBLCLK, WM_MBUTTONDOWN, WM_MBUTTONUP, WM_MDIACTIVATE, WM_MDICASCADE, WM_MDICREATE, WM_MDIDESTROY, WM_MDIGETACTIVE, WM_MDIICONARRANGE, WM_MDIMAXIMIZE, WM_MDINEXT, WM_MDIREFRESHMENU, WM_MDIRESTORE, WM_MDISETMENU, WM_MDITILE, WM_MEASUREITEM, WM_MENUCHAR, WM_MENUCOMMAND, WM_MENUDRAG, WM_MENUGETOBJECT, WM_MENURBUTTONUP, WM_MENUSELECT, WM_MOUSEACTIVATE, WM_MOUSEFIRST, WM_MOUSEHOVER, WM_MOUSELEAVE, WM_MOUSEMOVE, WM_MOVE, WM_MOVING, WM_NCACTIVATE, WM_NCCALCSIZE, WM_NCCREATE, WM_NCDESTROY, WM_NCHITTEST, WM_NCLBUTTONDBLCLK, WM_NCLBUTTONDOWN, WM_NCLBUTTONUP, WM_NCMBUTTONDBLCLK, WM_NCMBUTTONDOWN, WM_NCMBUTTONUP, WM_NCMOUSEHOVER, WM_NCMOUSELEAVE, WM_NCMOUSEMOVE, WM_NCPAINT, WM_NCRBUTTONDBLCLK, WM_NCRBUTTONDOWN, WM_NCRBUTTONUP, WM_NEXTDLGCTL, WM_NEXTMENU, WM_NOTIFY, WM_NOTIFYFORMAT, WM_NULL, WM_PAINT, WM_PAINTCLIPBOARD, WM_PAINTICON, WM_PALETTECHANGED, WM_PALETTEISCHANGING, WM_PARENTNOTIFY, WM_PASTE, WM_PENWINFIRST, WM_PENWINLAST, WM_POWER, WM_POWERBROADCAST, WM_PRINT, WM_PRINTCLIENT, WM_QUERYDRAGICON, WM_QUERYENDSESSION, WM_QUERYNEWPALETTE, WM_QUERYOPEN, WM_QUEUESYNC, WM_QUIT, WM_RBUTTONDBLCLK, WM_RBUTTONDOWN, WM_RBUTTONUP, WM_RENDERALLFORMATS, WM_RENDERFORMAT, WM_SETCURSOR, WM_SETFOCUS, WM_SETFONT, WM_SETHOTKEY, WM_SETICON, WM_SETREDRAW, WM_SETTEXT, WM_SETTINGCHANGE, WM_SHOWWINDOW, WM_SIZE, WM_SIZECLIPBOARD, WM_SIZING, WM_SPOOLERSTATUS, WM_STYLECHANGED, WM_STYLECHANGING, WM_SYNCPAINT, WM_SYSCHAR, WM_SYSCOLORCHANGE, WM_SYSCOMMAND, WM_SYSDEADCHAR, WM_SYSKEYDOWN, WM_SYSKEYUP, WM_TCARD, WM_TIMECHANGE, WM_TIMER, WM_UNDO, WM_UNINITMENUPOPUP, WM_USER, WM_USERCHANGED, WM_VKEYTOITEM, WM_VSCROLL, WM_VSCROLLCLIPBOARD, WM_WINDOWPOSCHANGED, WM_WINDOWPOSCHANGING, WM_WININICHANGE
 
コンストラクタの概要
WindowsRobot()
           
 
メソッドの概要
 void delay(int time)
          指定時間待機.
 JWnd findWindow(String title, int time, int count)
          ウィンドウ探索.
 int getAutoDelay()
          待機時間取得.
 Rectangle getBounds()
          ウィンドウ範囲取得.
 JWnd getJWnd()
          操作対象ウィンドウ取得.
 String getTitle()
          ウィンドウタイトル取得.
 boolean isTarget(JWnd wnd, String title)
          タイトル確認.
 void setAutoDelay(int ms)
          待機時間設定.
 boolean setBounds(int x, int y, int cx, int cy)
          範囲設定.
 boolean setForegroundWindow()
          最前面移動.
 void setJWnd(JWnd wnd)
          操作対象ウィンドウ設定.
 boolean setLocation(int x, int y)
          位置設定.
 boolean setSize(int cx, int cy)
          サイズ設定.
 boolean waitForTitle(String title, int time, int count)
          タイトル変更待ち.
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

WindowsRobot

public WindowsRobot()
メソッドの詳細

delay

public void delay(int time)
指定時間待機.

パラメータ:
time - ウェイト[ミリ秒]

findWindow

public JWnd findWindow(String title,
                       int time,
                       int count)
ウィンドウ探索.

タイトルの一部が一致するウィンドウを探す。
見つからない場合、指定された時間だけスリープし、再度探索する。
指定された回数だけリトライする。

パラメータ:
title - タイトル
time - スリープ時間[ミリ秒]
count - リトライ回数
戻り値:
ウィンドウ(見つからない場合、null)

setJWnd

public void setJWnd(JWnd wnd)
操作対象ウィンドウ設定.

パラメータ:
wnd - JWnd

getJWnd

public JWnd getJWnd()
操作対象ウィンドウ取得.

戻り値:
JWnd

setAutoDelay

public void setAutoDelay(int ms)
待機時間設定.

時間のかかるウィンドウ操作を呼び出す各メソッドでは、処理完了時にウェイトする。
その時間を当メソッドで設定する。

パラメータ:
ms - ウェイト[ミリ秒]

getAutoDelay

public int getAutoDelay()
待機時間取得.

戻り値:
ウェイト[ミリ秒]

waitForTitle

public boolean waitForTitle(String title,
                            int time,
                            int count)
タイトル変更待ち.

ウィンドウのタイトルの一部が一致するまで待つ。
IEやテキストエディタ等の、ウィンドウのタイトルが変わる場合に それを待つ際に使うことを想定している。
指定された時間だけスリープしつつ、指定された回数だけリトライする。

パラメータ:
title - タイトル
time - スリープ時間[ミリ秒]
count - リトライ回数
戻り値:
見つかった場合、true

isTarget

public boolean isTarget(JWnd wnd,
                        String title)
タイトル確認.

ウィンドウのタイトルに 指定された文字列が含まれていればtrueを返す。

パラメータ:
wnd - ウィンドウ
title - 文字列
戻り値:
部分一致した場合、true

getTitle

public String getTitle()
ウィンドウタイトル取得.

戻り値:
タイトル(取得失敗時はnull)

setForegroundWindow

public boolean setForegroundWindow()
最前面移動.

ウィンドウを最前面に移動させる。
ウィンドウがアイコン化(最小化)していた場合は、以前の大きさに戻す。

戻り値:
true:成功
関連項目:
setAutoDelay(int)

setLocation

public boolean setLocation(int x,
                           int y)
位置設定.

パラメータ:
x -
y -
戻り値:
true:成功
関連項目:
setBounds(int, int, int, int), setAutoDelay(int)

setSize

public boolean setSize(int cx,
                       int cy)
サイズ設定.

パラメータ:
cx -
cy -
戻り値:
true:成功
関連項目:
setBounds(int, int, int, int), setAutoDelay(int)

setBounds

public boolean setBounds(int x,
                         int y,
                         int cx,
                         int cy)
範囲設定.

パラメータ:
x -
y -
cx -
cy -
戻り値:
true:成功
関連項目:
setAutoDelay(int)

getBounds

public Rectangle getBounds()
ウィンドウ範囲取得.

戻り値:
範囲(スクリーン座標系)