Пример #1
0
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