Avatar billede rolchau Nybegynder
15. oktober 2002 - 22:15 Der er 6 kommentarer og
1 løsning

Eksekvere en ekstern fil

Hej

Jeg har en fil (pkzip.exe) som jeg gerne skulle køre fra mit eget program - F.eks. skal programmet kalde "pkzip mineFiler".

Hvordan gør man det?

Jeg kører med Visual C++ 6.0 og TrollTechs QT 2.3.0.
Avatar billede soreno Praktikant
15. oktober 2002 - 22:19 #1
Med shellexecute:
HINSTANCE ShellExecute(
    HWND hwnd,    // handle to parent window
    LPCTSTR lpOperation,    // pointer to string that specifies operation to perform
    LPCTSTR lpFile,    // pointer to filename or folder name string
    LPCTSTR lpParameters,    // pointer to string that specifies executable-file parameters
    LPCTSTR lpDirectory,    // pointer to string that specifies default directory
    INT nShowCmd     // whether file is shown when opened
  );
Avatar billede soreno Praktikant
15. oktober 2002 - 22:21 #2
eks.
ShellExecute(NULL, "open", "notepad.exe", NULL, NULL, SW_SHOWDEFAULT);
Avatar billede rolchau Nybegynder
15. oktober 2002 - 22:27 #3
Ak, ja men nu kører jeg Visual C++ sammen med QT, og jeg har lidt på mistanke at det er det, er derfor at følgende fejl kommer ved dit eksempel:

error C2664: 'ShellExecuteW' : cannot convert parameter 2 from 'char [5]' to 'const unsigned short *'
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Avatar billede soreno Praktikant
15. oktober 2002 - 22:32 #4
includer du på noget tidspunkt windows.h ?
(prøv at tilføje det som den øverste linie der hvor du includer)
Avatar billede rolchau Nybegynder
15. oktober 2002 - 22:35 #5
Ja, der er #include <windows.h> i toppen =(
Avatar billede soreno Praktikant
15. oktober 2002 - 22:38 #6
ellers så prøv:
#include <stdlib.h>

int main(int argc, char **argv)
{
  system("notepad.exe");

  return 0;
}
Avatar billede rolchau Nybegynder
15. oktober 2002 - 22:46 #7
Kanon!

system() virker fint.
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