void AddEvent(IMacroEvent mEvent) { ListViewItem i = new ListViewItem(mEvent.GetEventType()); i.SubItems.Add(mEvent.GetEventString()); i.ImageKey = mEvent.GetEventType(); i.Tag = mEvent; lvEvents.Items.Add(i); CurrentMacro.Add(mEvent); }
private void removeSelectedEventToolStripMenuItem_Click(object sender, EventArgs e) { if (lvEvents.SelectedItems.Count > 0) { foreach (ListViewItem i in lvEvents.SelectedItems) { // ListViewItem i = lvEvents.SelectedItems[0]; IMacroEvent mEvent = (IMacroEvent)i.Tag; CurrentMacro.Remove(mEvent); Recorder.Remove(mEvent); lvEvents.Items.Remove(i); } } }
private void moveHereToolStripMenuItem_Click(object sender, EventArgs e) { if (lvEvents.SelectedItems.Count > 0) { int moveIndex = lvEvents.SelectedIndices[0]; for (int i = SelectedItems.Count - 1; i >= 0; i--) { IMacroEvent mEvent = (IMacroEvent)SelectedItems[i].Tag; lvEvents.Items.Remove(SelectedItems[i]); CurrentMacro.Remove(mEvent); lvEvents.Items.Insert(moveIndex, SelectedItems[i]); CurrentMacro.Insert(moveIndex, mEvent); } } }
public formMacroPlaying(IMacroEvent[] events) { InitializeComponent(); this.Location = new Point(Screen.PrimaryScreen.WorkingArea.Right - this.Width, Screen.PrimaryScreen.WorkingArea.Bottom - this.Height); new Thread(() => { foreach(IMacroEvent e in events) { e.ExecuteEvent(); } Invoke((MethodInvoker)delegate() { this.DialogResult = System.Windows.Forms.DialogResult.OK; }); }).Start(); }
void Recorder_OnEvent(IMacroEvent mEvent) { AddEvent(mEvent); }
private void loadAMacroToolStripMenuItem_Click(object sender, EventArgs e) { string filePath = string.Empty; using (OpenFileDialog ofd = new OpenFileDialog()) { ofd.Filter = "Macro File|*.bmr"; if (ofd.ShowDialog() != System.Windows.Forms.DialogResult.OK) { return; } filePath = ofd.FileName; } try { IMacroEvent[] loadedEvents = null; using (FileStream fs = new FileStream(filePath, FileMode.Open)) using (BinaryReader br = new BinaryReader(fs)) { loadedEvents = new IMacroEvent[br.ReadInt32()]; int eventIndex = 0; while (fs.Position != fs.Length) { MacroEventType mType = (MacroEventType)br.ReadByte(); if (mType == MacroEventType.Delay) { loadedEvents[eventIndex] = new MacroEvent_Delay(br.ReadInt32()); } if (mType == MacroEventType.Keyboard) { eKeyboardEvent kbEvent = (eKeyboardEvent)br.ReadInt32(); KeyboardEvent eventData = new KeyboardEvent(); eventData.vKeyCode = br.ReadUInt32(); eventData.scanCode = br.ReadUInt32(); eventData.Flags = br.ReadUInt32(); eventData.Time = 0; eventData.dwExtraInfo = WinApi.GetMessageExtraInfo(); loadedEvents[eventIndex] = new MacroEvent_Keyboard(kbEvent, eventData); } if (mType == MacroEventType.Mouse) { eMouseButton mButton = (eMouseButton)br.ReadInt32(); MouseEvent mEvent = new MouseEvent(); mEvent.mouseData = br.ReadUInt32(); mEvent.Location = new mPoint(); mEvent.Location.X = br.ReadInt32(); mEvent.Location.Y = br.ReadInt32(); mEvent.Flags = br.ReadUInt32(); loadedEvents[eventIndex] = new MacroEvent_Mouse(mEvent, mButton); } eventIndex++; } } ClearCurrent(); foreach (IMacroEvent lEvent in loadedEvents) { AddEvent(lEvent); } MessageBox.Show("Loaded successfully"); } catch { MessageBox.Show("Failed to load macro."); } }
private void loadAMacroToolStripMenuItem_Click(object sender, EventArgs e) { string filePath = string.Empty; using(OpenFileDialog ofd = new OpenFileDialog()) { ofd.Filter = "Macro File|*.bmr"; if (ofd.ShowDialog() != System.Windows.Forms.DialogResult.OK) return; filePath = ofd.FileName; } try { IMacroEvent[] loadedEvents = null; using (FileStream fs = new FileStream(filePath, FileMode.Open)) using (BinaryReader br = new BinaryReader(fs)) { loadedEvents = new IMacroEvent[br.ReadInt32()]; int eventIndex = 0; while(fs.Position != fs.Length) { MacroEventType mType = (MacroEventType)br.ReadByte(); if(mType == MacroEventType.Delay) { loadedEvents[eventIndex] = new MacroEvent_Delay(br.ReadInt32()); } if(mType == MacroEventType.Keyboard) { eKeyboardEvent kbEvent = (eKeyboardEvent)br.ReadInt32(); KeyboardEvent eventData = new KeyboardEvent(); eventData.vKeyCode = br.ReadUInt32(); eventData.scanCode = br.ReadUInt32(); eventData.Flags = br.ReadUInt32(); eventData.Time = 0; eventData.dwExtraInfo = WinApi.GetMessageExtraInfo(); loadedEvents[eventIndex] = new MacroEvent_Keyboard(kbEvent, eventData); } if(mType == MacroEventType.Mouse) { eMouseButton mButton = (eMouseButton)br.ReadInt32(); MouseEvent mEvent = new MouseEvent(); mEvent.mouseData = br.ReadUInt32(); mEvent.Location = new mPoint(); mEvent.Location.X = br.ReadInt32(); mEvent.Location.Y = br.ReadInt32(); mEvent.Flags = br.ReadUInt32(); loadedEvents[eventIndex] = new MacroEvent_Mouse(mEvent, mButton); } eventIndex++; } } ClearCurrent(); foreach (IMacroEvent lEvent in loadedEvents) AddEvent(lEvent); MessageBox.Show("Loaded successfully"); } catch { MessageBox.Show("Failed to load macro."); } }
public void Remove(IMacroEvent mEvent) { EventList.Remove(mEvent); }
public void Play(IMacroEvent[] events) { foreach(IMacroEvent e in events) { e.ExecuteEvent(); } }