All pastes #729426 Raw Edit

Something

public text v1 · immutable
·published 2007-10-07 23:40 UTC
rendered paste body
using System;
using System.Collections.Generic;
using System.Text;

namespace pindleNET2.Common
{
    class Input
    {
        public static void SendPacket(int processID, byte[] packet)
        {
            D2Hooks.D2Sender sender = new D2Hooks.D2Sender(processID);
            sender.SendToGameServer(packet);
        }
        public static void SendText(string WindowName, string message)
        {
            StringBuilder sb = new StringBuilder(message);
            char[] charArray = new char[sb.Length];
            sb.CopyTo(0, charArray, 0, sb.Length);
            foreach (char c in charArray)
            {
                SendKeyDown(WindowName, c);
                SendMessage(WindowName, Common.Win32.Message.WM_CHAR, c, (int)0x220001);
                SendKeyUp(WindowName, c);
            }
                //SendKey(WindowName, c, 15);
        }
        public static void SendKey(string WindowName, char c,int KeyDownDelay)
        {
            Win32.SendMessage(Win32.FindWindow("Diablo II", WindowName),
                (uint)Win32.Message.WM_KEYDOWN, c, 0);
            System.Threading.Thread.Sleep(KeyDownDelay);
            Win32.SendMessage(Win32.FindWindow("Diablo II", WindowName),
                (uint)Win32.Message.WM_KEYUP, c, 0);
        }
        public static void SendKey(string WindowName, Win32.KeyCodes KeyCode)
        {
            SendKey(WindowName, KeyCode, 15);
        }
        public static void SendKey(string WindowName, Win32.KeyCodes KeyCode, int KeyDownDelay)
        {
            Win32.SendMessage(Win32.FindWindow("Diablo II", WindowName),
                (uint)Win32.Message.WM_KEYDOWN, (int)KeyCode, 0);
            System.Threading.Thread.Sleep(KeyDownDelay);
            Win32.SendMessage(Win32.FindWindow("Diablo II", WindowName),
                (uint)Win32.Message.WM_KEYUP, (int)KeyCode, 0);
        }
        public static void SendKeyDown(string WindowName, Win32.KeyCodes KeyCode)
        {
            Win32.SendMessage(Win32.FindWindow("Diablo II", WindowName),
                (uint)Win32.Message.WM_KEYDOWN, (int)KeyCode, 0);
        }
        public static void SendKeyUp(string WindowName, Win32.KeyCodes KeyCode)
        {
            Win32.SendMessage(Win32.FindWindow("Diablo II", WindowName),
                (uint)Win32.Message.WM_KEYUP, (int)KeyCode, 0);
        }
        public static void SendKeyDown(string WindowName, char KeyCode)
        {
            Win32.SendMessage(Win32.FindWindow("Diablo II", WindowName),
                (uint)Win32.Message.WM_KEYDOWN, (int)KeyCode, 0);
        }
        public static void SendKeyUp(string WindowName, char KeyCode)
        {
            Win32.SendMessage(Win32.FindWindow("Diablo II", WindowName),
                (uint)Win32.Message.WM_KEYUP, (int)KeyCode, 0);
        }

        public static void SendMessage(string WindowName, Win32.Message Message, int LParam, int RParam)
        {
            Win32.SendMessage(Win32.FindWindow("Diablo II", WindowName),
                (uint)Message,LParam, RParam);
        }
        //todo sendkeydown
        //todo sendkeyup
        public static void MouseMove(string WindowName, int x, int y)
        {
            Win32.SendMessage(Win32.FindWindow("Diablo II", WindowName),
                (uint)Win32.Message.WM_MOUSEMOVE, 0, (y * 0x10000) + x);
        }
        public static void MouseDown(string WindowName, string Button, int x, int y)
        {
            MouseMove(WindowName, x, y);
            System.Threading.Thread.Sleep(100);
            uint _buttondown = 0, _buttonup = 0;
            switch (Button.ToLower())
            {
                case "left":
                    _buttondown = (uint)Win32.Message.WM_LBUTTONDOWN;
                    _buttonup = (uint)Win32.Message.WM_LBUTTONUP;
                    break;
                case "right":
                    _buttondown = (uint)Win32.Message.WM_RBUTTONDOWN;
                    _buttonup = (uint)Win32.Message.WM_RBUTTONUP;
                    break;
                default:
                    throw new ApplicationException("MouseClick(): Button value is not known");
            }
            Win32.SendMessage(Win32.FindWindow("Diablo II", WindowName),
                _buttondown, 0, (y * 0x10000) + x);
        }
        public static void MouseUp(string WindowName, string Button, int x, int y)
        {
            MouseMove(WindowName, x, y);
            System.Threading.Thread.Sleep(100);
            uint _buttondown = 0, _buttonup = 0;
            switch (Button.ToLower())
            {
                case "left":
                    _buttondown = (uint)Win32.Message.WM_LBUTTONDOWN;
                    _buttonup = (uint)Win32.Message.WM_LBUTTONUP;
                    break;
                case "right":
                    _buttondown = (uint)Win32.Message.WM_RBUTTONDOWN;
                    _buttonup = (uint)Win32.Message.WM_RBUTTONUP;
                    break;
                default:
                    throw new ApplicationException("MouseClick(): Button value is not known");
            }
            Win32.SendMessage(Win32.FindWindow("Diablo II", WindowName),
                _buttonup, 0, (y * 0x10000) + x);
        }
        public static void MouseClick(string WindowName, string Button, int x, int y, int MouseDownDelay)
        {
            MouseMove(WindowName, x, y);
            System.Threading.Thread.Sleep(100);
            //SendMessage(receiver.Handle, WM_LBUTTONDOWN, 0, (location.Y *0x10000) + location.X);
            //uint _button = 0
            uint _buttondown = 0, _buttonup = 0;
            switch (Button.ToLower())
            {
                case "left":
                    _buttondown = (uint)Win32.Message.WM_LBUTTONDOWN;
                    _buttonup = (uint)Win32.Message.WM_LBUTTONUP;
                    break;
                case "right":
                    _buttondown = (uint)Win32.Message.WM_RBUTTONDOWN;
                    _buttonup = (uint)Win32.Message.WM_RBUTTONUP;
                    break;
                default:
                    throw new ApplicationException("MouseClick(): Button value is not known");
            }
            Win32.SendMessage(Win32.FindWindow("Diablo II", WindowName),
                _buttondown, 0, (y * 0x10000) + x);
            System.Threading.Thread.Sleep(MouseDownDelay);
            Win32.SendMessage(Win32.FindWindow("Diablo II", WindowName),
                _buttonup, 0, (y * 0x10000) + x);
        }
    }
}