using System; using System.Collections.Generic; using System.Text; namespace DirectUSB.VirtualPackets { public class RemoteExecutePacket : VirtualPacket { #region Declarations public enum ExecutionType { Program = 0x01, FlashApplication = 0x02, Keypress = 0x03 }; #endregion #region Constructors / Teardown public RemoteExecutePacket(ExecutionType type, string variableName) : base(0x0011) { var data = new byte[4 + variableName.Length]; data[0] = (byte)((variableName.Length >> 8) & 0xFF); data[1] = (byte)(variableName.Length & 0xFF); for (int i = 0; i < variableName.Length; i++) data[2+i] = (byte)variableName[i]; data[2 + variableName.Length] = 0x00; data[3 + variableName.Length] = (byte)type; Data = data; } public RemoteExecutePacket(byte keyCode, byte keyExtend) : base(0x0011) { var data = new byte[5]; data[0] = 0x00; data[1] = 0x00; data[2] = (byte)ExecutionType.Keypress; data[3] = keyCode; data[4] = keyExtend; Data = data; } #endregion } }