void selectElement(){ API_ElemTypeID typeID; API_Guid guid; API_Element element; API_ElementMemo memo; API_Coord3D c3; GSErrCode err = NoError; elementid eleMsg; char buffer[256]; while (!ClickAnElem("Click an element", API_ZombieElemID, NULL, &typeID, &guid, &c3)){ } /* if (!ClickAnElem("Click an element", API_ZombieElemID, NULL, &typeID, &guid, &c3)) { WriteReport_Alert("Please click an element"); return; } */ BNZeroMemory(&element, sizeof(API_Element)); element.header.typeID = typeID; element.header.guid = guid; err = ACAPI_Element_Get(&element); if (err != NoError) { sprintf(buffer, ErrID_To_Name(err)); ACAPI_WriteReport(buffer, true); return; } sendElementID(getClientSocket(), element); }
// ============================================================================ // Do_ClickedElementMonitor // // observe clicked element // ============================================================================ void Do_ClickedElementMonitor (bool switchOn) { API_Elem_Head elemHead; GSErrCode err = NoError; BNZeroMemory (&elemHead, sizeof (API_Elem_Head)); if (!ClickAnElem ("Click an element", API_ZombieElemID, NULL, &elemHead.typeID, &elemHead.guid)) { WriteReport_Alert ("No element was clicked"); return; } if (switchOn) { ACAPI_Notify_InstallElementObserver (ElementEventHandlerProc); err = ACAPI_Element_AttachObserver (&elemHead, 0); if (err == APIERR_LINKEXIST) err = NoError; } else { err = ACAPI_Element_DetachObserver (&elemHead); } return; } // Do_ClickedElementMonitor