Show / Hide Table of Contents

Method wnd.findOrRun


Overload

Finds a top-level window, like wnd.find. If found, activates (optionally), else calls callback function and waits for the window. The callback should open the window, for example call run.it.

public static wnd findOrRun(string name = null, string cn = null, WOwner of = default, WFlags flags = 0, Func<wnd, bool> also = null, WContains contains = default, Action run = null, Seconds? wait = null, bool activate = true)
Parameters
name  (string)

Window name. Usually it is the title bar text. String format: wildcard expression. null means "can be any". "" means "no name".

cn  (string)

Window class name. String format: wildcard expression. null means "can be any". Cannot be "".

of  (WOwner)

Owner window, program or thread. Depends on argument type:

  • wnd - owner window. Will use wnd.IsOwnedBy with level 2.
  • string - program file name, like "notepad.exe". String format: wildcard expression. Cannot be "" or path.
  • WOwner - WOwner.Process(process id), WOwner.Thread(thread id).

See wnd.getwnd.Owner, wnd.ProcessId, process.thisProcessId, wnd.ThreadId, process.thisThreadId.

flags  (WFlags)
also  (Func<wnd, bool>)

Callback function. Called for each matching window. It can evaluate more properties of the window and return true when they match. Example: also: t => !t.IsPopupWindow. Called after evaluating all other parameters except contains.

contains  (WContains)

Defines an object that must be in the client area of the window:

  • UI element: elmFinder or string like "name" or "e 'role' name" or "e 'role'".
  • Child control: wndChildFinder or string like "c 'cn' name" or "c '' name" or "c 'cn'".
  • Image(s) or color(s): uiimageFinder or string "image:..." (uses a uiimageFinder with flag IFFlags.WindowDC).
  • OCR text: ocrFinder or string "ocr:..." (uses an ocrFinder with flag OcrFlags.WindowDC).
run  (Action)

Callback function. See example.

wait  (Seconds?)

How long to wait for the window after calling the callback function. Seconds. Default 60.

activate  (bool)

Activate the window. Default: true.

Returns
wnd

Window handle as wnd. On timeout returns default(wnd) if wait < 0 (else exception).

Exceptions
NotFoundException

wait time has expired (if >= 0).

AuWndException

Failed to activate.

ArgumentException
  • cn is "". To match any, use null.
  • of is "" or 0 or contains character '\\' or '/'. To match any, use null.
  • Invalid wildcard expression ("**options " or regular expression).

Examples

wnd w = wnd.findOrRun("* Notepad", run: () => run.it("notepad.exe"));
print.it(w);