Jump to content

[vb .net 2005] Correr aplicação externa


maddox

Recommended Posts

Podes tambem utilizar a API ShellExecute

Cumps

para quê ?! ainda pior !!!!

usa o System.Diagnostics

o AVI2ISO usa e abusa disso, além das threads ... que são bués

www.avi2iso.info

o programa está todo feito em VB 2005...mal grado meu 🙂

devia ter começado logo em C#....mas agora é tarde de mais...que se lixe

apenas pela simplicidade...acho o C# muito mais versátil

a m**** do VB.NET herdou muita porcaria do VB6...

o SHELL é disso exemplo

nem pensem usar essa m**** de comando

Link to comment
Share on other sites

Eu não sei programar em .NET e nem sei o que é issu do System.Diagnostics, mas porque é que dizes que utilizar uma API ainda é pior? Eu sei que a conta dissu o programa esta mais ligado ao SO e pode acontecer mais erros mas não vejo grande problema em utilizar issu. E qual é a diferença entre o System.Diagnostics e a API, ja agora ficava a saber para melhorar o meu conhecimento  🙂

Cumps

Link to comment
Share on other sites

o SHELL foi substancialmente melhorado em DOT.NET, mas continua a ser uma grande me***...porquê ?!

porque é mau ?!  uma pessoa nem sequer tem controle sobre os processos

com o System.Diagnostics vocês podem correr uma aplicação BAT numa janela própria/form e obter todas as informações do processo

é o que o AVI2ISO usa

peguém lá um pedaço de código do AVI2ISO :

 

 Private Sub startProcess(ByVal proc As rsProc)
        'myProcess = New Process

        myProcess = New System.Diagnostics.Process

        Try
            myProcess.StartInfo.FileName = proc.programa
            myProcess.StartInfo.Arguments = proc.args

            If proc.hide Then
                myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
            Else
                myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Minimized
            End If

            myProcess.Start()

            If Me.dualcore.Checked And Me.dualcore.Enabled Then
                Select Case Me.principal1.SelectedIndex
                    Case 0
                        myProcess.PriorityClass = ProcessPriorityClass.AboveNormal
                    Case 1
                        myProcess.PriorityClass = ProcessPriorityClass.BelowNormal
                    Case 2
                        myProcess.PriorityClass = ProcessPriorityClass.High
                    Case 3
                        myProcess.PriorityClass = ProcessPriorityClass.Normal
                    Case 4
                        myProcess.PriorityClass = ProcessPriorityClass.RealTime
                End Select
            End If

            myProcess.WaitForExit()
            pExitCode = myProcess.ExitCode
            myProcess.Dispose()
            myProcess.Close()

        Catch ex As Win32Exception
            MsgBox(ex.Message)

        End Try
    End Sub
Link to comment
Share on other sites

usa as potencialidades novas da linguagem

Não posso porque não sei programar em .NET  ?

infelizmente só sei programar em VB, mas ja ando a tratar disso, tou farto de VB6....

Para executar outro prog dentro de uma form tenho de fazer umas quantas coisas... se com o System.Diagnostics consegue-se fazer issu apenas com umas linhas, issu é bem fixe  😛

Cumps

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.