Timothy
  • Timothy
  • 100% (Exalted)
  • Flock Leader
2007-12-21T12:53:01Z
The disconnect button feature I can add. Probably not too hard.

The menu staying open I can't fix. Like a vacuum cleaner, the RDP control sucks up all mouse input and bypasses all parent controls so there's no way to know when clicks are happening on the RD Tabs end. 😞 Well that's not entirely true, I can detect a click using Windows API, but adding a hook that would detect this scenario (ignoring the rest of the clicks) would add significant overhead on the message pump and could potentially cause the Windows UI to be less responsive.
Marc
  • Marc
  • 68.6% (Friendly)
  • Flock Member Topic Starter
2008-01-17T04:29:37Z
Hi !

I finally managed to use the activex control in my own app including changing the advanced settings. It turned out it's quite easy once you realize that instead of adding the COM Control as a Reference to the project and trying to add it to the dialog myself I can just add it to the windows forms toolbar and click it in the form in the designer ...

I examined the "high traffic while window being minimized"-issue and - it's non existing?!? I just added the control to the dialog in the designer and in the form load method I conenct to a host that draws things all the time creating 80kb/s. When I minimize this app by clicking the minimize button in the upper right of my window, it goes down to 5kb/s - like the original mstsc. I did nothing special. No eventhandler nothing. RDTabs however stays at 80kb/s when getting minimized and invisible. Maybe adding the control by using the designer magically adds some eventhandlers that don't get added when done manually in RDTabs right now?

[edit]I did this in C#. I wasn't able to figure it out in native C++. It's much more easy in C#. It wraps all those QueryInterface-Calls for me.[/edit]

Marc
Timothy
  • Timothy
  • 100% (Exalted)
  • Flock Leader
2008-01-17T08:34:55Z
Good job figuring that out!

So when you minimize the entire RD Tabs application does the traffic stay high? Keep in mind when multiple tabs are running, the invisible tabs are not minimized, but are simply set to "not enabled" and "not visible." this may still require a Windows API call on my end to get this to work properlly. good to know that the COM control does support this feature, so I will be able to test it on my end! Can you send me the app you wrote that constantly redraws so that I can use that as reference? use the contact form on this website and i'll reply with my real email. thx!

PS, RD tabs is written in VB.Net, so yes I agree that the framework and all the automatic wrapping kicks major butt! 🙂
Timothy
  • Timothy
  • 100% (Exalted)
  • Flock Leader
2008-05-01T16:48:38Z
I think I fixed this problem. Keep an eye out for RD Tabs 2.1.7 Beta. When a tab goes into the background, it does not inform the RDP control. I had to do a P/Invoke to send the "minimize" signal to the control directly when a tab is not in view and the "maximize" signal when it comes back into view. Note that RD Tabs will not minimize the RDP control when RD Tabs itself is minimized. This is by design because it will make RD Tabs' taskbar thumbnail (in Vista) appear blank, instead of showing screen activity like one would normally expect. So if you want to reduce network traffic from screen activity, you have to open a new tab so the busy tab isn't in focus. Additionally, multiple floating tabs or the active tab in floating tab panes or split panes also will continue to have screen traffic simultaneously, for the same reason.

Now, I think I caught all instances where tabs go visible to invisible (and back), but I may have missed one. Try this out and Keep me updated. The good news is that since I'm only minimizing the control, the worst that will happen is you'll see a little box in the corner of the tab that if you double click on, will maximize back into view (the little box is the minimized control).
full film