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.
CitrixAPI.bdh
CitrixSearchWindowById( in nId : number ): number;
>0 if the function succeeds
0 otherwise
Parameter | Description |
---|---|
nId | Retrieves the window-id of the specified window. |
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;