Avatar billede emileej Nybegynder
06. juni 2001 - 15:57 Der er 13 kommentarer og
1 løsning

Eksekvering af et andet win32 program

Jeg vil gerne have mit program til at åbne et andet win32 program. Jeg har prøvet med execl(sti,arg,arg1,NULL) , men jeg tror ikk at det virker på wn32 programmer...
Jeg bruger Borland Builder...

E-)mil
http://eej.dk
http://fotx.net/emileej
Avatar billede borrisholt Novice
06. juni 2001 - 15:58 #1
brug ShellExecute. Den ligger i shellApi.hpp

Jens B
Avatar billede emileej Nybegynder
06. juni 2001 - 16:03 #2
ShellExecute(AnsiString Sti); ?
Avatar billede emileej Nybegynder
06. juni 2001 - 16:05 #3
Der er mange argumenter, og jeg kan ikke finde den i den online hjælp - hvordan bruger jeg den?
Avatar billede borrisholt Novice
06. juni 2001 - 16:08 #4
prøv den her :

  ShellExecute(Handle,\"open\",\"C:\\cheval.exe\",NULL,NULL,SW_NORMAL);

Jens B
Avatar billede emileej Nybegynder
06. juni 2001 - 16:50 #5
Der sker ikke noget...
Avatar billede borrisholt Novice
06. juni 2001 - 16:55 #6
emileej>> Det erfordi du ikke skriver et gyldigt filnavn ....

Jens B
Avatar billede emileej Nybegynder
06. juni 2001 - 16:59 #7
Jeg har lavet navnet om til en gyldig fil...
Avatar billede borrisholt Novice
06. juni 2001 - 17:08 #8
om modsat mig husket at sætte dobbelt \\

altså
ShellExecute(Handle,\"open\",\"C:\\\\cheval.exe\",NULL,NULL,SW_NORMAL);

Jens B
Avatar billede emileej Nybegynder
06. juni 2001 - 17:34 #9
Således ser det ud, og der sker intet...:

ShellExecute(Handle,\"open\",\"C:\\\\cpp\\\\borlandBuilder\\\\EEJEdit.exe\",NULL,NULL,SW_NORMAL);
Avatar billede psp_psp Nybegynder
07. juni 2001 - 10:20 #10
Husk at Handle skal være 0 eller et gyldigt handle.
ShellExecute svarer til at dobbelt-klikke på EEJEdit.exe i Exploreren. Sker der noget når du gør det?

Peter
Avatar billede emileej Nybegynder
07. juni 2001 - 13:34 #11
...d, og der sker intet...
Det er også det den skal - jeg prøver lige at skrive 0...

E-)mil
Avatar billede kamikaze Nybegynder
07. juni 2001 - 13:46 #12
Prøv at bruge ShellExecuteEx:

(C++ builder kode)
Du behøver ikke at angive stien, da Win registreringsbasen kender den.

void __fastcall TMainForm::RunProgram(char* file, char* param)
{
  SHELLEXECUTEINFO execinfo;
  memset (&execinfo, 0, sizeof(execinfo));
  execinfo.cbSize = sizeof(execinfo);
  execinfo.lpVerb = \"open\";
  execinfo.lpFile = file;
  execinfo.lpParameters = param;
  execinfo.fMask = SEE_MASK_NOCLOSEPROCESS;
  execinfo.nShow = SW_SHOWDEFAULT;

  if (!ShellExecuteEx (&execinfo))
  {
    ShowMessage(\"Error Running Executeable\");
    return;
  }
}
Avatar billede emileej Nybegynder
09. juni 2001 - 15:36 #13
>>Kamikaze

Tak - det virkede :)
Avatar billede kamikaze Nybegynder
16. juni 2001 - 04:25 #14
Det var så lidt...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester