tnclip.cpp
上传用户:tigerk9
上传日期:2020-03-10
资源大小:237k
文件大小:2k
源码类别:

Telnet客户端

开发平台:

Visual C++

  1. ///////////////////////////////////////////////////////////////////////////////
  2. //Telnet Win32 : an ANSI telnet client.
  3. //Copyright (C) 1998  Paul Brannan
  4. //Copyright (C) 1998  I.Ioannou
  5. //Copyright (C) 1997  Brad Johnson
  6. //
  7. //This program is free software; you can redistribute it and/or
  8. //modify it under the terms of the GNU General Public License
  9. //as published by the Free Software Foundation; either version 2
  10. //of the License, or (at your option) any later version.
  11. //
  12. //This program is distributed in the hope that it will be useful,
  13. //but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15. //GNU General Public License for more details.
  16. //
  17. //You should have received a copy of the GNU General Public License
  18. //along with this program; if not, write to the Free Software
  19. //Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  20. //
  21. //I.Ioannou
  22. //roryt@hol.gr
  23. //
  24. ///////////////////////////////////////////////////////////////////////////
  25. // TnClip.cpp
  26. // A simple class for handling clipboard functions
  27. // Written by Paul Brannan <pbranna@clemson.edu>
  28. // Last modified 7/12/98
  29. #include <string.h>
  30. #include "tnclip.h"
  31. Tnclip::Tnclip(HWND W, TNetwork &RefNetwork): Network(RefNetwork) {
  32. Window = W;
  33. }
  34. Tnclip::~Tnclip() {
  35. }
  36. void Tnclip::Copy(HGLOBAL clipboard_data) {
  37. if(!OpenClipboard(Window)) return;
  38. if(!EmptyClipboard()) return;
  39. SetClipboardData(CF_TEXT, clipboard_data);
  40. CloseClipboard();
  41. }
  42. void Tnclip::Paste() {
  43. if(!OpenClipboard(Window)) return;
  44. HANDLE clipboard_data = GetClipboardData(CF_TEXT);
  45. LPVOID clipboard_ptr = GlobalLock(clipboard_data);
  46. DWORD size = strlen((const char *)clipboard_data);
  47. Network.WriteString((const char *)clipboard_ptr, size);
  48. GlobalUnlock(clipboard_data);
  49. CloseClipboard();
  50. }