È possibile anche creare un livello GUI in C# e il resto dell'applicazione in C++? Se non sbaglio, uno dei software antivirus ha una GUI fatta in Delphi. Come potrebbe essere fatto?È possibile? GUI in C#, app in C++
risposta
Sono disponibili diverse opzioni per farlo, tra cui:
- Usa P/Invoke per chiamare nella DLL C++ da C#.
- Esporre un'interfaccia COM dal codice nativo e chiamarla da C# utilizzando COM interop.
- Scrive un servizio Windows nativo e chiama dal codice gestito.
- Utilizzare C++/CLI per scrivere una libreria gestita in C++, che è possibile collegare facilmente da C#.
Se stai partendo da zero, l'opzione 4 è probabilmente l'opzione migliore. (Oltre a scrivere l'intera cosa in C#, vale a dire.) Le prime tre opzioni comportano un po 'di ulteriore agitazione e overhead, e probabilmente non valgono la seccatura se non si ha una ragione convincente come la necessità di interagire con una libreria nativa esistente o che ha bisogno di un'architettura orientata ai servizi.
scrivere la logica dell'app in C++ dll, quindi utilizzare pinvoke da C# per parlare con la DLL.
Il problema con questo è che è molto difficile usare molto più di una api stile c con la chiamata di piattaforma. Devi gestire nomi di funzioni storpiati e quindi devi ancora gestire il codice orientato agli oggetti in modo diverso. Un wrapper COM probabilmente sarebbe una scommessa migliore. Ovviamente, è sempre possibile racchiudere il codice orientato agli oggetti in una API in stile C. –
@ JonathanHenson hai ragione signore. Buona osservazione –
Se si scrive la logica aziendale in C++/CLI e l'interfaccia utente in C#, non dovrebbe essere un problema. Se si desidera scrivere in puro ANSI C++, potrebbe essere necessario scrivere wrapper C++/CLI attorno agli oggetti che si desidera esporre a C#.
Vedere this answer. Sembra per rispondere alla tua problema
- 1. Programma C++ veloce, C# GUI, possibile?
- 2. Generazione automatica gui in C#
- 3. GUI .NET - C# vs C++/CLI
- 4. Sviluppo GUI con C++ in ambiente Windows
- 5. È possibile scrivere un'estensione node.js in C (non C++)?
- 6. È possibile simulare l'interfaccia Go in C/C++?
- 7. è possibile usare regex in C++?
- 8. È possibile "concatenare" EventHandlers in C#?
- 9. È possibile avvolgere C enums in Rust?
- 10. È possibile estendere gli array in C#?
- 11. È possibile sovraccaricare gli operatori in C?
- 12. È possibile disattivare lo stderr in C++?
- 13. È possibile sovrascrivere un costruttore in C#?
- 14. GUI di Vala e logica in C++
- 15. WPF con C++, è possibile?
- 16. GUI avanzata Possibile in Java?
- 17. Scrittura C# GUI su una DLL C++ o exe C++
- 18. Esecuzione di app GUI remota in PowerShell
- 19. Esempio di GUI Mediatore C++
- 20. Com'è possibile scrivere legalmente ::: in C++ e ??? in C#?
- 21. È possibile convertire char [] in char * in C?
- 22. È possibile la gestione delle risorse in C++ in Java
- 23. In C++ - è possibile confrontare volatile shared_ptr in nullptr?
- 24. È possibile utilizzare una dll in C# in un'applicazione golang
- 25. java data binding to gui like in C#
- 26. Moderna e nativa modalità di creazione di app GUI WinAPI in C++
- 27. (C#/C++ CLI) È possibile proteggere i miei assembly C++ CLI dall'utilizzo in altri progetti .NET?
- 28. Creazione di una GUI senza un framework in C
- 29. GUI di Windows Service Plus/C#
- 30. È possibile costruire una GUI personalizzata come questa in Java?
Per quale motivo? –
Sì, Visual Studio è stato scritto in C++ con un front-end WPF. –