Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Text;
- using System.Windows.Forms;
- using System.Runtime.InteropServices;
- using Utilities;
- namespace key_preview
- {
- public partial class Form1 : Form
- {
- globalKeyboardHook gkh = new globalKeyboardHook();
- #region [ Properties ]
- List<string> CopiedTexts { get; set; }
- bool HoldCtrl { get; set; }
- bool HoldC { get; set; }
- bool HoldV { get; set; }
- bool HoldTab { get; set; }
- bool VPressedMultiple { get; set; }
- string CopiedText { get; set; }
- int StringIdxInArrayList { get; set; }
- #endregion
- #region [ Constructors ]
- public Form1()
- {
- InitializeComponent();
- gkh.HookedKeys.Add(Keys.C);
- gkh.HookedKeys.Add(Keys.V);
- gkh.HookedKeys.Add(Keys.LControlKey);
- gkh.HookedKeys.Add(Keys.Tab);
- gkh.KeyDown += new KeyEventHandler(Form1_KeyDown);
- gkh.KeyUp += new KeyEventHandler(Form1_KeyUp);
- HoldC = false;
- HoldV = false;
- CopiedTexts = new List<string>();
- }
- #endregion
- #region [ Events ]
- private void Form1_Load(object sender, EventArgs e) {}
- void Form1_KeyDown(object sender, KeyEventArgs e)
- {
- if (e.KeyCode == Keys.LControlKey)
- {
- HoldCtrl = true;
- }
- else if (e.KeyCode == Keys.C)
- HoldC = true;
- else if (e.KeyCode == Keys.V)
- HoldV = true;
- else if (e.KeyCode == Keys.Tab)
- HoldTab = true;
- WaitForOtherKeys(e);
- }
- void Form1_KeyUp(object sender, KeyEventArgs e)
- {
- if (e.KeyCode == Keys.LControlKey)
- {
- HoldCtrl = false;
- }
- else if (e.KeyCode == Keys.C)
- HoldC = false;
- else if (e.KeyCode == Keys.V)
- {
- HoldV = false;
- VPressedMultiple = false;
- }
- else if (e.KeyCode == Keys.Tab)
- HoldTab = false;
- WaitForOtherKeys(e);
- }
- private void button1_Click(object sender, EventArgs e)
- {
- CopiedTexts.Clear();
- Clipboard.Clear();
- }
- #endregion
- #region [ Methods ]
- void WaitForOtherKeys(KeyEventArgs e)
- {
- if (HoldCtrl)
- {
- if (HoldC)
- {
- CopiedText = Clipboard.GetText();
- Clipboard.SetText(CopiedText);
- CopiedTexts.Add(CopiedText);
- StringIdxInArrayList = CopiedTexts.Count - 1;
- HoldC = false;
- }
- else if (HoldV)
- {
- if (VPressedMultiple)
- {
- if (StringIdxInArrayList > 0)
- StringIdxInArrayList--;
- else if (StringIdxInArrayList <= 0)
- StringIdxInArrayList = CopiedTexts.Count - 1;
- }
- Clipboard.SetText(CopiedTexts[StringIdxInArrayList]);
- HoldV = false;
- VPressedMultiple = true;
- }
- }
- }
- #endregion
- }
- }
Add Comment
Please, Sign In to add comment