/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Shell(pathname) starter ikke dos program k~
Fra : wamingo


Dato : 28-10-02 15:23

hej, håber I alle havde en god weekend :)

Jeg står over for et lille problem med det her Shell(pathname)...
Når jeg forsøger at starte et bestemt dos program så starter det ikke som
det skal...
Når dos programmet startes op normalt første gang skal man taste nogle info
ind som så gemmes i en fil. Undtagen hvis man sletter denne fil så vil
programmet Aldrig spørge disse spørgsmål igen og vil blot gå igang med den
routine operation som den skal klare...
Mit VB program skal så kunne starte dette dos program op automatisk, og det
gør den med shell(pathname) men den standser ved spørgsmålene. Hvorfor i al
verden gør den det når konfig-filen allerede eksistere?
Man skulle tro at dos programmet bliver kørt fra et andet direktorie for
derfor ikke at kunne finde konfig filen...

Hvad kan jeg gøre for at starte dette program 100% normalt?



 
 
Tomas Christiansen (28-10-2002)
Kommentar
Fra : Tomas Christiansen


Dato : 28-10-02 22:15

wamingo skrev:
> Jeg står over for et lille problem med det her Shell(pathname)...
> Når jeg forsøger at starte et bestemt dos program så starter det
ikke som
> det skal...

Jeg har kigget lidt på det, og der findes flere forskellige løsninger.
Den rigtige måde er nok at bruge det rigtige API-kald, men vil man
ikke det, findes der nok alligevel en vej.
Denne lille procedure burde kunne klare problemet:

Sub Start( _
ByVal sCmdLine As String, _
ByVal sWorkDir As String, _
Optional ByVal sTitle As String = "")
Shell Environ("COMSPEC") & " /C START " & _
IIf(sTitle = "", "", """" & sTitle & """") & _
" /D""" & sWorkDir & """ " & sCmdLine, vbHide
End Sub

Lad mig lige forklare virkemåden: Først startes en ny
kommando-fortolker op (den hedder typisk command.com eller cmd.exe,
men det afhænger af Windows-versionen - derfor brugen af COMSPEC).
Dernæst sættes kommando-fortolkeren til at udføre kommandoen START,
som skal starte det program, som du vil have startet op. Fordelen ved
START-kommandoen er, at du kan angive hvilket bibliotek programmet
skal køre i (med /D) og du kan angive en anden titel til programmet
(parametren sTitle).

Eksempler:
Start "MitProg.exe", "C:\Work"
Start "C:\Progs\DitProg.exe", "C:\Work", "Dit program"

-------
Tomas


wamingo (28-10-2002)
Kommentar
Fra : wamingo


Dato : 28-10-02 23:59

> Sub Start( _
> ByVal sCmdLine As String, _
> ByVal sWorkDir As String, _
> Optional ByVal sTitle As String = "")
> Shell Environ("COMSPEC") & " /C START " & _
> IIf(sTitle = "", "", """" & sTitle & """") & _
> " /D""" & sWorkDir & """ " & sCmdLine, vbHide
> End Sub
> Eksempler:
> Start "MitProg.exe", "C:\Work"
> Start "C:\Progs\DitProg.exe", "C:\Work", "Dit program"


det funker perfekt!
jeg takker mange gange :)
tak
tak
tak....
;)



Thomas Jørgensen (28-10-2002)
Kommentar
Fra : Thomas Jørgensen


Dato : 28-10-02 22:48

Bare et gæt:
Kan det være - når du starter prg. anden gang at der "smides" en parameter
på ?
ala. c:\x\start.bat /konfig.ini ? og som så mangler i path'en ??
vh thomas j.

"wamingo" <foxtrot2@worldonline.dk> skrev i en meddelelse
news:apjgmp$udp$1@news.cybercity.dk...
> hej, håber I alle havde en god weekend :)
>
> Jeg står over for et lille problem med det her Shell(pathname)...
> Når jeg forsøger at starte et bestemt dos program så starter det ikke som
> det skal...
> Når dos programmet startes op normalt første gang skal man taste nogle
info
> ind som så gemmes i en fil. Undtagen hvis man sletter denne fil så vil
> programmet Aldrig spørge disse spørgsmål igen og vil blot gå igang med den
> routine operation som den skal klare...
> Mit VB program skal så kunne starte dette dos program op automatisk, og
det
> gør den med shell(pathname) men den standser ved spørgsmålene. Hvorfor i
al
> verden gør den det når konfig-filen allerede eksistere?
> Man skulle tro at dos programmet bliver kørt fra et andet direktorie for
> derfor ikke at kunne finde konfig filen...
>
> Hvad kan jeg gøre for at starte dette program 100% normalt?
>
>



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste