...
my_simconnect.AddToDataDefinition(DEFINITIONS.Struct1, "GPS APPROACH TIMEZONE DEVIATION", "seconds", SIMCONNECT_DATATYPE.FLOAT64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
my_simconnect.AddToDataDefinition(DEFINITIONS.Struct1, "GPS APPROACH WP INDEX", "number", SIMCONNECT_DATATYPE.FLOAT64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
my_simconnect.AddToDataDefinition(DEFINITIONS.Struct1, "GPS APPROACH WP COUNT", "number", SIMCONNECT_DATATYPE.FLOAT64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
my_simconnect.AddToDataDefinition(DEFINITIONS.Struct1, "GPS TARGET DISTANCE", "meters", SIMCONNECT_DATATYPE.FLOAT64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
my_simconnect.AddToDataDefinition(DEFINITIONS.Struct1, "GPS TARGET ALTITUDE", "meters", SIMCONNECT_DATATYPE.FLOAT64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
my_simconnect.RegisterDataDefineStruct<Struct1>(DEFINITIONS.Struct1);
my_simconnect.AddToDataDefinition(DEFINITIONS.StructString, "ATC AIRLINE", "number", SIMCONNECT_DATATYPE.STRING64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
my_simconnect.AddToDataDefinition(DEFINITIONS.StructString, "ATC FLIGHT NUMBER", "number", SIMCONNECT_DATATYPE.STRING64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
my_simconnect.AddToDataDefinition(DEFINITIONS.StructString, "ATC ID", "number", SIMCONNECT_DATATYPE.STRING64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
my_simconnect.AddToDataDefinition(DEFINITIONS.StructString, "ATC MODEL", "number", SIMCONNECT_DATATYPE.STRING64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
my_simconnect.AddToDataDefinition(DEFINITIONS.StructString, "ATC TYPE", "number", SIMCONNECT_DATATYPE.STRING64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
my_simconnect.AddToDataDefinition(DEFINITIONS.StructString, "ATC APPROACH AIRPORT ID", "number", SIMCONNECT_DATATYPE.STRING64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
my_simconnect.AddToDataDefinition(DEFINITIONS.StructString, "ATC GPS APPROACH APPROACH ID", "number", SIMCONNECT_DATATYPE.STRING64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
my_simconnect.AddToDataDefinition(DEFINITIONS.StructString, "ATC GPS APPROACH TRANSITION ID", "number", SIMCONNECT_DATATYPE.STRING64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
my_simconnect.AddToDataDefinition(DEFINITIONS.StructString, "GPS WP NEXT ID", "number", SIMCONNECT_DATATYPE.STRING64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
my_simconnect.AddToDataDefinition(DEFINITIONS.StructString, "GPS WP PREV ID", "number", SIMCONNECT_DATATYPE.STRING64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
my_simconnect.AddToDataDefinition(DEFINITIONS.StructString, "HSI STATION IDENT", "number", SIMCONNECT_DATATYPE.STRING64, 0.0f, SimConnect.SIMCONNECT_UNUSED);
my_simconnect.RegisterDataDefineStruct<StructString>(DEFINITIONS.StructString);
my_simconnect.OnRecvSimobjectDataBytype += new SimConnect.RecvSimobjectDataBytypeEventHandler(simconnect_OnRecvSimobjectDataBytype);
}
...
try
{
my_simconnect.RequestDataOnSimObjectType(DATA_REQUESTS.REQUEST_1, DEFINITIONS.Struct1, 0, SIMCONNECT_SIMOBJECT_TYPE.USER);
my_simconnect.RequestDataOnSimObjectType(DATA_REQUESTS.REQUEST_2, DEFINITIONS.StructString, 0, SIMCONNECT_SIMOBJECT_TYPE.USER);
}
catch (Exception eree)
{
MessageBox.Show(eree.Message, "YOU'RE FLOODING MSFS WITH REQUESTS!!! CHILL DUDE!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
...
private enum DEFINITIONS
{
Struct1, StructString
}
private enum DATA_REQUESTS
{
REQUEST_1, REQUEST_2
}
...
[StructLayout(LayoutKind.Sequential, Pack = 1)]
private struct StructString
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
public string ATCAIRLINE;
public string ATCFLTNBR;
public string ATCID;
public string ATCMODEL;
public string ATCTYPE;
public string GPSAPPRAPRTID;
public string GPSAPPRID;
public string GPSAPPRTRANSID;
public string GPSWPNEXTID;
public string GPSWPPREVID;
public string HSISTATION;
}
...
case DATA_REQUESTS.REQUEST_2:
StructString structstr = (StructString)data.dwData[0];
lblaATCAirline.Text = structstr.ATCAIRLINE; ;
lblbATCFLTNBR.Text = structstr.ATCFLTNBR;
lblcATCID.Text = structstr.ATCID;
lbldATCMODEL.Text = structstr.ATCMODEL;
lbleATCType.Text = structstr.ATCTYPE;
lblfGPSAPPRAPRTID.Text = structstr.GPSAPPRAPRTID;
lblgGPSAPPRID.Text = structstr.GPSAPPRID;
lblhGPSAPPRTRANSID.Text = structstr.GPSAPPRTRANSID;
lbliGPSWPNEXTID.Text = structstr.GPSWPNEXTID;
lbljGPSWPPREVID.Text = structstr.GPSWPPREVID;
lblkHSISTATIDENT.Text = structstr.HSISTATION;
break;