Spustenie odkazu na EXE subor – Visual Basic – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Spustenie odkazu na EXE subor – Visual Basic – Fórum – Programujte.comSpustenie odkazu na EXE subor – Visual Basic – Fórum – Programujte.com

 

Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #1
-
0
-

potreboval by som skript ktory by spustil po kliknuti na tlacitko odkaz na exe subor ale v tom skripte nesmie byt cesta k odkazu odkaz bude priamo pri tej aplikacii a tych tlacitiek bude 5 a kazde tlacitko bude spustat iny odkaz na iny EXE subor

Nahlásit jako SPAM
IP: 87.197.156.–
liborb
~ Redaktor
+18
Guru
Nahlásit jako SPAM
IP: 78.80.52.–
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #3
-
0
-

#2 liborb
ale tam je cesta k suboru. nvm ci to pomoze ale palikaciu robim vo MS visual studio 2010 ultimate

Nahlásit jako SPAM
IP: 87.197.156.–
liborb
~ Redaktor
+18
Guru
20. 7. 2011   #4
-
0
-

Někde tu cestou k aplikaci, co chceš spustit, musíš uvést.

Nahlásit jako SPAM
IP: 78.80.52.–
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #5
-
0
-

#4 liborb
no jeden mi poslal tento skript ale v ultimate mi to nejako nechce ist tak preto piem ci nieje ina moznost bez cesty

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        call runAs()
    End Sub

    Sub runAS()
        Dim process As System.Diagnostics.Process = Nothing
        Dim processStartInfo As System.Diagnostics.ProcessStartInfo
        processStartInfo = New System.Diagnostics.ProcessStartInfo()

        processStartInfo.FileName = "notepad.exe" 'program co chces spustit

        If System.Environment.OSVersion.Version.Major >= 6 Then
          ' Run as admin on Windows Vista or higher
         processStartInfo.Verb = "runas"     
        End If
        ' processStartInfo.Arguments = "args" 'arguments
        processStartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal
        processStartInfo.UseShellExecute = True

        Try
            process = System.Diagnostics.Process.Start(processStartInfo)
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If Not (process Is Nothing) Then
                process.Dispose()
            End If
        End Try
    End Sub
Nahlásit jako SPAM
IP: 87.197.156.–
liborb
~ Redaktor
+18
Guru
20. 7. 2011   #6
-
0
-

Pokud je aplikace umístěná "na cestě", tak to lze i bez absolutní cesty. Jinak samozřejmě musíš uvádět úplnou cestu. A co ti na to nefunguje?

Nahlásit jako SPAM
IP: 78.80.52.–
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #7
-
0
-

#6 liborb
pri spustani v debugmode pise toto:

Error 1 'Public Sub runAS()' has multiple definitions with identical signatures.
Nahlásit jako SPAM
IP: 87.197.156.–
liborb
~ Redaktor
+18
Guru
20. 7. 2011   #8
-
0
-

Máš tam tu funkci vícekráte -> Sub runAS() pouze jednou a volat z reakcí na tlačítko třeba 100x.

Nahlásit jako SPAM
IP: 78.80.52.–
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #9
-
0
-

#8 liborb
to som pochopil ze to tam mam viac krat ale tomu dalsiemu co si tanpisal ze volat z reakcí na tlačítko třeba 100x tomu som nepochopil

Nahlásit jako SPAM
IP: 87.197.156.–
liborb
~ Redaktor
+18
Guru
20. 7. 2011   #10
-
0
-

Princip funkce, definovat pouze jednou a pak volat třeba 100x. V tvém případě 5x z pěti různých reakcí na pět různých tlačítek.

Nahlásit jako SPAM
IP: 78.80.52.–
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #11
-
0
-

#10 liborb
cize ten skript treba nejako upravit? nemozes sem skopnut upraveny skript ?

Nahlásit jako SPAM
IP: 87.197.156.–
liborb
~ Redaktor
+18
Guru
20. 7. 2011   #12
-
0
-

Upravit = nechat tam definici té funkce jen jednou.

