最近,因项目需求,要用C#实现一个远程桌面连接程序,简单地说,就是根据给定的机器名、用户、密码等连接到指定的主机。
为解决这个问题,本人在网上查了很多资料。不知是自己的检索能力有问题,还是怎么回事,竟没有发现一篇中文文章说这个事。很多人遇到了同样的问题,提出种种疑问。有些人解决了问题,但没有把他们的解决办法写出来。
通过参考很多网上的资料(大多是英文的),这个问题终于解决了。下面,我把问题解决的方法写下来,希望能对遇到相同问题的人有所帮助。
中文文章可以参考:http://www.cnblogs.com/wgx1323/archive/2007/08/14/855273.html
英文文章可以参考:http://www.codeproject.com/KB/cs/Palantir.aspx
在实现这个程序时,主要用到了一个ActiveX 控件:mstscax.dll,在c:/windows/system32文件夹中。在参考上面两篇文章给出的源码时,可以发现该源码中用到了两个dll:MSTSCLib.dll 和 AxMSTSCLib.dll。为避免用源程序所给的dll可能会遇到的各种问题,可以用下面给出的方法自己生成这两个dll。
该控件的使用方法可以参考:http://www.cnblogs.com/Stephen/archive/2005/04/21/142879.html
http://www.mail-archive.com/dotnetusergrouphyd@groups.msn.com/msg04420.html