Guest User

Untitled

a guest
Dec 14th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.57 KB | None | 0 0
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Data;
  6. using System.Drawing;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.Runtime.InteropServices;
  10. using Utilities;
  11.  
  12. namespace key_preview
  13. {
  14. public partial class Form1 : Form
  15. {
  16. globalKeyboardHook gkh = new globalKeyboardHook();
  17.  
  18. #region [ Properties ]
  19. List<string> CopiedTexts { get; set; }
  20. bool HoldCtrl { get; set; }
  21. bool HoldC { get; set; }
  22. bool HoldV { get; set; }
  23. bool HoldTab { get; set; }
  24. bool VPressedMultiple { get; set; }
  25. string CopiedText { get; set; }
  26. int StringIdxInArrayList { get; set; }
  27. #endregion
  28.  
  29. #region [ Constructors ]
  30. public Form1()
  31. {
  32. InitializeComponent();
  33. gkh.HookedKeys.Add(Keys.C);
  34. gkh.HookedKeys.Add(Keys.V);
  35. gkh.HookedKeys.Add(Keys.LControlKey);
  36. gkh.HookedKeys.Add(Keys.Tab);
  37. gkh.KeyDown += new KeyEventHandler(Form1_KeyDown);
  38. gkh.KeyUp += new KeyEventHandler(Form1_KeyUp);
  39. HoldC = false;
  40. HoldV = false;
  41. CopiedTexts = new List<string>();
  42. }
  43. #endregion
  44.  
  45. #region [ Events ]
  46. private void Form1_Load(object sender, EventArgs e) {}
  47.  
  48. void Form1_KeyDown(object sender, KeyEventArgs e)
  49. {
  50. if (e.KeyCode == Keys.LControlKey)
  51. {
  52. HoldCtrl = true;
  53. }
  54. else if (e.KeyCode == Keys.C)
  55. HoldC = true;
  56. else if (e.KeyCode == Keys.V)
  57. HoldV = true;
  58. else if (e.KeyCode == Keys.Tab)
  59. HoldTab = true;
  60.  
  61. WaitForOtherKeys(e);
  62. }
  63.  
  64. void Form1_KeyUp(object sender, KeyEventArgs e)
  65. {
  66. if (e.KeyCode == Keys.LControlKey)
  67. {
  68. HoldCtrl = false;
  69. }
  70. else if (e.KeyCode == Keys.C)
  71. HoldC = false;
  72. else if (e.KeyCode == Keys.V)
  73. {
  74. HoldV = false;
  75. VPressedMultiple = false;
  76. }
  77.  
  78. else if (e.KeyCode == Keys.Tab)
  79. HoldTab = false;
  80.  
  81. WaitForOtherKeys(e);
  82. }
  83.  
  84. private void button1_Click(object sender, EventArgs e)
  85. {
  86. CopiedTexts.Clear();
  87. Clipboard.Clear();
  88. }
  89. #endregion
  90.  
  91. #region [ Methods ]
  92. void WaitForOtherKeys(KeyEventArgs e)
  93. {
  94. if (HoldCtrl)
  95. {
  96. if (HoldC)
  97. {
  98. CopiedText = Clipboard.GetText();
  99. Clipboard.SetText(CopiedText);
  100. CopiedTexts.Add(CopiedText);
  101. StringIdxInArrayList = CopiedTexts.Count - 1;
  102.  
  103. HoldC = false;
  104. }
  105. else if (HoldV)
  106. {
  107. if (VPressedMultiple)
  108. {
  109. if (StringIdxInArrayList > 0)
  110. StringIdxInArrayList--;
  111. else if (StringIdxInArrayList <= 0)
  112. StringIdxInArrayList = CopiedTexts.Count - 1;
  113. }
  114. Clipboard.SetText(CopiedTexts[StringIdxInArrayList]);
  115. HoldV = false;
  116. VPressedMultiple = true;
  117. }
  118. }
  119. }
  120. #endregion
  121. }
  122.  
  123. }
Add Comment
Please, Sign In to add comment