Nahlásit jako SPAM
IP: 78.80.52.–
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #13
-
0
-

#12 liborb
cize Sub runAS() vymazat z ostatnych a nechat len v jednom tlacitku?

Nahlásit jako SPAM
IP: 87.197.156.–
liborb
~ Redaktor
+18
Guru
20. 7. 2011   #14
-
0
-

Přesně tak, ale nejprve bych to odložil a být tebou, tak bych nastudovat něco o funkcích   

Nahlásit jako SPAM
IP: 78.80.52.–
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #15
-
0
-

#14 liborb
no ale ja nesom programator ani nemam cas sa ucit zaklady atd len potrebujem tu aplikaciu naprogramovat nic viac tak nemozems mi sem hodit upraveny skript?

Nahlásit jako SPAM
IP: 87.197.156.–
liborb
~ Redaktor
+18
Guru
20. 7. 2011   #16
-
0
-

Nemůžu, protože to, co si sem zatím dal, je dobře. Špatně je to, tam máš tu funkci víckrát.   

Nahlásit jako SPAM
IP: 78.80.52.–
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #17
-
0
-

#16 liborb
a potom ako nastavim dalsie tlacitka ked tam nemozem dat tu funkciu?

Nahlásit jako SPAM
IP: 87.197.156.–
z_moravec
~ Redaktor
+3
Posthunter
20. 7. 2011   #18
-
+2
-
Zajímavé

Buď tu funkci musíš upravit tak, aby brala jeden parametr, pomocí kterého řekneš, jaký exe spustit.

Nebo (a to je prasárna) u každého tlačítka tu funkci deklaruj s jiným názvem.

Nahlásit jako SPAM
IP: 147.251.29.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #19
-
0
-

#18 z_moravec
napis to pre neprogramatorov :)

Nahlásit jako SPAM
IP: 87.197.156.–
liborb
~ Redaktor
+18
Guru
20. 7. 2011   #20
-
0
-

   

Sub runAS(app As String)
	...

        processStartInfo.FileName = app 'program co chces spustit

	...
End Sub

A pak voláš

runAs("notepad.exe")

Nahlásit jako SPAM
IP: 78.80.52.–
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #21
-
0
-

