I never said it was generating a sim event. As I can't detect any with FSUIPC's Mouse Macro or the suggested GAUGE_KEY_EVENT_HANDLER function,
See my opening mesage. This bring back my first question in this thread , is it impossible?
I believe now, that it is impossible.
To clarify a little more:
With "soft" key I mean a clickable spot/symbol on the gauge screen. The gauge has several clickable spots/symbols.
I know that that the "soft" key I am trying to find the ID for is something that is clickable and will trigger an action.
I know that because when I...
Thanks for reply.
But, isn't using the GAUGE_KEY_EVENT_HANDLER function to detect eventIDs, the same as can be achieved with FSUIPC's Mouse Macro function?
I have used it to try to detect the eventID in order to "click" them via C++ code.
The Mouse Macro funtion in FSUIPC detected all...
I am trying to access "soft" keys on a gauge for an user aircraft.
The gauge has no Lvars for the "soft" keys. I can access the "soft" keys by hoovering over the "soft" key and make a left click on the mouse. This is the built in way of accessing these "soft" keys.
I am about to make a...
Found out after some SDK reading:
hr = SimConnect_SubscribeToSystemEvent(hSimConnect, EVENT_TEXT_WINDOW_CREATED, "TextEventCreated");
while (0 == quit)
// query a datablock, will arive in the callback proc
int hr = SimConnect_CallDispatch(hSimConnect...
After been loaded into P3Dv4 some airplanes take some time to initialize internal data before they are ready for user/client inputs.
The airplane is sending out a text message that is displayed in the main P3D window when ready.
Is there a way to read this message by my dll using...
I have my DLL working fine, but I want it to be active only when a specific airplane is loaded.
If another airplane is selected/loaded, the DLL should be deactivated.
I haven't found a good way of doing this yet. I know I could look for loaded airplane via SimConnect, and if not loaded...
This is what I do for the Simconnect Variables I have, as some of the airplane's variables are done as Simconnect Variables.
This was new for me. I thought the ID was hardcoded and therefore the same for all sessions. Thanks for letting me know this important fact. Then I will go over to use...
I follow you on the last parts of your answer, but the
"I make a single data definition using some obscure variable like IS USER SIM",
I really do not understand. Could you try to explain this more in detail not only for me, but for others that are heading into DLL coding.
I have more or less finished my DLL project and are doing some testing to improve the performance.
I have a threadin my DLL that reads an airplane LVar values implemented as shown second code part below. It is , I believe, not a professional way of doing it , but it works.
Is there a better...
Got the comm thread working now by using the
hcommThread = CreateThread(NULL, 1024, my_comm, NULL, 0, &ThreadID)
The _beginthread in your link I didn't know about. Is there a preferred one when programming in the P3D environment or are they more or less the same?
I have added the code for initiating a communication client and it sets up a connection to the communication server( my C++ app)
After the initialization of the comm.client, P3D takes over.
I guess I need to create separate threads for reading/setting lvar values and reading/sending on the...
I know I can scroll with mouse, but more visible lines(lvars) would be better(at leaset for my purpose).
The nicest would be a fixed font size and an increased/decreased number of lines when increasing/decreasing the window with mouse.
A filtering function is the most important though.
I really liked the p3d_xlm_vars_64.dll I downloaded . it help me during the debug phase of my program.
It it possible for you to add some new features to it?
Increase outpu lines from 20 to lets say 100
Filterering of displayed lvar name
Copy function of all lines to clipboard for...
Tried it , but I didn't get it to work. The window comes up, but it is just a dark window. Probably my bad.
Where do the dll go? In the P3Dv4/Gauges folder or P3Dv4 main folder or somewhere else?
Or should it be started from the dll.xml file?
I have tried most alternatives listed above, but...
I have some trouble to get my head around the DLL programming in general and the lvar_interface dll
Lets say I just want to get the value of lvar "B767_AT_Arm_Sw"
Shouldn't that be done with the
But, where in the dll code " dllmain.cpp" should it be?
I looked into that , but I was not sure that SimConnect "commands" could be used within a DLL that is running in the P3Dv4 process. I was looking for some FSAPI "commands".
To me this looks like going out of the process and then back again. But, my knowledge of P3Dv4 DLL programming has just...
Anyone who knows how to display lvar values that I get from the
double GetLVarByName(PCSTRINGZ lvname)
//checks for a valid string
if (lvname == 0) return 0.;
if (strlen(lvname) == 0) return 0.;
ID i = check_named_variable(lvname);