Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1909, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Applicazioni sia Windows Forms che Console in VB 2005

Avevo bisogno di codice che mi permettesse di fare in modo che una mia applicazione fosse in grado di essere richiamata sia dalla riga di comando che come normale applicazione Windows Forms. Ho fatto diversi tentativi, peraltro poco fruttuosi.. alla fine, questa è stata la risposta che ho avuto nel forum di MSDN dedicato a Visual Basic Express: dapprima si crea un normale progetto Windows Forms; quindi, si aggiunge un nuovo modulo che contenga il seguente codice:

Module Module1

Private Declare Auto Function AllocConsole Lib "kernel32.dll" () As Boolean

Public Sub Main()

'--- Check if command line arguments were specified

Dim args() As String = Environment.GetCommandLineArgs()

If args.Length > 1 Then

'--- Yep, create the console window and run the console mode logic

AllocConsole()

ConsoleMain(args)

Else

'--- Nope, run the normal Windows Forms startup code

Application.EnableVisualStyles()

Application.SetCompatibleTextRenderingDefault(False)

Application.Run(New Form1)

End If

End Sub

Private Sub ConsoleMain(ByVal args() As String)

'--- This code runs when command line arguments were given

Console.WriteLine("Command line = {0}", Environment.CommandLine)

Console.WriteLine("Exe path = {0}", args(0))

For ix As Integer = 1 To args.Length - 1

Console.WriteLine(" Argument({0}) = {1}", ix, args(ix))

Next

Console.Write("Press ENTER to continue")

Dim s As String = Console.ReadLine()

End Sub

End Module

Infine, nelle proprietà del progetto, bisogna deselezionare la casella "Attiva framework applicazione" e selezionare Sub Main come oggetto di avvio. A dire il vero viene aperta una seconda finestra della Console, però funziona bene... magari anche qualcuno di voi ha questa necessità, mi sembrava utile rendere noto questo tipo di funzionalità.

Questo il link al thread originale: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=957843&SiteID=1

Alessandro

Print | posted on lunedì 27 novembre 2006 00:03 | Filed Under [ Visual Basic ]

Powered by:
Powered By Subtext Powered By ASP.NET