#20 liborb
stale mi pise ze Sub runAS sa opakuje :(

Nahlásit jako SPAM
IP: 87.197.156.–
liborb
~ Redaktor
+18
Guru
20. 7. 2011   #22
-
0
-

Dej se celý kód, jinak se asi tohle vlákno konce nedočká   

Nahlásit jako SPAM
IP: 78.80.52.–
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #23
-
0
-

#22 liborb

Private Sub PictureBox2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Call runAS("notepad.exe")
    End Sub

    Sub runAS(ByVal param As String)
        Dim process As System.Diagnostics.Process = Nothing
        Dim processStartInfo As System.Diagnostics.ProcessStartInfo
        processStartInfo = New System.Diagnostics.ProcessStartInfo()

        processStartInfo.FileName = "notepad.exe" 'program co chces spustit

        If System.Environment.OSVersion.Version.Major >= 6 Then
            ' Run as admin on Windows Vista or higher
            processStartInfo.Verb = "runas"
        End If
        ' processStartInfo.Arguments = "args" 'arguments
        processStartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal
        processStartInfo.UseShellExecute = True

        Try
            process = System.Diagnostics.Process.Start(processStartInfo)
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If Not (process Is Nothing) Then
                process.Dispose()
            End If
        End Try
    End Sub
Nahlásit jako SPAM
IP: 87.197.156.–
liborb
~ Redaktor
+18
Guru
20. 7. 2011   #24
-
0
-

To není celé, ne?

Nahlásit jako SPAM
IP: 78.80.52.–
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #25
-
0
-

#24 liborb
to je cely kod ku jednemu tlacitku

Nahlásit jako SPAM
IP: 87.197.156.–
liborb
~ Redaktor
+18
Guru
20. 7. 2011   #26
-
0
-

Ale já chtěl celý kód. Jinak toto není celý kód k jednomu tlačítku, ale kód k obsluze události jednoho tlačítka + jedna funkce. Ve výsledné aplikaci bys měl mít obsluhu 5 tlačítek + jednu funkci s parametry (nebo obsluhu 5 tlačítek + 5 různě pojmenovaných funkcí).

Nahlásit jako SPAM
IP: 78.80.52.–
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #27
-
0
-

#26 liborb
tak najprv musim mat nastavene aspon 2 tlacitka potom ostatne uz nebude problem len skopnem kod a prepisem nazov exe suboru respektive odkaz na exe subor

Nahlásit jako SPAM
IP: 87.197.156.–
liborb
~ Redaktor
+18
Guru
20. 7. 2011   #28
-
0
-

   

Private Sub PictureBox2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Call runAS("notepad.exe")
End Sub

Private Sub PictureBox3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Call runAS("cmd.exe")
End Sub

Private Sub PictureBox4_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Call runAS("calc.exe")
End Sub

Sub runAS(ByVal param As String)
        Dim process As System.Diagnostics.Process = Nothing
        Dim processStartInfo As System.Diagnostics.ProcessStartInfo
        processStartInfo = New System.Diagnostics.ProcessStartInfo()

        processStartInfo.FileName = param 'program co chces spustit

        If System.Environment.OSVersion.Version.Major >= 6 Then
            ' Run as admin on Windows Vista or higher
            processStartInfo.Verb = "runas"
        End If
        ' processStartInfo.Arguments = "args" 'arguments
        processStartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal
        processStartInfo.UseShellExecute = True

        Try
            process = System.Diagnostics.Process.Start(processStartInfo)
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If Not (process Is Nothing) Then
                process.Dispose()
            End If
        End Try
End Sub
  
Nahlásit jako SPAM
IP: 78.80.52.–
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #29
-
0
-

#28 liborb
to mam ako do ktoreho tlacitka skopirovat ? :)

Nahlásit jako SPAM
IP: 87.197.156.–
liborb
~ Redaktor
+18
Guru
20. 7. 2011   #30
-
0
-

To je ukázka. Reakce na kliknutí do tří PictureBoxů (čekal bych Button   ) a v každé se spouští jiný program. V prvním se spustí editor, v druhém kalkulačka a ve třetím příkazový řádek.

Nahlásit jako SPAM
IP: 78.80.52.–
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #31
-
0
-

#30 liborb
a co stym? ved mam tak jedno tlacitko napisane a stale pise ze Sub runAS sa opakuje

Nahlásit jako SPAM
IP: 87.197.156.–
liborb
~ Redaktor
+18
Guru
20. 7. 2011   #32
-
0
-

Celý kód ...

Nahlásit jako SPAM
IP: 78.80.52.–
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #33
-
0
-

#32 liborb
ale coho cely kod ? celej aplikacie?

Nahlásit jako SPAM
IP: 87.197.156.–
liborb
~ Redaktor
+18
Guru
20. 7. 2011   #34
-
0
-

Ano.

Nahlásit jako SPAM
IP: 78.80.52.–
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #35
-
0
-

#34 liborb
no ja to robim cez Windows Form nepises len cisto kod

Nahlásit jako SPAM
IP: 87.197.156.–
liborb
~ Redaktor
+18
Guru
20. 7. 2011   #36
-
0
-

Tak sem šoupni celý (nejlépe zazipovaný) projekt.

Nahlásit jako SPAM
IP: 78.80.52.–
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #37
-
0
-

#36 liborb
to nemozem    takto mi nevies pomoct?

Nahlásit jako SPAM
IP: 87.197.156.–
liborb
~ Redaktor
+18
Guru
20. 7. 2011   #38
-
0
-

Nemůžeš sem poslat projekt s okenní aplikací, co obsahuje 2 tlačítka, které spouštějí notepad?  

Podle mě je v tomto vlákně správná odpověď už mockrát.

No ... třeba ti poradí někdo jiný.

