Click here to Skip to main content
Click here to Skip to main content

Terminal Control Project (C# VT100 SSH Telnet)

By , 14 Mar 2006
 

Sample Image

Introduction

This article demonstrates how to implement SSH and Telnet through a VT100 Emulator designed using Microsoft GDI+ and Microsoft C#.

Background

I'm *not* a professional programmer. I enjoy programming as a hobby. My trade is in Network Engineering. I use various tools, some I've written, some commercial. This project started when I wanted to integrate some SSH capabilities into a tool I had written. After struggling with SSH, I decided it was probably beyond my capacity to understand enough to write my own SSH library. I couldn't justify spending money on some of the commercially available SSH components, and I eventually found the Granados SSH library.

After implementing Granados SSH library into my application, I realized the need to interpret and emulate VT100. That... is immensely more difficult than you think. I discovered a project at SourceForge, called "Ackterm". The person who created the Ackterm project had mostly implemented VT100 with Telnet.

I combined Granados with Ackterm to a *.dll control that I could drag onto a Windows Form in Visual C# (or C++ or Visual Basic). It needs a *lot* of work still, such as finishing up the scrolling, text selection, implementing a clipboard copy, etc. Some control codes still aren't programmed in. But, it's basically functional enough that a moderately skilled C# programmer should be able to finish where I left off. Recently, I discovered that my company already has a license for one of the commercial Terminal Emulators, so I stopped work on this project. I would be thrilled if anyone finished it up, as I have no plans to do so. Maybe in the future I may have time, but it's not likely.

Using the code

When you download the project, you'll find two directories, "TerminalControl" and "TerminalControlTest". The Visual Studio Solution file is in the "TerminalControl" directory.

The "TerminalControl" project produces the DLL file. The "TerminalControlTest" is just a Windows form to use while developing the DLL.

You will need the .NET Framework v1.1, and Visual C# 2003. I guess you could use the free compiler, but I've not tried it. The source code will probably be really hard to navigate without Microsoft's IDE and intellisense.

Points of Interest

History

  • March 14th, uploaded the project.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Columbus-MCSD
United States United States
Member
No Biography provided

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralMy vote of 4memberMember 43208446 Jan '12 - 0:42 
NewsArticle outdated - See follow up for this articlememberElmue2 Nov '11 - 14:42 
GeneralRe: Article outdated - See follow up for this articlememberMember 440167615 Jan '13 - 10:01 
GeneralPoderosa full of bugs and misdesignsmemberElmue16 Jan '13 - 5:55 
QuestionSerial port connectionmemberfalander1 Sep '11 - 11:08 
AnswerRe: Serial port connectionmemberColumbus-MCSD2 Sep '11 - 0:20 
GeneralMy vote of 5member(BlackBox) Ethical Hacker31 Oct '10 - 5:37 
GeneralUser authentication failedmembermk_bt6 Apr '10 - 10:42 
GeneralIs this source code freely available.memberTimothy Scott Ayers2 Mar '10 - 13:49 
GeneralSSH and telnet don't seem to be working :(membermacgeorge5 Nov '09 - 19:06 
QuestionRun Command Without UImembermahdavi26 Jun '09 - 4:26 
GeneralChar and unicodememberafterburn8 Jun '09 - 5:01 
GeneralRe: Char and unicodememberdiamond_delight22 Feb '10 - 5:20 
GeneralRe: Char and unicodememberafterburn22 Feb '10 - 6:54 
GeneralRemote PortmemberkayagG9 Mar '09 - 11:19 
GeneralRemote PortmemberMember 437021613 Apr '09 - 16:36 
GeneralRe: Remote PortmemberkayaG14 Apr '09 - 1:43 
QuestionHow to Upload/Download File for SFTPmemberGiri20013 Feb '09 - 10:11 
Generalworking with ssh programmaticallymembercaradri22 Sep '08 - 19:06 
GeneralClipboard requestmemberRob Chartier10 Sep '08 - 13:27 
GeneralRe: Clipboard requestmemberSardaan Frostreaver26 Dec '08 - 4:31 
Generalpass a command or parametermembershabonaa26 Apr '08 - 1:25 
Questionhow to use encoding,like utf-8,ISO8859-1...memberNii Jyeni15 Nov '07 - 23:19 
AnswerRe: how to use encoding,like utf-8,ISO8859-1...memberNii Jyeni24 Nov '07 - 1:19 
GeneralRe: how to use encoding,like utf-8,ISO8859-1...memberSardaan Frostreaver26 Dec '08 - 4:31 
AnswerRe: how to use encoding,like utf-8,ISO8859-1...memberRob Chartier10 Sep '08 - 13:26 
Questionssh commandmemberTalc8013 Nov '07 - 20:58 
AnswerRe: ssh commandmemberSardaan Frostreaver13 Nov '07 - 21:09 
GeneralError when trying to connect.memberNathanG MG18 Oct '07 - 10:47 
GeneralRe: Error when trying to connect.memberSardaan Frostreaver19 Oct '07 - 6:52 
GeneralRe: Error when trying to connect.memberNathanG MG23 Oct '07 - 4:46 
GeneralUrgent Regarding telnetmemberpraveenkumar palla18 Sep '07 - 20:00 
GeneralRe: Urgent Regarding telnetmemberSardaan Frostreaver18 Sep '07 - 20:24 
GeneralEnable Arrow Keysmemberskirby5512 Mar '07 - 6:03 
GeneralRe: Enable Arrow KeysmemberSardaan Frostreaver13 Mar '07 - 6:29 
GeneralRe: Enable Arrow Keysmemberskirby5513 Mar '07 - 6:38 
GeneralRe: Enable Arrow Keysmemberskirby5513 Mar '07 - 12:13 
GeneralRe: Enable Arrow KeysmemberSardaan Frostreaver18 Sep '07 - 20:25 
QuestionHow to send / get commandmemberixpe6 Dec '06 - 0:29 
AnswerRe: How to send / get commandmemberflyers_pat6 Feb '07 - 9:00 
GeneralRe: How to send / get commandmembermichelle.mendes.almeida12 Nov '08 - 23:01 
QuestionRe: How to send / get commandmemberquadc9 Aug '10 - 0:55 
Generalgetting startedmemberajarrah20 Nov '06 - 6:45 
GeneralRe: getting startedmemberSardaan Frostreaver20 Nov '06 - 7:17 
GeneralCompact Frameworkmemberjgallen2327 Sep '06 - 19:50 
GeneralRe: Compact FrameworkmemberSardaan Frostreaver1 Nov '06 - 9:50 
GeneralAbout Copy & Paste..memberckpj126 Jul '06 - 20:08 
GeneralRe: About Copy & Paste..memberSardaan Frostreaver1 Nov '06 - 9:48 
GeneralGood onememberGeords26 May '06 - 1:38 
GeneralRe: Good onememberSardaan Frostreaver1 Nov '06 - 9:45 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web03 | 2.6.130516.1 | Last Updated 14 Mar 2006
Article Copyright 2006 by Columbus-MCSD
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid