Ejemplo n.º 1
0
        public void PlayMacro()
        {
            if (!Events.Any())
            {
                return;
            }
            var eventsWrappedWithReleasingModKeys = ReleaseModifierKeys.ReleaseModKeysEvents
                                                    .Concat(Events).Concat(ReleaseModifierKeys.ReleaseModKeysEvents);
            var serializedEventsByteArray = SerializeEventsToByteArray(eventsWrappedWithReleasingModKeys);

            InjectAndCaptureDll.InjectEvents(serializedEventsByteArray);
        }
Ejemplo n.º 2
0
        private void PlayEvents_Click(object sender, RoutedEventArgs e)
        {
            if (!EventsObsColl.Any())
            {
                return;
            }

            var serializedEventsByteArray = SerializeEventsToByteArray(EventsObsColl);
            var sizeOfCppBuffer           = Marshal.SizeOf(serializedEventsByteArray[0]) * serializedEventsByteArray.Length;
            var cppBuffer = Marshal.AllocHGlobal(sizeOfCppBuffer);

            try
            {
                Marshal.Copy(serializedEventsByteArray, 0, cppBuffer, sizeOfCppBuffer);
                InjectAndCaptureDll.InjectEvents(cppBuffer, sizeOfCppBuffer);
            }
            finally
            {
                Marshal.FreeHGlobal(cppBuffer);
            }
        }