J'ai une application Windows Forms et je veux ouvrir une console à la demande (quand j'appuie sur un bouton par exemple) avec laquelle je peux interagir en utilisant la classe Console standard. Y a-t-il un moyen de faire cela?Existe-t-il un moyen de démarrer/ouvrir la console à partir d'une application WinForms/WPF?
2
A
Répondre
6
Oui, vous aurez besoin d'un petit peu sur l'interopérabilité avec Win32 pour le faire.
public class ConsoleHelper
{
public static int Create()
{
if (AllocConsole())
return 0;
else
return Marshal.GetLastWin32Error();
}
public static int Destroy()
{
if (FreeConsole())
return 0;
else
return Marshal.GetLastWin32Error();
}
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2118:ReviewSuppressUnmanagedCodeSecurityUsage"), SuppressUnmanagedCodeSecurity]
[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool AllocConsole();
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2118:ReviewSuppressUnmanagedCodeSecurityUsage"), SuppressUnmanagedCodeSecurity]
[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool FreeConsole();
}
Vous pouvez maintenant appeler Create() pour créer une fenêtre de console associée à votre application.
0
Commander Eric Petroelje's answer here. Il montre le code qui peut créer une console à l'exécution.
Questions connexes
- 1. Dispatcher.CheckAccess() ne fonctionne pas à partir de mon application de console, est-il un meilleur moyen
- 2. Créer une console à partir d'une application .NET non-console
- 3. Exécution d'une application de console à partir d'une autre application de console
- 4. Exécuter une application de console à partir d'une fenêtre Formulaire
- 5. est-il un moyen d'afficher la source d'un module à partir de la console Python?
- 6. Lancement d'une application de console externe à partir de Java
- 7. Un moyen simple d'accéder par programmation à la console JMX
- 8. comment à partir d'une application console détecter la demande "End" à partir du planificateur de tâches
- 9. Surveillance de la sortie de la console à partir de l'actionScript - application flash
- 10. convertir une application de la console à une application Windows
- 11. Comment empêcher la fermeture de la fenêtre de console lors de l'exécution d'une application de console?
- 12. Existe-t-il un moyen de rediriger la sortie vers la console externe à partir de NLog dans ASP.NET?
- 13. Application Win32 Console vs application CLR Console
- 14. Existe-t-il un moyen d'émuler la console dans une application Silverlight ou WPF?
- 15. Configurer les rôles par programme à partir d'une application console
- 16. comment exécuter un winform à partir de l'application console?
- 17. Appel de Java à partir d'une application de console Java et d'une application ASP.NET
- 18. Un moyen de pouvoir installer la même application ClickOnce à partir de deux endroits différents?
- 19. Exécution de l'application Console à partir d'ASP.NET
- 20. C# application console
- 21. application Console question
- 22. application Web de la console JBoss jBPM
- 23. Afficher un message d'invite de commande (ou, message à la console) à partir de l'application Windows
- 24. Réorientation sortie de la console à une autre application
- 25. Utilisation de l'API EPiServer Communities à partir d'une application de console?
- 26. ravendb à partir de l'application console
- 27. comment puis-je appeler un autre programme .cs à partir d'une application console C#?
- 28. lancer un programme gui à partir de la console windows et le faire se détacher
- 29. Un moyen facile d'exécuter une application ASP.Net à la maison?
- 30. Y at-il un moyen d'obtenir des notifications à propos de l'interface de la console Windows
merci. ça a marché. maintenant j'ai un autre problème. Si la console créée est fermée, toute l'application tombe en panne. Y a-t-il un moyen d'empêcher cela? –
Pas facilement. Vous pouvez essayer de désactiver la fonctionnalité de fermeture en utilisant les techniques de ce post: http://stackoverflow.com/questions/877839/stop-a-net-console-app-from-being-closed/878334#878334 – Paolo