Domanda

In un'applicazione C # WinForms (su .NET 3.5, probabilmente 4,0 soonish), come è possibile fare per permettere all'utente di definire le proprie macro? Per esempio, un utente potrebbe volere la pressione del tasto CTRL + K per significare clic su un determinato articolo nel menu, e inserendo del testo nella finestra di dialogo aperta dal menù, prima di premere "Ok" per chiudere la finestra di dialogo.

In teoria, il nostro software potrebbe fornire una funzionalità di macro-registrazione, che consentirebbe a un utente di avviare solo la registrazione, eseguire le attività desiderate, e la registrazione di arresto per avere una macro disponibili. Questa è una caratteristica che essi sono utilizzati per dalla vecchia versione del software, che è stato scritto in FoxPro, uno strumento che ha tali capacità built-in.

L'opzione migliore per noi sarebbe chiaramente essere acquisendo e utilizzando un collaudato libreria di terze parti di alcune specie, ma idee per rotolare la nostra versione sono anche apprezzati.

Nessuna soluzione corretta

Altri suggerimenti

Se io stavano lavorando su qualcosa come questo, avrei forse integrare un EventHandler generale per registrare gli eventi che si desidera essere registrabile (forse sia come un gestore di individuo aggiunto ai pulsanti disponibili o creando una classe RecordedEventHandler per estendere EventHandler e poi sottoclasse tutta la vostra gestione da quell'evento - questi sono solo top-of-the-testa idee quindi non hanno esaminato il che sarebbe più praticabile) e basta usare il tasto "record di macro" come un interruttore per questo. Ci sono solo probabilità di essere una serie di vari tipi di eventi che devono essere registrati - clic sul pulsante, l'input da tastiera su tutti i campi di testo, le scorciatoie da tastiera e del mouse su tutti i campi del mouse di input quindi non è un compito estremamente tassare anche se naturalmente lavorare come memorizzare e rilegare le macro e come facilitare l'importazione e l'esportazione se si dovesse inclini a farlo è in termini di tempo, ma non tecnicamente impegnativo. Non so di eventuali librerie per questo scopo (anche se mi aspetto un po 'esiste) e pensarci io non sono sicuro di come sarebbe facile per integrare una cosa del genere, perché esigenze della maggior parte delle persone in termini di macro sono suscettibili di essere diversa.

Se avete bisogno di essere in grado di registrare gli eventi intorno alla vostra applicazione, allora potreste trovare il ManagedWinApi di essere utile.

ho una buona esperienza con "disegno del modello di comando" per macro-registrazione functionaly. Ogni comando di fuoco qualche evento (statico per esempio) a livello di applicazione con informazioni Abou parametri ecc ... Il registratore ascoltare a questo evento e persistono la sequenza di comandi di chiamata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top