Start af program

Tags:    visual-basic

User
Bruger #368 @ 02.02.02 16:23
Jeg vil gerne have at mit program skal kunne start et andet program med nogle parametre.
fx: C:\\IEXPLORER:EXE -parametre
Hvordan gøres dette?

mvh Magnus Boye



7 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
<quote>Problemet med parametre er, at de sommetider kræver en sti med mellemrum som for eksempel, hvis du vil åbne et dokument ("<b>Mit Dokument.txt</b>") med <b>Notepad</b>:
<pre>Shell "notepad.exe c:\\temp\\Mit Dokument.txt"</pre>
Kaldet ovenover vil slå fejl på grund af mellemrummene. Løsningen er gåseøjne:
<pre>Shell "notepad.exe ""c:\\temp\\Mit Dokument.txt"""</pre>
Hvis du skal have gåseøjne inde i en streng, kan du som bekendt bruge dobblte gåseøjne, som jeg gør i eksemplet.


[Redigeret d. 02/02-02 19:07:10 af Herluf Hermansen]

Herluf, dit eksempel virker glimrende, men jeg skal ikke lige bruge notepad.
Hvordan kan jeg starte et andet program ved at fortælle VB stien?

mvh. Magnus</quote>

Det er i virkligheden meget simpelt

<pre>Shell "c:\\programer\\internetexpolore\\ie.exe c:\\temp\\Mit Dokument.txt"</pre>

Kaldet ovenover vil slå fejl på grund af mellemrummene. Løsningen er gåseøjne:

<pre>Shell "c:\\programmer\\internetexplore\\ie.exe ""c:\\temp\\Mit Dokument.txt"""</pre>

Hvis du skal have gåseøjne inde i en streng, kan du som bekendt bruge dobblte gåseøjne, som jeg gør i eksemplet.

du skal simpelt ændre notepad til stien til ie

det er meget simpelt.

mvh.
Thomas Christensen
[Redigeret d. 05/02-02 08:36:47 af Thomas Christensen]



<quote>Jeg vil gerne have at mit program skal kunne start et andet program med nogle parametre.
fx: C:\\IEXPLORER:EXE -parametre
Hvordan gøres dette?

mvh Magnus Boye</quote>


Hej Magnus

Det gøres simpelt ved at indsætte følgende kode:

<pre>

MyAppID = Shell(<b>C:\\IEXPLORER.EXE</b>, 1)

</pre>



' NB.! Det med fed tekst er parametren!




Mvh.
Lars Haslev
:)
Always Look On The Bright Side Of Life! :-)
*********************************[Redigeret d. 02/02-02 18:12:36 af Lars Haslev]



Problemet med parametre er, at de sommetider kræver en sti med mellemrum som for eksempel, hvis du vil åbne et dokument ("<b>Mit Dokument.txt</b>") med <b>Notepad</b>:
<pre>Shell "notepad.exe c:\\temp\\Mit Dokument.txt"</pre>
Kaldet ovenover vil slå fejl på grund af mellemrummene. Løsningen er gåseøjne:
<pre>Shell "notepad.exe ""c:\\temp\\Mit Dokument.txt"""</pre>
Hvis du skal have gåseøjne inde i en streng, kan du som bekendt bruge dobblte gåseøjne, som jeg gør i eksemplet.


[Redigeret d. 02/02-02 19:07:10 af Herluf Hermansen]



User
Bruger #368 @ 03.02.02 20:31
<quote>Problemet med parametre er, at de sommetider kræver en sti med mellemrum som for eksempel, hvis du vil åbne et dokument ("<b>Mit Dokument.txt</b>") med <b>Notepad</b>:
<pre>Shell "notepad.exe c:\\temp\\Mit Dokument.txt"</pre>
Kaldet ovenover vil slå fejl på grund af mellemrummene. Løsningen er gåseøjne:
<pre>Shell "notepad.exe ""c:\\temp\\Mit Dokument.txt"""</pre>
Hvis du skal have gåseøjne inde i en streng, kan du som bekendt bruge dobblte gåseøjne, som jeg gør i eksemplet.


[Redigeret d. 02/02-02 19:07:10 af Herluf Hermansen]</quote>

Herluf, dit eksempel virker glimrende, men jeg skal ikke lige bruge notepad.
Hvordan kan jeg starte et andet program ved at fortælle VB stien?

mvh. Magnus



<quote>Problemet med parametre er, at de sommetider kræver en sti med mellemrum som for eksempel, hvis du vil åbne et dokument ("<b>Mit Dokument.txt</b>") med <b>Notepad</b>:
<pre>Shell "notepad.exe c:\\temp\\Mit Dokument.txt"</pre>
Kaldet ovenover vil slå fejl på grund af mellemrummene. Løsningen er gåseøjne:
<pre>Shell "notepad.exe ""c:\\temp\\Mit Dokument.txt"""</pre>
Hvis du skal have gåseøjne inde i en streng, kan du som bekendt bruge dobblte gåseøjne, som jeg gør i eksemplet.


[Redigeret d. 02/02-02 19:07:10 af Herluf Hermansen]

Herluf, dit eksempel virker glimrende, men jeg skal ikke lige bruge notepad.
Hvordan kan jeg starte et andet program ved at fortælle VB stien?

mvh. Magnus</quote>


Always Look On The Bright Side Of Life! :-)
*********************************

Sådan her for fanden da!!!


<pre>

<b>MyAppID = Shell(C:\\IEXPLORER.EXE, 1)</b>

</pre>



<quote>
Herluf, dit eksempel virker glimrende, men jeg skal ikke lige bruge notepad.
Hvordan kan jeg starte et andet program ved at fortælle VB stien?

mvh. Magnus</quote>

Hvad skal du så bruge?

TIP: Tænk på den streng du sender til <b>Shell</b> funktionen som en linje på kommandoprompten (DOS-prompet).
[Redigeret d. 05/02-02 02:33:49 af Herluf Hermansen]



En anden måde kan være følgende :

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Lav en subroutine

Public Function RunProgram(ByVal rphwnd As Long, ByVal rplpOperation As String, ByVal rplpFile As String, ByVal rplpParameters As String, ByVal rplpDirectory As String, ByVal rpnShowCmd As Long) As Long
RunProgram = ShellExecute(rphwnd, rplpOperation, rplpFile, rplpParameters, rplpDirectory, rpnShowCmd)
End Function


Kald funktionen :

retval = RunProgram(Me.hwnd, "open", FILNAVN, vbNull, STIEN, 1)




Jeg vil gerne have at mit program skal kunne start et andet program med nogle parametre.
fx: C:\\IEXPLORER:EXE -parametre
Hvordan gøres dette?

mvh Magnus Boye





t