using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.FlightSimulator.SimConnect;
using System.Runtime.InteropServices;
namespace SetEvent
{
public partial class Form1 : Form
{
const int WM_USER_SIMCONNECT = 0x0402;
SimConnect simconnect = null;
enum EVENTS
{
KEY_NAV1_STBY_SET,
};
enum GROUP
{
ID_PRIORITY_STANDARD = 1900000000,
};
public Form1()
{
InitializeComponent();
}
protected override void DefWndProc(ref Message m)
{
if (m.Msg == WM_USER_SIMCONNECT)
{
if (simconnect != null)
{
simconnect.ReceiveMessage();
}
}
else
{
base.DefWndProc(ref m);
}
}
private void btnConnect_Click(object sender, EventArgs e)
{
simconnect = new SimConnect("SetEvent", this.Handle, WM_USER_SIMCONNECT, null, 0);
}
private void btnSetEvent_Click(object sender, EventArgs e)
{
simconnect.MapClientEventToSimEvent(EVENTS.KEY_NAV1_STBY_SET, "NAV1_STBY_SET");
simconnect.TransmitClientEvent(SimConnect.SIMCONNECT_OBJECT_ID_USER, EVENTS.KEY_NAV1_STBY_SET, 0x11120 , GROUP.ID_PRIORITY_STANDARD, SIMCONNECT_EVENT_FLAG.GROUPID_IS_PRIORITY);
}
}
}