Avatar billede videodyr Nybegynder
23. april 2002 - 23:21 Der er 9 kommentarer og
1 løsning

Åben af et andet program!

Hejsa igen!

Hvordan kan jeg få mit program til at åben et andet program i Windows??


Jeg bruger C++ Builder 5, til at programere i.
Avatar billede laffe Nybegynder
24. april 2002 - 07:35 #1
Med CreateProcess(......);
Slå det op i hjælpen. Der er et eksempel
Avatar billede kamikaze Nybegynder
24. april 2002 - 10:06 #2
Følgende kompilerer i M$VC++, konsol applikation:

#include <windows.h>
#include <iostream.h>
#include <conio.h>

void RunProgram(char* pszAppName, char* pszParams)
{
    ShellExecute(NULL,
                "open",
                pszAppName,
                pszParams,
                NULL,
                SW_SHOW);
}

int main()
{
    cout << "Press any key to launch notepad..." << endl;
    getch();
    RunProgram("notepad.exe", NULL);
    cout << "Press any key to terminate..." << endl;
    getch();
    return 0;
}
Avatar billede kamikaze Nybegynder
24. april 2002 - 10:07 #3
Funktionen RunProgram kan bruges i BCB5.
Avatar billede laffe Nybegynder
24. april 2002 - 22:07 #4
Her er et eksempel, lavet i CBuilde 5.


void __fastcall TForm1::Button1Click(TObject *Sender)
{
  PROCESS_INFORMATION ProcessInformation;
  STARTUPINFO StartupInfo;
  bool Result;

  memset(&StartupInfo, 0, sizeof(STARTUPINFO));
  StartupInfo.cb = sizeof(STARTUPINFO);

  Result = CreateProcess
  (
    "\\test\\test.exe",    // pointer to name of executable module
    NULL,              // pointer to command line string
    NULL,              // pointer to process security attributes
    NULL,              // pointer to thread security attributes
    false,              // handle inheritance flag
    0,                  // creation flags
    NULL,              // pointer to new environment block
    "\\test",              // pointer to current directory name
    &StartupInfo,          // pointer to STARTUPINFO
    &ProcessInformation // pointer to PROCESS_INFORMATION
  );

  if (!Result)
  {
    // Failed to Create Process
  }else
  {
    // Process Created
  }
}
Avatar billede kamikaze Nybegynder
24. april 2002 - 22:35 #5
Her er et eksempel på ShellExecute() lavet i Builder:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
        RunProgram("Notepad.exe", NULL);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::RunProgram(char* pszAppName, char* pszParams)
{
    ShellExecute(NULL,
                "open",
                pszAppName,
                pszParams,
                NULL,
                SW_SHOW);
}
Avatar billede kamikaze Nybegynder
24. april 2002 - 22:36 #6
Metoden RunProgram skal så selvfølgelig inkluderes i headeren:

class TForm1 : public TForm
{
__published:    // IDE-managed Components
        TButton *Button1;
        void __fastcall Button1Click(TObject *Sender);
private:    // User declarations
public:        // User declarations
        __fastcall TForm1(TComponent* Owner);
        void __fastcall RunProgram(char* pszAppName, char* pszParams);
};
Avatar billede kamikaze Nybegynder
24. april 2002 - 22:38 #7
Hvis du ønsker at åbne en bestemt fil (fx. TestFil.txt) kan du give den som parameter til RunProgram:

RunProgram("Notepad.exe", "C:/TestFil.txt");
Avatar billede laffe Nybegynder
01. maj 2002 - 08:03 #8
>Videodyr. Har du fundet ud af det ?
Avatar billede kamikaze Nybegynder
13. maj 2002 - 16:28 #9
Hvis du har fundet ud af det lukker du så ikke spm???
Avatar billede kamikaze Nybegynder
14. maj 2002 - 11:41 #10
Takker for points :-)
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