![[Tutorial] Crea tu propio launcher en visual basic .net [Tutorial] Crea tu propio launcher en visual basic .net](https://storage.posteamelo.com/assets-adonis/assets/2013/05/27/BE2C889C1-qgK4TJzk7ds.webp)


En este tutorial les propongo y enseño a hacer algo que puede terminar como esto:
Bien lo primero que deben hacer es abrir su visual basic o visual studio y crear un nuevo proyecto para aplicación ejecutable de windows:
CABE ACLARAR QUE EN ESTE TUTORIAL YO USÉ LA VERSIÓN 2005 EXPRESS (POSTEADA EN MI PERFIL) PERO PUEDEN UTILIZAR LA QUE GUSTEN
Mira el entorno y familiarizate con las opciones y posibilidades que ofrece
A la izquierda tendrás el toolbox que te permite añadir objetos como botones de comando, textbox, combobox, groupbox, etc...
Bien lo primero que deben hacer es abrir su visual basic o visual studio y crear un nuevo proyecto para aplicación ejecutable de windows:
CABE ACLARAR QUE EN ESTE TUTORIAL YO USÉ LA VERSIÓN 2005 EXPRESS (POSTEADA EN MI PERFIL) PERO PUEDEN UTILIZAR LA QUE GUSTEN

Mira el entorno y familiarizate con las opciones y posibilidades que ofrece
A la izquierda tendrás el toolbox que te permite añadir objetos como botones de comando, textbox, combobox, groupbox, etc...
A la derecha tendrás el explorador de soluciones y propiedades de los objetos y formularios de tu proyecto

El el cuadro de propiedades podremos cambiar las configuraciones de nuestro formulario y botones

Aquí les dejo una breve explicación de cada una de las propiedades que podremos usar en este proyecto:
(Name) > Indica el nombre del control [NO CONFUNDIR CON TEXT que cambia el texto visiblepor ejemplo el título del formulario o el texto de un botón u objeto.
BackColor > Cambia el color de fondo del formularioBackgroundImage > Cambia el fondo del formulario por una imagen personalizadaBackgroundImageLayout > Indica si la imagen elegida en BackgroundImage se presentará:Multiplicada (Tile), Centrada (Center), Estirada (Strech) o con ZOOM.
ContextMenuStrip > Elije el menú a mostrar cuando se hace un click derecho sobre el control(si no tenemos la herramienta ContentMenuStrip en el formulario o control aparecerá (none) En el selector)
Cursor > Elije el cursor que quieres que aparezca en cada controlUtil si por ejemplo pones un botón de ayuda y quieres que aparezca un signo de preguntaEnabled > Indica si el formulario u objeto se puede utilizar
Font > Indica la fuente de texto que debe usar el objetoNo muy util si nuestro producto va a ser usado en un ordenador sin la fuente instalada, en todo caso podremos elegir incluir en el instalador la fuente.(Tampoco muy util si lo queremos usar en la barra de títulos)
ForeColor > Permite elegir el color de fuente del texto del objetoFormBorderStyle > Indica como debe aparecer el título y borde de la ventana de nuestra aplicación ofreciendonos las opciones de None (Nada), Fixed Single (El más común), Fixed 3D (Como Fixed Single pero con profundidad en el sector usable de nuestra aplicación, Fixed Dialog (Igual que Fixed Single pero más util en caso de usar nuestro formulario como un diálogo (de pregunta por ejemplo) (No permite modificar el tamaño), Sizable (Permite que el formulario se modifique el tamaño a gusto del usuario, ten en cuenta que esto no influye en el posicionamiento de la mayoría de los controles por lo que puedes obtener resultados de mal gusto), FixedToolWindow (Crea un diálogo con los bordes más estrechos (no permite cambiar el tamaño, usar SizableToolWindow en caso de querer esto).
HelpButton > Muestra u oculta el botón de ayuda (?) en la barra de títulos de nuestro formulario.
Icon > Permite utilizar un icono en la barra de títulos de nuestro formulario (no cambia el icono del exe)Locked > Indica si el control se puede mover o cambiar de tamaño
MaximizeButton y MinimizeButton > Permite elegir si desea que el botón de Maximizar y Minimizar sean visibles.
MaximumSize > Permite setear el tamaño máximo que tendrá nuestra app en caso de usar el botón de maximizar (no muy util en caso de usar un tamaño personalizado)
Opacity > Cambia el porcentaje de opacidad del control siendo 100% > Maxima visibilidad y 0% Control no visible (no influye en la funcionalidad)
b]RightToLeft y RightToLeft > permite setear nuestra aplicación para un uso más confortable en ordenadores de lenguajes RTL (Árabe por ejemplo).
ShowIcon > Indica si el icono elegido se puede visualizar en la barra de títulos.
ShowInTaskbar > Permite elegir si nuestra aplicacion va a mostrar o no un botón propio en la barra de tareas.
Size > Permite elegir manualmente el tamaño del control (por ejemplo en nuestro launcher vamos a utilizar 406;429 o sea 406px (ancho) por 429px (alto).
StartPosition > Permite pre-elegir el lugar en el cual aparecerá nuestro programa ofreciendo distintas opciones como WindowsDefaultLocation (predeterminado), CenterScreen (Centro de la pantalla), Manual (manual) y otras que no nos serán útiles.
Text (Importante!- Permite elegir el texto que va a mostrar nuestro objeto ya sea el formulario o el objeto control (CommandButton por ejemplo)WindowsState > Pemite elegir si nuestra app se va a iniciar maximizada, minimizada o normal
Sabido esto podemos empezar a diseñar nuestro launcher

Pondremos dos commandbuttons, un groupbox, un checkbox, dos combobox, y al menos 4 labels y un picturebox

nota: este botón nos permite facilitar el agregar objetos usables en instancias if por ejemplo ya que nos permite armar una lista de objetos en un combobox o modificar un picturebox o un textbox para usar el modo multiline (poder escribir distintas lineas y no todo seguido)


Por el momento y tras haber cambiado un par de propiedades explicadas más arriba nuestro launcher empieza a tomar forma


Usaremos el botón explicado arriba para agregar los datos OpenGL, Direct3D y Software al combobox que corresponde al modo de video y 640x480, 800x600, 1024x768 Y 1280X1024 al que corresponde a resolución.Para facilitar la programación cambiaremos los nombres de los combobox correspondientes a modo de video, resolución y el checkbox de servidor dedicado a Resol, VRes y Ded respectivamente.

Al hacer doble click sobre cualquier elemento en el area de trabajo de nuestro form o incluso el mismo form aparecerá el area de programación que es un lugar que permite programar nuestra app y objetos escribiendo código, en este caso, de Visual Basic .net.
![[Tutorial] Crea tu propio launcher en visual basic .net [Tutorial] Crea tu propio launcher en visual basic .net](https://storage.posteamelo.com/assets-adonis/assets/2018/06/25/C79.jpg-W1AEIkwfP9k.webp)
Lo primero que haremos es lo más fácil, poner un código al botón de "Acerca de" para que muestre un cartel con los datos del programador en mi caso usé:dijo:
MsgBox("ACERCA DE" & vbCrLf & _
"-----------------------------------------------------" & vbCrLf & _
"Haga click en jugar" & vbCrLf & _
"para iniciar el juego" & vbCrLf & _
"" & vbCrLf & _
"website: taringa.net" & vbCrLf & _
"mail: [email protected] " & vbCrLf & _
"forum: taringa.net/capot_is_back" & vbCrLf & _
"-----------------------------------------------------" & vbCrLf & _
"NOTA:" & vbCrLf & _
"CREADO por [email protected] ", 64 + 0, "LEFT4DEAD MOD 1.5.3.2"

Pero pueden modificarlo siguiendo la lógica explicadaTengan en cuenta que cada & vbCrLf & _ hace una especie de "Enter" y crea una nueva línea en el texto siguiente creando un texto multiline en el cuadro de diálogo que va a mostrar.La parte que dice "LEFT4DEAD MOD 1.5.3.2" es la que deben modificar para cambiar el título del mensaje.

Para hacer más jugosa nuestra aplicación pondremos dos labels para cerrar y minimizar a los cuales le cambiaremos el texto visible a "X" y "_" respectivamente.

Daremos doble click sobre cada uno de estos labels para programarlos así:Al de cerrar le pondremos: "Me.Close()" y al de minimizar "Me.WindowState = FormWindowState.Minimized"

Ahora viene la parte jugosa

Programaremos al botón de jugar para que corra una aplicación usando el comando:System.Diagnostics.Process.Start(My.Application.Info.DirectoryPath & "hl.exe", "-game cstrike")

Esto inicia un proceso con el programa selecionado y el parámetro que elijamos, en este caso es un launcher para el counter strike pero para hacerla más jugosa y usar todo lo que hemos puesto en nuestro form pondremos el siguiente texto condicional para absolutamente todas las funciones.IGUAL PUEDE SER PARA CUALQUIER JUEGO SOLO REEMPLAZEN LA LINEA DE <*.exe> y -<comando> por el que necesiten

Texto:
If Ded.Checked = True Then
System.Diagnostics.Process.Start(My.Application.Info.DirectoryPath & "hlds.exe",
"-game cstrike -insecure"![]()
ElseIf Resol.Items.Contains("Direct3D") Then
System.Diagnostics.Process.Start(My.Application.Info.DirectoryPath & "hl.exe",
"-game cstrike -d3d"![]()
ElseIf Resol.Items.Contains("OpenGL") Then
System.Diagnostics.Process.Start(My.Application.Info.DirectoryPath & "hl.exe",
"-game cstrike -gl"![]()
ElseIf Resol.Items.Contains("Software") Then
System.Diagnostics.Process.Start(My.Application.Info.DirectoryPath & "hl.exe",
"-game cstrike -soft"![]()
ElseIf Resol.Items.Contains(""Or ("Default"
Then
System.Diagnostics.Process.Start(My.Application.Info.DirectoryPath & "hl.exe",
"-game cstrike"![]()
ElseIf Resol.Items.Contains("Direct3D")
And VRes.Items.Contains("640x480") Then
System.Diagnostics.Process.Start(My.Application.Info.DirectoryPath & "hl.exe",
"-game cstrike -w640 -d3d"![]()
ElseIf Resol.Items.Contains("Direct3D")
And VRes.Items.Contains("800x600") Then
System.Diagnostics.Process.Start(My.Application.Info.DirectoryPath & "hl.exe",
"-game cstrike -w800 -d3d"![]()
ElseIf Resol.Items.Contains("Direct3D")
And VRes.Items.Contains("1024x768") Then
System.Diagnostics.Process.Start(My.Application.Info.DirectoryPath & "hl.exe",
"-game cstrike -w1024 -d3d"![]()
ElseIf Resol.Items.Contains("Direct3D")
And VRes.Items.Contains("1280x1024"Then
System.Diagnostics.Process.Start(My.Application.Info.DirectoryPath & "hl.exe",
"-game cstrike -w1280 -d3d"![]()
ElseIf Resol.Items.Contains("OpenGL")
And VRes.Items.Contains("640x480") Then
System.Diagnostics.Process.Start(My.Application.Info.DirectoryPath & "hl.exe",
"-game cstrike -w640 -gl"![]()
ElseIf Resol.Items.Contains("OpenGL")
And VRes.Items.Contains("800x600") Then
System.Diagnostics.Process.Start(My.Application.Info.DirectoryPath & "hl.exe",
"-game cstrike -w800 -gl"![]()
ElseIf Resol.Items.Contains("OpenGL")
And VRes.Items.Contains("1024x768") Then
System.Diagnostics.Process.Start(My.Application.Info.DirectoryPath & "hl.exe",
"-game cstrike -w1024 -gl"![]()
ElseIf Resol.Items.Contains("OpenGL")
And VRes.Items.Contains("1280x1024"Then
System.Diagnostics.Process.Start(My.Application.Info.DirectoryPath & "hl.exe",
"-game cstrike -w1280 -gl"![]()
ElseIf Resol.Items.Contains("Software")
And VRes.Items.Contains("640x480") Then
System.Diagnostics.Process.Start(My.Application.Info.DirectoryPath & "hl.exe",
"-game cstrike -w640 -soft"![]()
ElseIf Resol.Items.Contains("Software")
And VRes.Items.Contains("800x600") Then
System.Diagnostics.Process.Start(My.Application.Info.DirectoryPath & "hl.exe",
"-game cstrike -w800 -soft"![]()
ElseIf Resol.Items.Contains("Software")
And VRes.Items.Contains("1024x768") Then
System.Diagnostics.Process.Start(My.Application.Info.DirectoryPath & "hl.exe",
"-game cstrike -w1024 -soft"![]()
ElseIf Resol.Items.Contains("Software")
And VRes.Items.Contains("1280x1024"Then
System.Diagnostics.Process.Start(My.Application.Info.DirectoryPath & "hl.exe",
"-game cstrike -w1280 -soft"![]()
ElseIf Resol.Items.Contains(""Or ("Default"
![]()
And VRes.Items.Contains(""Or ("Default"
Then
System.Diagnostics.Process.Start(My.Application.Info.DirectoryPath & "hl.exe",
"-game cstrike"![]()
End If
Bien con eso hemos terminado nuestra app tan solo nos queda compilarla usando el comando build aplication en el menú de herramientas de nuestro visual studio /basic

Espero que les haya gustado cualquier duda comenten 
-

-
ESPERO TU COMENTARIO
-
![[Tutorial] Crea tu propio launcher en visual basic .net [Tutorial] Crea tu propio launcher en visual basic .net](https://storage.posteamelo.com/assets-adonis/assets/2018/06/25/tumblr_ljtqulgfrV1qhsokl-5Z1b8pZyV0j.gif)