Gå til innhold
🎄🎅❄️God Jul og Godt Nyttår fra alle oss i Diskusjon.no ×

Anbefalte innlegg

Eg har nettopp begynt å mekke min eigne "CD-Meny" til cd'ane eg bruker til å brenne ut program og spel på. Det er mitt første program eg lagar, då eg er ein nybegynnar.

 

Eg har har eit problem med kommandoen Shell. Når eg skal starte eit heilt vanleg program i run-time (ved å trykke på "start"-knappen i menyen til Visual Basic) så funker kommandoen. Men når eg har laga den om til .exe, så funka den ikkje. Det kjem opp ein feil-melding om at det var feil parameters eller nåke sånt.

Adressa er heilt riktig, og det skulle funke (i teorien), men det gjer den ikkje, ka har eg gjort feil??

 

ProgramDir = CurDir() & ""

Fil = "Programsetup.exe"

Shell ProgramDir & Fil, vbNormalFocus

Lenke til kommentar
Videoannonse
Annonse

Takk for svaret, men det hjalp desverre ikkje stort. Det einaste som var nytt, var at eg laga kommandoen i ein variabel, og den samme feilmeldinga kom opp.

 

Programmet mitt er ubrukelig uten den kommandoen.

Eg trenge hjelp!

Lenke til kommentar

Quote:


Den 2002-06-13 12:40, Atmoz skrev:


ProgramDir = CurDir() & ""

Fil = "Programsetup.exe"

Shell ProgramDir & Fil, vbNormalFocus



 

Hei.

Prøv å bruke App.Path i stedet for CurDir. CurDir gir den aktuelle katalogen på den aktive disken, men du vet aldri hvor denne er. App.Path gir deg katalogen som programmet ligger i, og så lenge Programsetup.exe ligger i den samme katalogen burde dette funke.

Lenke til kommentar

Prøv å kalle opp API-funksjonen direkte. Du setter da inn denne linja øverst i koden (nedenfor evt. "Option Explicit"):

 

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

 

Så skriver du der du skal starte programmet:

 

Call ShellExecute(Me.hwnd, "open", filnavn, "", "", 9)

 

filnavn er navnet på fila, med full bane, du skal kjøre/åpne. (Du kan "kjøre" andre filer enn exe også. Hvis du for eksempel "kjører" en doc-fil, vil denne åpnes i Word, eller det programmet du måtte ha registrert filtypen til.)

Lenke til kommentar

Eg fant svaret på spørsmålet mitt, eg måtte bruke "". Det gjekk jo ikkje, sia VB tolkar det som ein String.

 

Kommandoen vart slik:

Shell Chr(34) & FilDir & FilNamn & Chr(34), vbNormalFocus

 

Men takk for koden Razul, no treng eg ikkje å bruke If og IfElse kommandoar når eg skal finne ut om ein "Crack" er i txt eller exe format. No kan eg berre starte filer uten problem.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...