Remote Desktop with Microsoft Terminal Services Client Control


 

Overview:
Remote Desktop Services เป็นคอมโพเนนต์หนึ่งของ Microsoft Windows ในการเข้าถึงคอมพิวเตอร์ระยะไกลผ่านเครือข่ายได้  ระบบแสดงเฉพาะอินเทอร์เฟซสำหรับผู้ใช้ของแอปพลิเคชันที่ไคลเอ็นต์ การป้อนข้อมูลใดๆ ถูกเปลี่ยนเส้นทางผ่านไปยังคอมพิวเตอร์ระยะไกลผ่านเครือข่าย เช่น การเข้าระบบไปยังเซิร์ฟเวอร์ระยะไกลเพื่อทำการตรวจสอบ และปรับใช้แอปพลิเคชัน หรือการแก้ไขปัญหาต่างๆ ฯลฯ และเรายังใช้เดสก์ท็อประยะไกลบ่อยครั้งเมื่อเราทำงานจากที่บ้าน

 

การเปิดใช้งาน Remote Desktop Services  ก็ไม่ยากครับ เพียงแค่เราอนุญาตให้เครื่องอื่น สามารถ Remote ได้ ดังรูป

x1 x2

คลิกขวาบน My Computer=> Properties คลิกแทบ Remote ต๊ก All users to connectly to this computer => OK

ส่วนโปรแกรม Remote Desktop Connection ที่มากับ Windows สามารถเปิดได้จากเมนู Start=> All Programs => Accessories => Remote Desktop

 

x3 x4

Computer ให้ระบุ IP เครื่องปลายทาง > จากนั้นป้อน UserName และ Password เพื่อเข้าใช้งานหน้าจอเครื่องปลายทางได้ เสมือนเรานั่งอยู่หน้าเครื่องดังกล่าว

 

ในบทความนี้ผมมีตัวอย่างการสร้างโปรแกรม Remote Desktop ขึ้นมาใช้งานได้ไม่ยากโดยอาศัยคอมโพเนนต์ Microsoft Terminal Services Client ท่านผู้อ่านสามารถติดตามรายละเอียดได้จาก:http://www.codeproject.com/KB/cs/RemoteDesktop_CSharpNET.aspx 

โดยหน้าจอโปรแกรม Remote Desktop เป็นดังรูป

1

 

สามารถใช้งานโหมดเต็มหน้าจอได้

2

 

โหมดเต็มหน้าจอ

3

 

การพัฒนาแอปพลิเคชัน

ให้เราเพิ่มคอมโพเนนต์ Microsoft Terminal Services Client Control เข้ามาใน Toolbox โดยคลิกขวา => Choose Item =>คลิกแทบ COM Components แล้วเลือก Microsoft Terminal Services Client Control => OK

3_1

 

เราจะได้ Item บน Toolbox ดังรูป จากนั้นลากไปวางบน WindowsForm แล้วเขียนโค้ด

4

 

โด้ดดิ้ง:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MSTSCLib;
namespace CHRemoteDesktop
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
                      
        }
        private void btConnect_Click(object sender, EventArgs e)
        {
            if (axMsRdpClient51.Connected.ToString() == "1") return;
            try
            {
                axMsRdpClient51.Server = txtServer.Text;
                axMsRdpClient51.UserName = txtUserName.Text;
                axMsRdpClient51.DesktopWidth = axMsRdpClient51.Width ;
                axMsRdpClient51.DesktopHeight = axMsRdpClient51.Height;
                IMsTscNonScriptable secured = (IMsTscNonScriptable)axMsRdpClient51.GetOcx();
                secured.ClearTextPassword = txtPassword.Text;
                axMsRdpClient51.Connect();
               
            }
            catch (System.Exception ex)
            {
                MessageBox.Show("Error Connecting", "Error connecting to remote desktop " + txtServer.Text + " Error:  " + 
                    ex.Message, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void btDisconnect_Click(object sender, EventArgs e)
        {
            try
            {
                if (axMsRdpClient51.Connected.ToString() == "1")
                    axMsRdpClient51.Disconnect();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error Disconnecting", "Error disconnecting from remote desktop " + txtServer.Text + " Error:  " + 
                    ex.Message, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void fullScreenToolStripMenuItem_Click(object sender, EventArgs e)
        {
            axMsRdpClient51.FullScreen = true;
        }
        private void exitFullScreenToolStripMenuItem_Click(object sender, EventArgs e)
        {
            axMsRdpClient51.FullScreen = false ;
        }
    }
}

 

แหล่งข้อมูลดาวน์โหลด:
http://cid-7d608959d854cb28.skydrive.live.com/embedicon.aspx/SourcesCode/11-12-2009_CHRemoteDesktop.zip(for VS2008)

 

แหล่งข้อมูลอ้างอิง:

 

ผู้เขียน:
nano_mvp_2009_1

Advertisements
เกี่ยวกับ

Nuchit Atjanawat is a Microsoft MVP, GreatFriends Community Leader, WindowsITPro Columnist(Mr.Nano), Silverlight Business Application Instructor, Speaker in various Microsoft events, Author, passionate Blogger and a Software Engineer by profession. He has a very good skill over Silverlight, LightSwitch, C#, XAML & Blend. He shares his technical findings, tutorials in his technical blog. Follow his Blog and Facebook page to be updated on latest articles. - Technical Blog: https://janawat.wordpress.com - WindowsITPro Columnist(Mr.Nano): http://windowsitpro.net - The GreatFriends.Biz Community Discussion Board (nano): http://greatfriends.biz - witter: https://twitter.com/janawat - Facebook Page: https://www.facebook.com/nuchit - Instructor: http://bit.ly/GF250-01, http://bit.ly/GF150-02

เขียนใน Windows Application

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

In Archive
%d bloggers like this: