Spuštění externí aplikace – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Spuštění externí aplikace – C / C++ – Fórum – Programujte.comSpuštění externí aplikace – C / C++ – Fórum – Programujte.com

 

_Radek_
~ Anonymní uživatel
88 příspěvků
21. 9. 2008   #1
-
0
-

Zdravím,

potřeboval bych spustit v programu externí .exe soubor, počkat až se program ukončí a poté zkontrolovat jeho návratovou hodnotu. Nevíte někdo jak na to ?

Nahlásit jako SPAM
IP: 91.187.60.–
dannyk0
Věrný člen
21. 9. 2008   #2
-
0
-

Pomocí API CreateProcess si spustis aplikaci a pri spravnem spusteni dostanes jeji handle.
Pak pomocí API WaitForSingleObject muzes pockat,az dana aplikace skonci.

Nahlásit jako SPAM
IP: 85.135.97.–
Jedu v c++,c#,assembler,ASP.NET,PHP,databaze,bezpecnost softwaru[br] -----------------------------------------------------------[br] Muj blog o programovani,hudbe a vsem moznem,co najdu na netu :) [br] http://dannyk.aspone.cz[br] -----------------------------------------------------------[br] Na foru mam nejake prispevky pod nickem Master,tak jen pro upresneni :)
ondra
~ Anonymní uživatel
244 příspěvků
21. 9. 2008   #3
-
0
-

CreateProcess není v API, ale ve Win API. Já používám celou řadu API a ani v jednom z nich to není :-)

No a kdo chce řešení pro POSIXové systémy (unixy, linux apod.), tak ať se podívá na fork a wait (a jejich varianty).

Nahlásit jako SPAM
IP: 89.203.160.–
_Radek_
~ Anonymní uživatel
88 příspěvků
21. 9. 2008   #4
-
0
-

Aha, no já jsem to vyřešil pomocí system(), ale mám název aplikace ke spuštění v proměnné TCHAR[20] app a když zadám system(app), kompilátor mi vyhodí chybu, že nelze konvertovat TCHAR[20] na const char*, ¨no nevím si s tím rady ...

Nahlásit jako SPAM
IP: 91.187.60.–
KIIV
~ Moderátor
+43
God of flame
21. 9. 2008   #5
-
0
-

co tam dat system( (const char *) app) ?

Nahlásit jako SPAM
IP: 80.250.27.–
Program vždy dělá to co naprogramujete, ne to co chcete...
_Radek_
~ Anonymní uživatel
88 příspěvků
21. 9. 2008   #6
-
0
-

Tak už jsem to vyřešil. Jelikož jsem měl v projektu zapnuté UNICODE, stačilo použít funkci WideCharToMultiByte.

Nahlásit jako SPAM
IP: 91.187.60.–
dannyk0
Věrný člen
21. 9. 2008   #7
-
0
-

2 ondra: Jo,mas recht.To WIN sem tam mohl dopsat no :D

Nahlásit jako SPAM
IP: 85.135.97.–
Jedu v c++,c#,assembler,ASP.NET,PHP,databaze,bezpecnost softwaru[br] -----------------------------------------------------------[br] Muj blog o programovani,hudbe a vsem moznem,co najdu na netu :) [br] http://dannyk.aspone.cz[br] -----------------------------------------------------------[br] Na foru mam nejake prispevky pod nickem Master,tak jen pro upresneni :)
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 73 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý