F44IM


How To Use Sendkeys
-------------------

    Attempt to crossbreed Windows with Linux failed --
    The Cross is just crushed.

    Just saving Your time..

Tested with SharpDevelop (build 5079).

1. Create new Windows Forms Application solution
2. Add code started with ">>" (and regex replace "^>>" to "  ")
3. Compile and run.

  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;

  namespace KL {
      public partial class MainForm : Form {
>>        protected override CreateParams CreateParams {
>>            get {
>>                CreateParams param = base.CreateParams;
>>                param.ExStyle |= 0x08000000;
>>                return param;
>>            }
>>        }

          public MainForm() {
              InitializeComponent();
          }

>>        private void buttonQ_Click(object sender, EventArgs e) {
>>            SendKeys.Send("Q");
>>        }
      }
  }


Links
-----

  https://www.youtube.com/watch?v=oEHXBlEfOvM


Appendix A. SendKeys.Send Method (Based on MSDN)
------------------------------------------------

Sends keystrokes to the active application.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Syntax

  public static void Send ( string keys)

Where

  keys -- The string of keystrokes to send.

Exceptions

  InvalidOperationException -- There is no an active application
                                to send keystrokes to.

  ArgumentException --  keys does not represent valid keystrokes

Remarks

Each key is represented by one or more characters. To specify a single keyboard character, use the character itself. For example, to represent the letter A, pass in the string "A" to the method. To represent more than one character, append each additional character to the one preceding it. To represent the letters A, B, and C, specify the parameter as "ABC".

The plus sign (+), caret (^), percent sign (%), tilde (~), and parentheses () have special meanings to SendKeys. To specify one of these characters, enclose it within braces ({}). For example, to specify the plus sign, use "{+}". To specify brace characters, use "{{}" and "{}}". Brackets ([ ]) have no special meaning to SendKeys, but you must enclose them in braces..

  Key              Code

  BACKSPACE       {BACKSPACE}, {BS}, or {BKSP}
  BREAK           {BREAK}
  CAPS LOCK       {CAPSLOCK}
  DEL or DELETE   {DELETE} or {DEL}
  DOWN ARROW      {DOWN}
  END             {END}
  ENTER           {ENTER} or ~
  ESC             {ESC}
  HELP            {HELP}
  HOME            {HOME}
  INS or INSERT   {INSERT} or {INS}
  LEFT ARROW      {LEFT}
  NUM LOCK        {NUMLOCK}
  PAGE DOWN       {PGDN}
  PAGE UP         {PGUP}
  PRINT SCREEN    {PRTSC} (reserved for future use)
  RIGHT ARROW     {RIGHT}
  SCROLL LOCK     {SCROLLLOCK}
  TAB             {TAB}
  UP ARROW        {UP}
  F1              {F1}
  ..
  F16             {F16}
  Keypad add      {ADD}
  Keypad subtract {SUBTRACT}
  Keypad multiply {MULTIPLY}
  Keypad divide   {DIVIDE}

To specify keys combined with any combination of the SHIFT, CTRL, and ALT keys, precede the key code with one or more of the following codes.

  Key             Code

  SHIFT           +
  CTRL            ^
  ALT             %

To specify that any combination of SHIFT, CTRL, and ALT should be held down while several other keys are pressed, enclose the code for those keys in parentheses. For example, to specify to hold down SHIFT while E and C are pressed, use "+(EC)". To specify to hold down SHIFT while E is pressed, followed by C without SHIFT, use "+EC".

To specify repeating keys, use the form {key number}. You must put a space between key and number. For example, {LEFT 42} means press the LEFT ARROW key 42 times; {h 10} means press H 10 times.
..