using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Threading;
using System.Windows.Forms;
namespace AVA_Macrojector
{
public partial class rescope_helper : Form
{
#region initial
public rescope_helper()
{
InitializeComponent();
timer2.Start();
quickmessage_helper.Start();
comboBox1.Text = Properties.Settings.Default.loada.ToString();
timer1.Interval = Properties.Settings.Default.loada;
cb_numkey.SelectedIndex = 0;
}
#endregion
#region globals
int curr_x;
int curr_y;
bool qs_active;
bool rs_active;
bool quickm_active = true;
string spamtext;
delegate void mouse();
delegate void mousers();
delegate void sendmsg(string text);
#endregion
#region mouse
struct POINT
{
public int x;
public int y;
}
void Middown()
{
mouse_event((uint)mef.MIDDLEDOWN,0,0,0,0);
}
void Midup()
{
mouse_event((uint)mef.MIDDLEUP,0,0,0,0);
}
void Rightdown()
{
mouse_event((uint)mef.RIGHTDOWN, 0, 0, 0, 0);
}
void Rightup()
{
mouse_event((uint)mef.RIGHTUP, 0, 0, 0, 0);
}
void Mousedu()
{
Middown();
Midup();
}
void Mouseright()
{
Rightdown();
Rightup();
}
#endregion
#region keycodes
enum mef : uint
{
LEFTDOWN = 0x00000002,
LEFTUP = 0x00000004,
MIDDLEDOWN = 0x00000020,
MIDDLEUP = 0x00000040,
MOVE = 0x00000001,
ABSOLUTE = 0x00008000,
RIGHTDOWN = 0x00000008,
RIGHTUP = 0x00000010,
WHEEL = 0x00000800,
XDOWN = 0x00000080,
XUP = 0x00000100
}
enum vks : int
{
VK_LBUTTON = 0x01,
VK_RBUTTON = 0x02,
VK_CANCEL = 0x03,
VK_MBUTTON = 0x04,
//
VK_XBUTTON1 = 0x05,
VK_XBUTTON2 = 0x06,
//
VK_BACK = 0x08,
VK_TAB = 0x09,
//
VK_CLEAR = 0x0C,
VK_RETURN = 0x0D,
//
VK_SHIFT = 0x10,
VK_CONTROL = 0x11,
VK_MENU = 0x12,
VK_PAUSE = 0x13,
VK_CAPITAL = 0x14,
//
VK_KANA = 0x15,
VK_HANGEUL = 0x15, /* old name - should be here for compatibility */
VK_HANGUL = 0x15,
VK_JUNJA = 0x17,
VK_FINAL = 0x18,
VK_HANJA = 0x19,
VK_KANJI = 0x19,
//
VK_ESCAPE = 0x1B,
//
VK_CONVERT = 0x1C,
VK_NONCONVERT = 0x1D,
VK_ACCEPT = 0x1E,
VK_MODECHANGE = 0x1F,
//
VK_SPACE = 0x20,
VK_PRIOR = 0x21,
VK_NEXT = 0x22,
VK_END = 0x23,
VK_HOME = 0x24,
VK_LEFT = 0x25,
VK_UP = 0x26,
VK_RIGHT = 0x27,
VK_DOWN = 0x28,
VK_SELECT = 0x29,
VK_PRINT = 0x2A,
VK_EXECUTE = 0x2B,
VK_SNAPSHOT = 0x2C,
VK_INSERT = 0x2D,
VK_DELETE = 0x2E,
VK_HELP = 0x2F,
//
VK_LWIN = 0x5B,
VK_RWIN = 0x5C,
VK_APPS = 0x5D,
//
VK_SLEEP = 0x5F,
//
VK_NUMPAD0 = 0x60,
VK_NUMPAD1 = 0x61,
VK_NUMPAD2 = 0x62,
VK_NUMPAD3 = 0x63,
VK_NUMPAD4 = 0x64,
VK_NUMPAD5 = 0x65,
VK_NUMPAD6 = 0x66,
VK_NUMPAD7 = 0x67,
VK_NUMPAD8 = 0x68,
VK_NUMPAD9 = 0x69,
VK_MULTIPLY = 0x6A,
VK_ADD = 0x6B,
VK_SEPARATOR = 0x6C,
VK_SUBTRACT = 0x6D,
VK_DECIMAL = 0x6E,
VK_DIVIDE = 0x6F,
VK_F1 = 0x70,
VK_F2 = 0x71,
VK_F3 = 0x72,
VK_F4 = 0x73,
VK_F5 = 0x74,
VK_F6 = 0x75,
VK_F7 = 0x76,
VK_F8 = 0x77,
VK_F9 = 0x78,
VK_F10 = 0x79,
VK_F11 = 0x7A,
VK_F12 = 0x7B,
VK_F13 = 0x7C,
VK_F14 = 0x7D,
VK_F15 = 0x7E,
VK_F16 = 0x7F,
VK_F17 = 0x80,
VK_F18 = 0x81,
VK_F19 = 0x82,
VK_F20 = 0x83,
VK_F21 = 0x84,
VK_F22 = 0x85,
VK_F23 = 0x86,
VK_F24 = 0x87,
//
VK_NUMLOCK = 0x90,
VK_SCROLL = 0x91,
//
VK_OEM_NEC_EQUAL = 0x92, // '=' key on numpad
//
VK_OEM_FJ_JISHO = 0x92, // 'Dictionary' key
VK_OEM_FJ_MASSHOU = 0x93, // 'Unregister word' key
VK_OEM_FJ_TOUROKU = 0x94, // 'Register word' key
VK_OEM_FJ_LOYA = 0x95, // 'Left OYAYUBI' key
VK_OEM_FJ_ROYA = 0x96, // 'Right OYAYUBI' key
//
VK_LSHIFT = 0xA0,
VK_RSHIFT = 0xA1,
VK_LCONTROL = 0xA2,
VK_RCONTROL = 0xA3,
VK_LMENU = 0xA4,
VK_RMENU = 0xA5,
//
VK_BROWSER_BACK = 0xA6,
VK_BROWSER_FORWARD = 0xA7,
VK_BROWSER_REFRESH = 0xA8,
VK_BROWSER_STOP = 0xA9,
VK_BROWSER_SEARCH = 0xAA,
VK_BROWSER_FAVORITES = 0xAB,
VK_BROWSER_HOME = 0xAC,
//
VK_VOLUME_MUTE = 0xAD,
VK_VOLUME_DOWN = 0xAE,
VK_VOLUME_UP = 0xAF,
VK_MEDIA_NEXT_TRACK = 0xB0,
VK_MEDIA_PREV_TRACK = 0xB1,
VK_MEDIA_STOP = 0xB2,
VK_MEDIA_PLAY_PAUSE = 0xB3,
VK_LAUNCH_MAIL = 0xB4,
VK_LAUNCH_MEDIA_SELECT = 0xB5,
VK_LAUNCH_APP1 = 0xB6,
VK_LAUNCH_APP2 = 0xB7,
//
VK_OEM_1 = 0xBA, // ';:' for US
VK_OEM_PLUS = 0xBB, // '+' any country
VK_OEM_COMMA = 0xBC, // ',' any country
VK_OEM_MINUS = 0xBD, // '-' any country
VK_OEM_PERIOD = 0xBE, // '.' any country
VK_OEM_2 = 0xBF, // '/?' for US
VK_OEM_3 = 0xC0, // '`~' for US
//
VK_OEM_4 = 0xDB, // '[{' for US
VK_OEM_5 = 0xDC, // '\|' for US
VK_OEM_6 = 0xDD, // ']}' for US
VK_OEM_7 = 0xDE, // ''"' for US
VK_OEM_8 = 0xDF,
//
VK_OEM_AX = 0xE1, // 'AX' key on Japanese AX kbd
VK_OEM_102 = 0xE2, // "<>" or "\|" on RT 102-key kbd.
VK_ICO_HELP = 0xE3, // Help key on ICO
VK_ICO_00 = 0xE4, // 00 key on ICO
//
VK_PROCESSKEY = 0xE5,
//
VK_ICO_CLEAR = 0xE6,
//
VK_PACKET = 0xE7,
//
VK_OEM_RESET = 0xE9,
VK_OEM_JUMP = 0xEA,
VK_OEM_PA1 = 0xEB,
VK_OEM_PA2 = 0xEC,
VK_OEM_PA3 = 0xED,
VK_OEM_WSCTRL = 0xEE,
VK_OEM_CUSEL = 0xEF,
VK_OEM_ATTN = 0xF0,
VK_OEM_FINISH = 0xF1,
VK_OEM_COPY = 0xF2,
VK_OEM_AUTO = 0xF3,
VK_OEM_ENLW = 0xF4,
VK_OEM_BACKTAB = 0xF5,
//
VK_ATTN = 0xF6,
VK_CRSEL = 0xF7,
VK_EXSEL = 0xF8,
VK_EREOF = 0xF9,
VK_PLAY = 0xFA,
VK_ZOOM = 0xFB,
VK_NONAME = 0xFC,
VK_PA1 = 0xFD,
VK_OEM_CLEAR = 0xFE
}
#endregion
#region window moving api
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);
[DllImportAttribute("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
public static extern bool ReleaseCapture();
private void menuStrip1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
ReleaseCapture();
SendMessage(this.Handle, 0xa1, 0x2, 0);
}
}
#endregion
#region dll imports
[DllImport("user32.dll")]
static extern uint MapVirtualKey(uint uCode, uint uMapType);
[DllImport("user32.dll")]
static extern void keybd_event(byte bVk, byte bScan, uint dwFlags,
int dwExtraInfo);
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool GetCursorPos(out POINT lpPoint);
[DllImport("user32.dll")]
static extern short GetAsyncKeyState(System.Windows.Forms.Keys vKey);
[DllImport("user32.dll")]
static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint dwData,
int dwExtraInfo);
[DllImport("kernel32")]
public static extern IntPtr CreateRemoteThread(
IntPtr hProcess,
IntPtr lpThreadAttributes,
uint dwStackSize,
UIntPtr lpStartAddress, // raw Pointer into remote process
IntPtr lpParameter,
uint dwCreationFlags,
out IntPtr lpThreadId
);
[DllImport("kernel32.dll")]
public static extern IntPtr OpenProcess(
UInt32 dwDesiredAccess,
Int32 bInheritHandle,
Int32 dwProcessId
);
[DllImport("kernel32.dll")]
public static extern Int32 CloseHandle(
IntPtr hObject
);
[DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)]
static extern bool VirtualFreeEx(
IntPtr hProcess,
IntPtr lpAddress,
UIntPtr dwSize,
uint dwFreeType
);
[DllImport("kernel32.dll", CharSet = CharSet.Ansi, ExactSpelling = true)]
public static extern UIntPtr GetProcAddress(
IntPtr hModule,
string procName
);
[DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)]
static extern IntPtr VirtualAllocEx(
IntPtr hProcess,
IntPtr lpAddress,
uint dwSize,
uint flAllocationType,
uint flProtect
);
[DllImport("kernel32.dll")]
static extern bool WriteProcessMemory(
IntPtr hProcess,
IntPtr lpBaseAddress,
string lpBuffer,
UIntPtr nSize,
out IntPtr lpNumberOfBytesWritten
);
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
public static extern IntPtr GetModuleHandle(
string lpModuleName
);
[DllImport("kernel32", SetLastError = true, ExactSpelling = true)]
internal static extern Int32 WaitForSingleObject(
IntPtr handle,
Int32 milliseconds
);
#endregion
#region Injector code
private void injectToolStripMenuItem2_Click(object sender, EventArgs e)
{
Process[] prc = Process.GetProcessesByName("AVA");
if (prc.Length == 0)
{ MessageBox.Show("AVA not running\nPlease inject when the Process is running."); return; }
openFileDialog1.ShowDialog();
String strDLLName = openFileDialog1.FileName;
String strProcessName = "AVA";
Int32 ProcID = GetProcessId(strProcessName);
if (ProcID >= 0)
{
IntPtr hProcess = (IntPtr)OpenProcess(0x1F0FFF, 1, ProcID);
if (hProcess == null)
{
MessageBox.Show("OpenProcess Failed!");
return;
}
else
InjectDLL(hProcess, strDLLName);
}
}
public Int32 GetProcessId(String proc)
{
Process[] ProcList;
ProcList = Process.GetProcessesByName(proc);
return ProcList[0].Id;
}
public void InjectDLL(IntPtr hProcess, String strDLLName)
{
IntPtr bytesout;
// Length of string containing the DLL file name +1 byte padding
Int32 LenWrite = strDLLName.Length + 1;
// Allocate memory within the virtual address space of the target process
IntPtr AllocMem = (IntPtr)VirtualAllocEx(hProcess, (IntPtr)null, (uint)LenWrite, 0x1000, 0x40); //allocation pour WriteProcessMemory
// Write DLL file name to allocated memory in target process
WriteProcessMemory(hProcess, AllocMem, strDLLName, (UIntPtr)LenWrite, out bytesout);
// Function pointer "Injector"
UIntPtr Injector = (UIntPtr)GetProcAddress(GetModuleHandle("kernel32. dll"), "LoadLibraryA");
if (Injector == null)
{
MessageBox.Show(" Injector Error! \n ");
// return failed
return;
}
// Create thread in target process, and store handle in hThread
IntPtr hThread = (IntPtr)CreateRemoteThread(hProcess, (IntPtr)null, 0, Injector, AllocMem, 0, out bytesout);
// Make sure thread handle is valid
if (hThread == null)
{
//incorrect thread handle ... return failed
MessageBox.Show(" hThread [ 1 ] Error! \n ");
return;
}
// Time-out is 10 seconds...
int Result = WaitForSingleObject(hThread, 10 * 1000);
// Check whether thread timed out...
if (Result == 0x00000080L || Result == 0x00000102L)
{
/* Thread timed out... */
MessageBox.Show(" hThread [ 2 ] Error! \n ");
// Make sure thread handle is valid before closing... prevents crashes.
if (hThread != null)
{
//Close thread in target process
CloseHandle(hThread);
}
return;
}
// Sleep thread for 1 second
Thread.Sleep(1000);
// Clear up allocated space ( Allocmem )
VirtualFreeEx(hProcess, AllocMem, (UIntPtr)0, 0x8000);
// Make sure thread handle is valid before closing... prevents crashes.
if (hThread != null)
{
//Close thread in target process
CloseHandle(hThread);
}
// return succeeded
return;
}
#endregion
#region gui region
private void comboBox1_TextChanged(object sender, EventArgs e)
{
try
{
timer1.Interval = Convert.ToInt32(comboBox1.Text);
Properties.Settings.Default.loada = Convert.ToInt32(comboBox1.Text);
}
catch (Exception) { MessageBox.Show("Error applying ms to Interval."); }
Properties.Settings.Default.Save();
}
private void xToolStripMenuItem2_Click(object sender, EventArgs e)
{
this.Close();
}
void refresh_cb()
{
string[] entries;
List<string> lst = new List<string>();
comboBox1.Items.Clear();
entries = Properties.Settings.Default.saves.Split('|');
lst.AddRange(entries);
lst.Sort();
comboBox1.Items.AddRange(lst.ToArray());
}
private void btn_get_Click(object sender, EventArgs e)
{
Process.Start("https://www.mpgh.net/forum/282-alliance-valiant-arms-ava-discussions/623614-official-alliance-valiant-arms-macro-speed-guide.html");
}
#endregion
#region timers
private void quickmessage_cd_Tick(object sender, EventArgs e)
{
quickm_active = true;
quickmessage_cd.Stop();
}
private void tm_spam_Tick(object sender, EventArgs e)
{
keybd_event(0x0D, 0x1C, 0, 0);
SendKeys.Send(spamtext);
keybd_event(0x0D, 0x1C, 0, 0);
}
private void rescope_Tick(object sender, EventArgs e)
{
mousers msc = new mousers(Mouseright);
msc();
rescope.Stop();
}
private void qs_cooldown_Tick(object sender, EventArgs e)
{
qs_active = true;
qs_cooldown.Stop();
}
private void switch_back_Tick(object sender, EventArgs e)
{
if (qs_active)
{
SendKeys.Send("1");
pictureBox2.Image = Properties.Resources.green_light;
switch_back.Stop();
qs_active = false;
if (rs_active)
{
rescope.Start();
}
qs_cooldown.Start();
}
}
private void quickswitch_helper_Tick(object sender, EventArgs e)
{
int x = GetAsyncKeyState(Keys.LButton);
if ((x == 1) || (x == Int16.MinValue))
{
if (qs_active)
{
pictureBox2.Image = Properties.Resources.color_wheel_icon;
SendKeys.Send("3");
switch_back.Start();
}
}
x = GetAsyncKeyState(Keys.F10);
if ((x == 1) || (x == Int16.MinValue))
{
checkBox1.Checked = false;
}
}
private void timer1_Tick(object sender, EventArgs e)
{
int x = GetAsyncKeyState(Keys.LButton);
if ((x == 1) || (x == Int16.MinValue))
{
pictureBox1.Image = Properties.Resources.color_wheel_icon;
mouse ms = new mouse(Mousedu);
ms();
if (checkBox2.Checked)
{
keybd_event(0x51, 0x10, 0x0000, 0);
}
}
else
{
if (checkBox2.Checked)
{
keybd_event(0x51, 0x10, 0x0002, 0);
}
pictureBox1.Image = Properties.Resources.green_light;
}
}
private void timer2_Tick(object sender, EventArgs e)
{
POINT position;
GetCursorPos(out position);
curr_x = position.x;
curr_y = position.y;
label4.Text = position.x.ToString() + ", " + position.y.ToString();
int x = GetAsyncKeyState(Keys.F6);
if ((x == 1) || (x == Int16.MinValue))
{
b_spam_2.PerformClick();
}
}
#endregion
#region macro
private void button1_Click(object sender, EventArgs e)
{
menuStrip1.BackColor = Color.DarkGreen;
pictureBox1.Image = Properties.Resources.green_light;
timer1.Start();
}
private void button2_Click(object sender, EventArgs e)
{
menuStrip1.BackColor = Color.Maroon;
pictureBox1.Image = Properties.Resources.css_images_red_light;
timer1.Stop();
qs_active = false;
pictureBox2.Image = Properties.Resources.css_images_red_light;
quickswitch_helper.Stop();
}
private void btn_add_Click(object sender, EventArgs e)
{
string inpu = Microsoft.VisualBasic.Interaction.InputBox("Milise conds");
string temp = Properties.Settings.Default.saves;
temp = temp + inpu + "|";
Properties.Settings.Default.saves = temp;
refresh_cb();
}
#endregion
#region quickswitch
private void button3_Click(object sender, EventArgs e)
{
qs_active = true;
quickswitch_helper.Start();
pictureBox2.Image = Properties.Resources.green_light;
}
private void button4_Click(object sender, EventArgs e)
{
qs_active = false;
quickswitch_helper.Stop();
checkBox1.Checked = false;
pictureBox2.Image = Properties.Resources.css_images_red_light;
}
#endregion
#region rescope
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked)
{
if (!qs_active)
{
MessageBox.Show("This function is in dependency of quickswitch and will work only if it's on.");
}
textBox1.Enabled = false;
try
{
rescope.Interval = Convert.ToInt32(textBox1.Text);
}
catch (Exception)
{ MessageBox.Show("Please enter a valid number"); checkBox1.Checked = false; }
rs_active = true;
}
else
{
textBox1.Enabled = true;
rs_active = false;
rescope.Stop();
}
}
#endregion
#region spambot
private void b_spam_1_Click(object sender, EventArgs e)
{
pictureBox3.Image = Properties.Resources.green_light;
spamtext = tb_spam.Text;
tm_spam.Interval = Convert.ToInt32(textBox2.Text);
tm_spam.Start();
}
private void b_spam_2_Click(object sender, EventArgs e)
{
pictureBox3.Image = Properties.Resources.css_images_red_light;
tm_spam.Stop();
}
#endregion
#region quickmessage
private void cb_numkey_SelectedIndexChanged(object sender, EventArgs e)
{
switch (cb_numkey.SelectedIndex)
{
case 0:
tb_qmtext.Text = Properties.Settings.Default.message0;
break;
case 1:
tb_qmtext.Text = Properties.Settings.Default.message1;
break;
case 2:
tb_qmtext.Text = Properties.Settings.Default.message2;
break;
case 3:
tb_qmtext.Text = Properties.Settings.Default.message3;
break;
case 4:
tb_qmtext.Text = Properties.Settings.Default.message4;
break;
case 5:
tb_qmtext.Text = Properties.Settings.Default.message5;
break;
case 6:
tb_qmtext.Text = Properties.Settings.Default.message6;
break;
case 7:
tb_qmtext.Text = Properties.Settings.Default.message7;
break;
case 8:
tb_qmtext.Text = Properties.Settings.Default.message8;
break;
case 9:
tb_qmtext.Text = Properties.Settings.Default.message9;
break;
}
}
private void button5_Click(object sender, EventArgs e)
{
switch (cb_numkey.SelectedIndex)
{
case 0:
Properties.Settings.Default.message0 = tb_qmtext.Text;
tb_qmtext.Text = "Saved in Slot " + cb_numkey.SelectedIndex.ToString() + ".";
break;
case 1:
Properties.Settings.Default.message1 = tb_qmtext.Text;
tb_qmtext.Text = "Saved in Slot " + cb_numkey.SelectedIndex.ToString() + ".";
break;
case 2:
Properties.Settings.Default.message2 = tb_qmtext.Text;
tb_qmtext.Text = "Saved in Slot " + cb_numkey.SelectedIndex.ToString() + ".";
break;
case 3:
Properties.Settings.Default.message3 = tb_qmtext.Text;
tb_qmtext.Text = "Saved in Slot " + cb_numkey.SelectedIndex.ToString() + ".";
break;
case 4:
Properties.Settings.Default.message4 = tb_qmtext.Text;
tb_qmtext.Text = "Saved in Slot " + cb_numkey.SelectedIndex.ToString() + ".";
break;
case 5:
Properties.Settings.Default.message5 = tb_qmtext.Text;
tb_qmtext.Text = "Saved in Slot " + cb_numkey.SelectedIndex.ToString() + ".";
break;
case 6:
Properties.Settings.Default.message6 = tb_qmtext.Text;
tb_qmtext.Text = "Saved in Slot " + cb_numkey.SelectedIndex.ToString() + ".";
break;
case 7:
Properties.Settings.Default.message7 = tb_qmtext.Text;
tb_qmtext.Text = "Saved in Slot " + cb_numkey.SelectedIndex.ToString() + ".";
break;
case 8:
Properties.Settings.Default.message8 = tb_qmtext.Text;
tb_qmtext.Text = "Saved in Slot " + cb_numkey.SelectedIndex.ToString() + ".";
break;
case 9:
Properties.Settings.Default.message9 = tb_qmtext.Text;
tb_qmtext.Text = "Saved in Slot " + cb_numkey.SelectedIndex.ToString() + ".";
break;
default:
tb_qmtext.Text = "ERROR";
break;
}
Properties.Settings.Default.Save();
}
private void sendmessage(string text)
{
Thread.Sleep(20);
keybd_event(0x0D, 0x1C, 0, 0);
Thread.Sleep(20);
SendKeys.Send(text);
Thread.Sleep(20);
keybd_event(0x0D, 0x1C, 0, 0);
}
private void quickmessage_helper_Tick(object sender, EventArgs e)
{
if (quickm_active)
{
int x = GetAsyncKeyState(Keys.NumPad1);
if ((x == 1) || (x == Int16.MinValue))
{
sendmsg smsg = new sendmsg(sendmessage);
smsg(Properties.Settings.Default.message1);
quickm_active = false;
quickmessage_cd.Start();
}
x = GetAsyncKeyState(Keys.NumPad2);
if ((x == 1) || (x == Int16.MinValue))
{
sendmsg smsg = new sendmsg(sendmessage);
smsg(Properties.Settings.Default.message2);
quickm_active = false;
quickmessage_cd.Start();
}
x = GetAsyncKeyState(Keys.NumPad3);
if ((x == 1) || (x == Int16.MinValue))
{
sendmsg smsg = new sendmsg(sendmessage);
smsg(Properties.Settings.Default.message3);
quickm_active = false;
quickmessage_cd.Start();
}
x = GetAsyncKeyState(Keys.NumPad4);
if ((x == 1) || (x == Int16.MinValue))
{
sendmsg smsg = new sendmsg(sendmessage);
smsg(Properties.Settings.Default.message4);
quickm_active = false;
quickmessage_cd.Start();
}
x = GetAsyncKeyState(Keys.NumPad5);
if ((x == 1) || (x == Int16.MinValue))
{
sendmsg smsg = new sendmsg(sendmessage);
smsg(Properties.Settings.Default.message5);
quickm_active = false;
quickmessage_cd.Start();
}
x = GetAsyncKeyState(Keys.NumPad6);
if ((x == 1) || (x == Int16.MinValue))
{
sendmsg smsg = new sendmsg(sendmessage);
smsg(Properties.Settings.Default.message6);
quickm_active = false;
quickmessage_cd.Start();
}
x = GetAsyncKeyState(Keys.NumPad7);
if ((x == 1) || (x == Int16.MinValue))
{
sendmsg smsg = new sendmsg(sendmessage);
smsg(Properties.Settings.Default.message7);
quickm_active = false;
quickmessage_cd.Start();
}
x = GetAsyncKeyState(Keys.NumPad8);
if ((x == 1) || (x == Int16.MinValue))
{
sendmsg smsg = new sendmsg(sendmessage);
smsg(Properties.Settings.Default.message8);
quickm_active = false;
quickmessage_cd.Start();
}
x = GetAsyncKeyState(Keys.NumPad9);
if ((x == 1) || (x == Int16.MinValue))
{
sendmsg smsg = new sendmsg(sendmessage);
smsg(Properties.Settings.Default.message9);
quickm_active = false;
quickmessage_cd.Start();
}
x = GetAsyncKeyState(Keys.NumPad0);
if ((x == 1) || (x == Int16.MinValue))
{
sendmsg smsg = new sendmsg(sendmessage);
smsg(Properties.Settings.Default.message0);
quickm_active = false;
quickmessage_cd.Start();
}
}
}
#endregion
}
}