Marc
  • Marc
  • 68.6% (Friendly)
  • Flock Member Topic Starter
2007-11-03T10:11:44Z
Hi !

Maybe you remember me. I stopped reporting problems I experienced with RDTabs once they got so few I didn't care anymore. I use it on a dayly basis and it helps me a lot. Very cool tool :)

If you want to investigate the things I mentioned in earlier posts more deap: When I told you about the tabs creating traffic even though they aren't visible you said you changed something and it might work now. I just noticed recently that it doesn't. :(

The focus stealing is much better than before the changes you made. But there is still focus stealing in place after a successfull connection. Try to open a tab, connect with a favorite that has the password set in it. While it connects go to some other app or open a new tab and open the favorites pulldown menu for selecting another host to connect to. The moment the first tab connects, the other app looses focus or the pulldown menu gets closed. Maybe that's the behaviour of the rd control and you can't change this though.

Thanks for all the effort.

Best regards
Marc
Timothy
  • Timothy
  • 100% (Exalted)
  • Flock Leader
2007-11-03T16:13:45Z
That's too bad about the traffic! The control goes 100% disabled when it's not in view, but I guess it still sends updates in the background. Does the Microsoft MMC stop sending network traffic when it's not in view? Try disabling the clipboard and disk drives and see if it still does that. Otherwise I'm really at a loss. I'm not sure how to reduce traffic load beyond that other than disconnecting from the remote session. I will say that even when I have about 20 tabs open, I don't notice any perceivable performance hit when I'm working in each remote desktop. So hopefully the traffic, even when it is there, is small.

I've never had a focus stealing problem from a different app, but it's very possible the favorites menu will close upon connection since it's all a part of RD Tabs and they are executing on the same thread. I did fix a focus stealing bug with regard to multiple side-by-side tab panels (actually it was more of a disappearing focus than focus stealing) for the 2.1.0 alpha. You can download it in the 2.1.0 alpha thread . Much of the guts of how the tabs notify their parents of when focus needs to be sent to the RD control was reworked (focus is tricky since the RD control never notifies any parent controls of the clicks that happen within the remote desktop). I also changed how the MRU list is updated to prevent the "Computer" comboboxes from flickering (and highlighting all content for deletion) upon successful connection. Either of those may very well be related to the problem you are experiencing! Let me know if you still have problems.

If you do, tell me which other apps that RD Tabs is stealing focus from. Also ensure that you have the option under Connections labeled "After successfully connecting, tab will automatically steal input focus and set itself as active tab" is UNchecked, although for you I'm sure it is because that was your original bug report / feature request way back when. :-)

Anyway, let me know how the reworked parts in 2.1.0 alpha are working out for you so we can finally fix all your problems before the RTW (or even beta) release of RD Tabs 2.1.0. Thanks for the great testing and I'm really glad my tool is handy for you!
Marc
  • Marc
  • 68.6% (Friendly)
  • Flock Member Topic Starter
2007-12-03T22:35:35Z
Sorry for responding so late. I almost forgot about my post ...

The traffic is an issue if there are programms running that change their appearance all the time, like updating values. I can clearly see the difference in traffic between mstsc minimized and rdtabs minimized. rdtabs shows no difference if it's minimized or visible but mstsc does. Same holds for multiple open tabs in rdtabs. It's like they are all visible all the time. If you don't know how to tackle this - I don't know it either. Did you try to send those windows hwnds the show minimized msg or hide message?

The focus stealing in windows and similar problems are actually something that a lot of applications have to deal with. For example even ie7 has such issues. Try specifying a startup page, open a new ie window. between the apperance of the window and the page is a delay. If you start typing some other url you want to visit while your start page loads, you most likely have to type that url again after your start page finished loading. Maybe that's a point of someone's "If you get annoyed of these things, you use your computer too much"-list. I'll try 2.1.0 alpha and check it's stealing behaviour.

Yes that option you mentioned is unchecked. 🙂
Marc
  • Marc
  • 68.6% (Friendly)
  • Flock Member Topic Starter
2007-12-04T10:08:08Z
Just wanted to tell you I just tried 2.1.0 Alpha and the pulldown menu focus stealing on successfull connection seems to be solved judging from the first 10min usage 🙂 Thx.
Timothy
  • Timothy
  • 100% (Exalted)
  • Flock Leader
2007-12-04T18:06:17Z
Thanks for the detailed message. RD Tabs is written in .Net, so I'm using the control's .enabled and .visible properties and setting BOTH to false. I'm not sure how the framework passes this information on to the underlying COM control. However, after reading your message, I may try to work in a P/Invoke call to send a control message directly to the window handle... It's VERY possible that the COM interop in .Net does NOT actually tell the control to stop displaying data, even if .visible is set to false in the wrapper. Just FYI, in RD Tabs 1.x, .visible and .enabled were never changed, so I was hoping that would fix that problem. Alas, it does not! 🙂 I'll keep you updated on this. I'm going to put it in my bug notes and see if sending control messages directly to the window handle helps.

As for focus stealing, yes IE7's focus stealing problem bugs the hell out of me, which is why I want to make RD Tabs behave when it starts stealing focus! 🙂

I'm very glad that 2.1's new focus code is turning out to not only solve a slew of problems, but also has not received one single bug report yet! Woo hoo!
Timothy
  • Timothy
  • 100% (Exalted)
  • Flock Leader
2007-12-04T18:10:03Z
Oh quick test! If when you use the Remote Desktop Web Connection and visit the page with IE, connect to a server and then minimize IE, does it behave like RD Tabs (still sends data) or does it behave like mstsc.exe?
Marc
  • Marc
  • 68.6% (Friendly)
  • Flock Member Topic Starter
2007-12-05T19:34:25Z
That's funny. Until now I didn't know that there was a Remote Desktop Web Connection. I don't have that installed on any of my machines. I googled for it and found I have to install the web server as well - which I also don't have installed anywhere. So it's not really a quick test for me.

Then I thought, I could open up vs and drop the rdp activex control on it and try it myself. All my machines are reachable just by nonstandard ports per rdp from my place. So I got stuck quite fast trying to make it connect to another port than the default one. That's probably something tricky to do like specifying the password right? Well if I try the remote desktop web connection some time I'll tell you about the result.
Timothy
  • Timothy
  • 100% (Exalted)
  • Flock Leader
2007-12-05T23:54:17Z
You don't need IIS installed. 🙂 It's sufficient to register the ActiveX control (which is already done if you have RD Tabs installed) and then use the included .htm file and open it in IE (no server required).

Here is everything you ever could possibly want to know about the Remote Desktop Web Control:
http://msdn2.microsoft.c...us/library/aa383022.aspx 

You are looking for advancedsettings2.rdpport which is in the IMsRdpClient interface (any version, 1 through 6).

Good luck!!
Marc
  • Marc
  • 68.6% (Friendly)
  • Flock Member Topic Starter
2007-12-06T09:45:52Z
Where is that .htm file?

Is there a difference between the Remote Desktop Web Connection Action X control and a normal rdp action x control? Or is there just one and it is called Remote Desktop Web Connection?
Timothy
  • Timothy
  • 100% (Exalted)
  • Flock Leader
2007-12-06T15:27:41Z
Essentially the same thing. There's a COM library (MsTSC) that can be invoked from an ActiveX DLL (MsTSCAx.dll) or from an OCX control file (forgot the filename). It's all the same. However, Microsoft's MSTSC.EXE application does NOT use the MsTSCAx.dll (or OCX) so a bug or difference in behavior can exist between MSTSC.EXE and all other flavors of Microsoft's Remote Desktop that use MsTSCAx.dll (like RD Tabs) which may explain your throughput issue and that's why I wanted to test.

The htm file is included in the installer. You can get to it by digging into the MSI (which is just a CAB file) or I can just make your life much easier by attaching it below. lol.

Timothy
  • Timothy
  • 100% (Exalted)
  • Flock Leader
2007-12-06T15:28:16Z
Hmm. I can't figure out how to attach files in this new fangled forum, so go here. Somebody put the default page out on the internets...

http://www.eapdlaw.com/tsweb/default.htm 
Marc
  • Marc
  • 68.6% (Friendly)
  • Flock Member Topic Starter
2007-12-06T17:04:09Z
Hmm, I downloaded that file and opened it in ie. I see some connection dorm that let's me type in an ip and select a resolution, but the connect button is always disabled?!?
Timothy
  • Timothy
  • 100% (Exalted)
  • Flock Leader
2007-12-06T17:43:12Z
Try just connecting from the file at that URL directly. That will work...maybe (it uses the control on your PC, nothing is transmitted to the internet -- the web page is just a way of accessing the control).
Marc
  • Marc
  • 68.6% (Friendly)
  • Flock Member Topic Starter
2007-12-07T19:17:07Z
Are you sure? It asks me to install 'Terminal Service ActiveX Client' from 'Microsoft Corporation (unverified publisher)'. That doesn't sound trustworthy to me ...
Timothy
  • Timothy
  • 100% (Exalted)
  • Flock Leader
2007-12-08T16:27:29Z
Yea, that "unverified publisher" concerns me too. Although sometimes the ActiveX warning in IE does produce false positives... but I wouldn't risk my PC on that. Lol. I just thought of something else. The Remote Desktop Web Connection will probably try to use RDP 5.2 instead of 6.0, so that might be a problem. Lol this is complicated, isn't it?? Do you have any other ideas how to test this?! I'm running out! 😞 Maybe you should fiddle around with your Visual Studio idea? Keep me updated. When I get more time I'll start messing around to see if sending a signal via P/Invoke to the HWND will do anything. But that won't be until Januaryish.
Marc
  • Marc
  • 68.6% (Friendly)
  • Flock Member Topic Starter
2007-12-08T20:32:59Z
I'm not that familiy with advanced COM programming. I never managed to get that password setting compiling neither setting the port. I can do some QueryInterface but then it doesn't know the IID's and the wrapper classes and I have also no idea how to get them. :/
Timothy
  • Timothy
  • 100% (Exalted)
  • Flock Leader
2007-12-09T14:33:14Z
What language are you using? If VB.Net, you just CType the .GetOCX as the interface you want to use, or you can access the methods directly (most of the time) through the wrapper class... you just have to hunt for it. I think GetOCX is right... I need to check my souce code!
Marc
  • Marc
  • 68.6% (Friendly)
  • Flock Member Topic Starter
2007-12-10T07:02:46Z
I tried native c++ and c#. How do I "hunt for wrapper classes"? In c++, it creates a wrapper class for when I add an activex control to a dialog. But how to let it do that for interfaces that are not graphically addable to a dialog I have no idea.
Timothy
  • Timothy
  • 100% (Exalted)
  • Flock Leader
2007-12-10T15:29:46Z
Here's some super secret RD Tabs code (not really). This is all VB, but since VB and C# share the same framework, it's easily translatable into C#.

In RD Tabs, I no longer "drop the control in" through the IDE because I wanted to try..catch the instantiation of the variable so I can support multiple versions of the RDP control. So this is how you do it "by hand" so to speak.

Note, you can create MSTSCLib namespace by either dragging the control into the designer, or by using the command-line app AxImp.exe, which is part of the Visual Studio tools, on the mstsclib.dll.

' Creating the object
Private AxMsRdpClientTerminal As Object

' Constructing
Me.AxMsRdpClientTerminal = New AxMSTSCLib.AxMsRdpClient5 'or 4, 3, 2, etc. depending on what version you want

' Setting the password (late binding)
Me.AxMsRdpClientTerminal.AdvancedSettings.ClearTextPassword = "MyPassword"

' Setting the password (early binding)
CType(Me.AxMsRdpClientTerminal, AxMSTSCLib.AxMsRdpClient5).AdvancedSettings2.ClearTextPassword = "MyPassword"

' Setting the port (late binding)
Me.AxMsRdpClientTerminal.AdvancedSettings2.RDPPort = 3389

' Setting the port (early binding)
CType(Me.AxMsRdpClientTerminal, AxMSTSCLib.AxMsRdpClient5).AdvancedSettings2.RDPPort = 3389

' Resetting the password to NULL -- this MUST be done via the non-scriptable interface since this is a
' non-scriptable operation (early binding only)
CType(Me.AxMsRdpClientTerminal.GetOcx, MSTSCLib.IMsTscNonScriptable).ResetPassword()

Marc
  • Marc
  • 68.6% (Friendly)
  • Flock Member Topic Starter
2007-12-20T15:09:43Z
No, I'm out of luck. I don't get it working. It always doesn't know something. :/

But I found some additional minor issues/feature requests:
- while rdtabs connects somewhere, I can cancel the connecting by clicking the cancel button that appears in the middle of the screen. During this time, the red stop button on the upper right is disabled. Ususally I use this button to disconnect from somewhere. So now, if I select a target host from my favorites and select the wrong one, depending on the connection speed and on the my speed realizing it I have to click in the middle of the screen or on the upper right red button - usually I wait till the conenction finishes and then click the upper right button because if I'm to slow to click the button in the middle I have to go up right anyways. So enableing the red stop button during the connction phase and giving it the functionality of the cancel button in the middle of the screen would help. Yes, this is me searching for peanuts! :)
- Go to a tab that is connected, now open some pulldown menu and then click in the rdp area. The popup menus stay open even while you work in the rdp area. It stays open until you select something in it or click somewhere else - like the upper part of rdtabs, or even other applications - but it doesn't close if you click around int the rdp area and I feel like it should.

Thanks so far and happy christmas in case no more discussion happens between us until 24th. 🙂
full film