Sample: NoCallback.cpp
//------------------------------------------------------------------------------ // // SimConnect No Callback Sample // // Description: // Responds to the user aircraft brakes, without a callback function //------------------------------------------------------------------------------ #include <windows.h> #include <tchar.h> #include <stdio.h> #include <strsafe.h> #include "SimConnect.h" int quit = 0; HANDLE hSimConnect = NULL; static enum GROUP_ID10 { GROUP_10, }; static enum EVENT_ID10 { EVENT_BRAKES_10, }; void testNoCallback() { SIMCONNECT_RECV* pData; DWORD cbData; HRESULT hr; if (SUCCEEDED(SimConnect_Open(&hSimConnect;, "No Callback", NULL, 0, 0, 0))) { printf("\nConnected...!"); hr = SimConnect_MapClientEventToSimEvent(hSimConnect, EVENT_BRAKES_10, "brakes"); hr = SimConnect_AddClientEventToNotificationGroup(hSimConnect, GROUP_10, EVENT_BRAKES_10); hr = SimConnect_SetNotificationGroupPriority(hSimConnect, GROUP_10, SIMCONNECT_GROUP_PRIORITY_HIGHEST); while( 0 == quit ) { hr = SimConnect_GetNextDispatch(hSimConnect, &pData;, &cbData;); if (SUCCEEDED(hr)) { switch(pData->dwID) { case SIMCONNECT_RECV_ID_EVENT: { // enter code to handle events received in a SIMCONNECT_RECV_EVENT structure. SIMCONNECT_RECV_EVENT *evt = (SIMCONNECT_RECV_EVENT*) pData; switch(evt->uEventID) { case EVENT_BRAKES_10: printf("\nEvent brakes: %d", evt->dwData); break; default: break; } } break; case SIMCONNECT_RECV_ID_QUIT: // enter code to handle exiting the application quit = 1; break; default: break; } } } hr = SimConnect_Close(hSimConnect); } } int __cdecl _tmain(int argc, _TCHAR* argv[]) { testNoCallback(); return 0; } |