Jump to content
The simFlight Network Forums

mroschk

Members
  • Content Count

    116
  • Joined

  • Last visited

Community Reputation

1 Neutral

About mroschk

  • Rank
    Advanced Member

Profile Information

  • Gender
    Not Telling
  • Location
    germany

Recent Profile Visitors

878 profile views
  1. mroschk

    Read L:Var

    I am glad that also I can help you a little bit. For me the Problem stays, because it is a bit more complicated. The code works fine if you take the Mouse and press a Button on the App which gives the Focus to the P3D. BUt for me, and my litte programm, it works a bit different. The Programm is a little "Talker" (lets say) between my Program and the FMC from Prosim737. So, the talker runs always minimized. Now i can call a page in the FMC and press there a LSK, which then should open GSX. (like a Remote control for GSX, because in my Homecockpit i dont want to use a Mouse) Ok, after that this command to open GSX is transported via a HttpListener to my talker, which then should activate P3D and send STRG+F12. Now, after my first test i wonder very very because the code, which works in the little test app ( where i click with the Mouse on the button to open the GSX menu (( little app has the Focus ))) did not work when i use the FMC...wonder wonder ... 🙂 After that i put a testbutton on my talker app, which did exactly the same like the FMC calls or the little test app...and voila, it works ... more wonder wonder ??? Now, it seams the app which should get the Focus by ShowWindow(windowHandle, WindowState.ShowNormal); SetForegroundWindow(windowHandle); must have the Focus to give the Focus to another windows. The Problem here ( for me ) is, that the Talker will never have the Focus.... so it is difficult. Thinking about a solution, but that is a Poblem, which only exists in my spezial environment and i have to sort that out myself. I just explained that for you and maybe it hels for further questions by other users. Matthias
  2. mroschk

    Read L:Var

    Yes for sure, i have it updated I have also tried the new code, but it is doing the same...P3D is just "blinking". Before i get your great dll, i send this key via sendkeys and had also the problem with the focus. I have tried all the dll imports , SetForegroundWindow, ShowWindow, GetWindowPlacement and so on, but othing works. FindWindow gives me all the time the MainWindowHandle, but anything else is not working with P3D, nothing will work. But now, view minutes ago, i found a solution that works for me: public enum WindowState { Hide = 0, ShowNormal = 1, ShowMinimized = 2, ShowMaximized = 3, ShowNoActivate = 4, Show = 5, Minimize = 6, ShowMinNoActive = 7, ShowNA = 8, Restore = 9, ShowDefault = 10 } [DllImport("user32.dll")] public static extern int ShowWindow(IntPtr hWnd, WindowState wFlags); [DllImport("user32.dll")] private static extern int SetForegroundWindow(IntPtr hWnd); private void button1_Click(object sender, EventArgs e) { FS_Focus(); FSUIPCConnection.SendKeyToFS(Keys.F12, SendModifierKeys.Control); } void FS_Focus() { Process[] SameProcesses = Process.GetProcessesByName("Prepar3D"); IntPtr windowHandle = SameProcesses[0].MainWindowHandle; if (windowHandle == IntPtr.Zero) { MessageBox.Show("Prepar3D is not running."); } ShowWindow(windowHandle, WindowState.ShowNormal); SetForegroundWindow(windowHandle); } Maybe you can improve your dll with that and it helps a bit . Matthias
  3. mroschk

    Read L:Var

    Hello, thanks for the fast answer. I have used your Template for a short test to exclude the possibility my Programm did anything wrong. So i compiled a poor FSUIPC Test with 2 Buttons. One of them is using a Sleep, so that i can click on the FS Window. I uplad a little video and also the Video as a rar archive for the case it dosent load in the Explorer: http://starflight-virtual.de/Videos/20190116_131735.mp4 http://starflight-virtual.de/Videos/20190116_131735.rar In the video you see the FS Symbol in the Tskbar is only "blinking" after i press the Button without delay. When i press the Button with delay and activate the FS window, then the GSX Manu comes up. Thanks Matthias Ps: Button code private void button1_Click(object sender, EventArgs e) { FSUIPCConnection.SendKeyToFS(Keys.F12, SendModifierKeys.Control); } private void button2_Click(object sender, EventArgs e) { System.Threading.Thread.Sleep(2000); FSUIPCConnection.SendKeyToFS(Keys.F12, SendModifierKeys.Control); }
  4. mroschk

    Read L:Var

    Hello again, a very litle problem. I try to send FSUIPCConnection.SendKeyToFS(Keys.F12, SendModifierKeys.Control); to Prepar3D v4.4 to open the GSX Menu, but P3D becomes the Focus, but the Key is not send or something. When i put a Sleep before the FSUIPCConnect command and click on the Prepar3D window to activate it, then it works. Have you any ideas ? Matthias
  5. mroschk

    Read L:Var

    Hello, ahh ok...thanks a lot for our help again .:.. Matthias
  6. mroschk

    Read L:Var

    Hello, thats so fast 🙂 Hmmm...no, i need that FS becomes the Focus before the Key is send 🙂 But i remember there was a DLL import and setforegroundwindow function for that. Ahh, one thing ... if i call FSUIPCConnection.... is there maybe any funktion in your dll to ceck if FSUIPC is available ( FS running ) or did your dll check that ? Matthias
  7. mroschk

    Read L:Var

    Hello, your DLL is AMAZING, that works like a charme !!! One thing...the FS MUST have the Focus when the Key is send right ? Thanks Matthias
  8. mroschk

    Read L:Var

    Hello again, i have a new/another Problem. I have to send "TAB+1" to Prepar3D to open my Doors. I found you thread: but it dosent work for TAB+1 i tried it with controlParameter.Value = (int)Keys.Tab + (49); Also Prepar3D does not become the Focus and also i can not send STRG with controlParameter.Value = (int)Keys.RControlKey + (49); but with controlParameter.Value = 512 + 49; it works ??? I just wonder why it works with 512 and not with Keys.RControlKey ??? Can you please help here a bit ?7 Thanks Matthias
  9. Hello, i am sorry, but i dont understand the "mask". If 0x0001 is for bit 0 and 0x0002 is for bit 1, so must be 0x0001 for bit 0 0x0002 for bit 1 0x0004 for bit 2 0x0008 for bit 3 0x0016 for bit 4 0x0032 for bit 5 0x0064 for bit 6 0x0128 for bit 7 is correct or not? Because you hve written 0x8000 is bot bit 15, what i can not understand?? Matthias
  10. Hello Pete, in my little Programm i have to use the 64 it Managed Simconnect.dll for some reasons. But FSUIPCClient.dll, which i also need, is a 32 bit dll ... hmm...it is, as you know, not possible to use 32 bit dll's and 64bit dll's in the same Programm. So, i have downloaded the last SDK, it is 32 bit, hich is a big Problem. Is there a 64 bit version to import in my Programm? Thanks Matthias
  11. mroschk

    Read L:Var

    Hello, yes, i found it, sorry. As i wrote it is the first time i use a nuget package. Thans for all, it works Maybe i will convert most of my project to simconnect and only use the write LVar funktion from your dll Matthias
  12. mroschk

    Read L:Var

    One Question...what kind of DLL is that ? I tried it with the actual officiell Schiratti SDK and here it did not work. Can i have it as a DLL File , so that i can add it as Reference to my Project too ? thanks
  13. mroschk

    Read L:Var

    Hmm, i dont know if you also have P3DV4.4 and GSX Level 2 installed, but it works !! Thanks a lot !! Matthias
  14. mroschk

    Read L:Var

    Hello, view Days ago i chnged from SharpDevelop to VS2017. That is my first NugetPackage i installed. Hope i did all right, but for the Moment i get no error when i try to compile the Programm with FSUIPCConnection.WriteLVar(Name, NewValue) No i will try to see if it works. Thanks for the moment, i will come back 🙂 Matthias
  15. mroschk

    Read L:Var

    Hello, that was fast 🙂 But what DLL did you mean ? Matthias Ps.: it seams not, because FSUIPCConnection.ReadLvar is not available. Where can i find that dll please?
×

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.