Nahlásit jako SPAM
IP: 78.80.52.–
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #39
-
0
-

#38 liborb
ono to nieje aplikacia ktora otvara notepad ten notepad je tam len ako priklad uvedeny. skus mi tu spranvu odpoved vysvetlit tak aby som to pochopil co tam trea presne spravit

Nahlásit jako SPAM
IP: 87.197.156.–
z_moravec
~ Redaktor
+3
Posthunter
20. 7. 2011   #40
-
+1
-
Zajímavé

Podívej se pořádně na tento příspěvek:

http://programujte.com/…a-exe-subor/#…

Tak to má vypadat. Vyhoď tu funkci runAs z kódu tlačítek, tam nech pouze její volání se správným parametrem (cestou k aplikaci, kterou chceš tím tlačítkem spustit).

Nahlásit jako SPAM
IP: 83.240.110.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
liborb
~ Redaktor
+18
Guru
20. 7. 2011   #41
-
0
-

Tak se pošli projekt, kde bude ten notepad místo toho tajemna, o které by si mohl přijít  

Nahlásit jako SPAM
IP: 78.80.52.–
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #42
-
0
-

#40 z_moravec
cize ak som to spravne pochopil cele toto mam vyhodit hej?

Sub runAS(ByVal param As String)
Nahlásit jako SPAM
IP: 87.197.156.–
z_moravec
~ Redaktor
+3
Posthunter
20. 7. 2011   #43
-
0
-

#42 Tom
Ne, celou funkci, tzn. až po end sub

Nahlásit jako SPAM
IP: 83.240.110.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #44
-
0
-

#43 z_moravec
no nechal som len toto.       ale ked spravim build zapnem aplikaciu kliknem na tlacitko aby spustilo odkaz tak naskoci toto http://imageshack.us/photo/my-images/196/beznzvuvv.jpg/

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Call runAS("notepad.exe")
    End Sub
Nahlásit jako SPAM
IP: 87.197.156.–
z_moravec
~ Redaktor
+3
Posthunter
20. 7. 2011   #45
-
0
-

#44 Tom
Ten obrázek je opravdu užitečný :-)

Nahlásit jako SPAM
IP: 83.240.110.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #46
-
0
-

#45 z_moravec
tak v detailoch tej tabulky sa pise toho viac ale to by bolo na viac screenoch kedze sa tabulka neda zvacsit

Nahlásit jako SPAM
IP: 87.197.156.–
liborb
~ Redaktor
+18
Guru
20. 7. 2011   #47
-
0
-

Neošetřená výjimka ... a když si vezmu, jak jsme se babrali s jednou funkcí, tak to bude asi na dlouho   

Nahlásit jako SPAM
IP: 78.80.52.–
z_moravec
~ Redaktor
+3
Posthunter
20. 7. 2011   #48
-
0
-

#46 Tom
Asi to taky vzdám, jak Libor. Buď si najdi někoho, kdo má aspoň minimum zkušeností a může ti s tím pomoct přímo u compu nebo sem hoď ten projekt.

Nahlásit jako SPAM
IP: 83.240.110.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #49
-
0
-

#48 z_moravec
a keby ste vy spravili nejaky narychlo projekt vo MS visual studio 2010 a hodili ho sem a ja len skopnem kod?

Nahlásit jako SPAM
IP: 87.197.156.–
liborb
~ Redaktor
+18
Guru
20. 7. 2011   #50
-
0
-

Nebo mi ho pošli na email ... alespoň .vb soubor, kde to všechno je ...

Nahlásit jako SPAM
IP: 78.80.52.–
Tom
~ Anonymní uživatel
434 příspěvků
20. 7. 2011   #51
-
-2
-
Mimo téma

a keby ste vy spravili nejaky narychlo projekt vo MS visual studio 2010 a hodili ho sem a ja len skopnem kod?

Nahlásit jako SPAM
IP: 87.197.156.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 10 hostů

Podobná vlákna

Spustenie exe suboru — založil lolik

Spustenie .exe suboru — založil javac

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý