To be used only within an event handler. This function returns the actual Citrix interrupt reason as well as the window that triggered it.
CitrixAPI.bdh
CitrixGetActInterrupt( out nReason : number allownull , out nWindow : number optional ): boolean;
true if the function succeeds
false otherwise
Parameter | Description |
---|---|
nReason |
Returns one of the following values:
|
nWindow | Retrieves the window handle that triggered the interrupt. |
transaction TMain var begin CitrixInit(800, 600); CitrixAddInterrupt(INTERRUPT_WindowCreate, "ICA Seamless Host Agent", MATCH_Exact); CitrixConnect("lab74", "labadmin", "labpass", "testlab1", COLOR_16bit); CitrixWaitForLogon(); hWnd4 := CitrixWaitForWindowCreation("", MATCH_Exact, 0x96840000, -2, 572, 804, 30); CitrixWaitForWindowCreation("Program Manager"); CitrixMouseClick(36, 17, hWnd4, MOUSE_ButtonLeft, MOD_None, -1, 0); hWnd11 := CitrixWaitForWindowCreation("", MATCH_Exact, 0x96400000, 2, 313, 163, 263); CitrixMouseClick(62, 247, hWnd11, MOUSE_ButtonLeft); CitrixWaitForWindow(hWnd11, EVENT_Destroy); hWnd12 := CitrixWaitForWindowCreation("Shut Down Windows", MATCH_Exact, 0x94C808CC, 191, 136, 417, 192); CitrixWaitForWindow(hWnd12, EVENT_Activate); CitrixMouseClick(203, 170, hWnd12, MOUSE_ButtonLeft); CitrixWaitForDisconnect(); end TMain; dclevent handler Handler1 <EVENT_CITRIXINTERRUPT> var nInterrupt, nWindow : number; nStyle : number; begin CitrixGetActInterrupt(nInterrupt, nWindow); ErrorAdd(FACILITY_CITRIXENGINE, 47, SEVERITY_INFORMATIONAL); print(string(nWindow)); if CitrixGetWindowStyle(nWindow, nStyle) and (nStyle <> 0xB4000000) then CitrixWaitForWindow(nWindow, EVENT_Activate); CitrixMouseClick(201, 202, nWindow, MOUSE_ButtonLeft); CitrixWaitForWindow(nWindow, EVENT_Destroy); end; ErrorRemove(FACILITY_CITRIXENGINE, 47); end Handler1;