Toon posts:

Hoe start ik een programma vanuit C++ builder?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een knop (Speedbutton) en bij het klikken op die knop wil ik "C:\Programs\Adobe\Photoshop.exe" starten...that's it. Als iemand mij kan vertellen hoe ik dat doe (gewoon de functie letterlijk aub) ben ik diegene zeer dankbaar.
Als het goed is, is dit gewoon een super simpele functie, maar ik krijg 'm gewoon ff niet gevonden.
Het moet mogelijk zijn met execvp(*path, *[agv]) of iets in die richting en het path-gedeelte is geen probleem, maar wat is de syntax van agv en welk argument moet dat dan zijn?
Aangezien dit nog een standaard C++ functie is, neem ik aan dat er ook een andere Builder/Delphi "variant" is of zoiets...ik weet het niet. Als iemand het wel weet dan laat het me aub ff weten...

Bij voorbaat dank

  • Delpix
  • Registratie: September 2001
  • Laatst online: 27-11-2021

Delpix

Alanis Fan

Zoek eens in je Win32 API reference naar "ShellExecute". Daarmee kan je programma's, bestanden en mappen openen.

...beter bekend als AMFan


Verwijderd

Topicstarter
Nou, ik heb inmiddels ShellExecute(), ShellExecuteEx(), CreateProcess(), System(), Execvp(), Execvlp(), Exec(), exec(), EXEC() en Execute() geprobeerd, maar iedere keer is er weer een ander probleem. In de meeste gevallen gebeurd er gewoon niks (ook geen error ofzo) en die keren dat er wel wat gebeurd, verziekt een "Access violation" fout het gebeuren.
Btw...ik draai windows xp...kweenie of dat wat uitmaakt, maar het leek mij een mogelijke oorzaak voor het niet werken van dos-commando's. Of vergis ik me daarin?
Ik ben dus op het moment C++ builder aan het leren...en op zich vordert het redelijk, maar dit schijnt gewoon niet te lukken.
Overigens heeft C++Builder4 naar mijn mening de slechtste help-functie die ik ooit gezien heb...er staat 85 uitgelegd dat je je project kunt openen door op File|Open te klikken (ik kan me heel moeilijk voorstellen dat iemand die dat niet weet, een programma wil gaan schrijven!) maar dit staat nergens (fatoenslijk) uitgelegd.

Iemand...?

Verwijderd

Op woensdag 26 december 2001 15:57 schreef D-mension het volgende:
Nou, ik heb inmiddels ShellExecute(), ShellExecuteEx(), CreateProcess(), System(), Execvp(), Execvlp(), Exec(), exec(), EXEC() en Execute() geprobeerd, maar iedere keer is er weer een ander probleem. In de meeste gevallen gebeurd er gewoon niks (ook geen error ofzo) en die keren dat er wel wat gebeurd, verziekt een "Access violation" fout het gebeuren.
Btw...ik draai windows xp...kweenie of dat wat uitmaakt, maar het leek mij een mogelijke oorzaak voor het niet werken van dos-commando's. Of vergis ik me daarin?
Ik ben dus op het moment C++ builder aan het leren...en op zich vordert het redelijk, maar dit schijnt gewoon niet te lukken.
Overigens heeft C++Builder4 naar mijn mening de slechtste help-functie die ik ooit gezien heb...er staat 85 uitgelegd dat je je project kunt openen door op File|Open te klikken (ik kan me heel moeilijk voorstellen dat iemand die dat niet weet, een programma wil gaan schrijven!) maar dit staat nergens (fatoenslijk) uitgelegd.

Iemand...?
Zelf heb ik geen C++Builder (meer) geïnstalleerd. In Delphi 5 (Win2k) werkte de volgende code perfect:
code:
1
ShellExecute(0, 'open', 'C:\Program Files\Adobe\Acrobat 4.0\Reader\AcroRd32.exe', '', '', SW_SHOW);

Wel moest ik ShellAPI in de uses section meenemen. Lijkt me in C++Builder iets als:
code:
1
#include "ShellAPI.h";

. Maar ik kan het helemaal fout hebben ofcourse.
Suc6