CitrixSearchWindowById Function

Action

This function uses window-id (MS Windows) to search for a window. If the function succeeds it returns a window handle that can be used as the nWindow parameter in Citrix functions.

Include file

CitrixAPI.bdh

Syntax

CitrixSearchWindowById( in nId : number ): number;

Return value

  • >0 if the function succeeds

  • 0 otherwise

Parameter Description
nId Retrieves the window-id of the specified window.

Example:

  transaction TMain
  var
    nWindowHandle       : number;
    nWindowSearchHandle : number;
    nWindowID           : number; 
    i                   : number;
  begin
    CitrixInit(640, 480);
    CitrixConnect("myserver", "myusername", "mypass", "mydomain", COLOR_16bit);
    CitrixWaitForLogon();
    hWnd6 := CitrixWaitForWindowCreation("ICA Seamless Host Agent", MATCH_Exact, 0x94C800C4, 0, 0, 390, 223);
    CitrixWaitForWindow(hWnd6, EVENT_Activate);
    CitrixWaitForWindowCreation("Program Manager");
    CitrixMouseClick(182, 195, hWnd6, MOUSE_ButtonLeft);
    CitrixWaitForWindow(hWnd6, EVENT_Destroy);
    ThinkTime(2.78);
    CitrixMouseDblClick(38, 22, DESKTOP, MOUSE_ButtonLeft);
    hWnd8 := CitrixWaitForWindowCreation("My Documents", MATCH_Exact, 0x16CF0000, 285, 31, 268, 205);
    CitrixWaitForWindow(hWnd8, EVENT_Activate);
    i := 0;
    nWindowHandle := CitrixGetWindow(i);
    while (nWindowHandle > 0) do
      CitrixGetWindowId(nWindowHandle, nWindowID);
      nWindowSearchHandle := CitrixSearchWIndowById(nWindowID);
      print("window " + string(nWindowHandle)
                      + "; ID: " + string(nWindowID)
                      + "; found handle ID:" + string(nWindowSearchHandle));
      i := i + 1;
      nWindowHandle := CitrixGetWindow(i);
    end;
    CitrixMouseClick(258, 13, hWnd8, MOUSE_ButtonLeft);
    CitrixWaitForWindow(hWnd8, EVENT_Destroy);
    CitrixDisconnect();
  end TMain;