Externes Programm öffnen
-
cpp_1 schrieb:
Hallo!
Ich bin ein Anfänger in C++ und benütze den Borland C++ 6 Compiler. Ich würde gerne ein externes Programm öffnen (also: "C:\test.exe"). Ich habe auch schon im Internet danach gesucht und haben den Befehl ShellExecute gefunden. Diser funktioniert bei mir aber nicht. Mein Code:Für ShellExecute musst du die Datei windows.h includieren.
-
ProgChild schrieb:
cpp_1 schrieb:
Hallo!
Ich bin ein Anfänger in C++ und benütze den Borland C++ 6 Compiler. Ich würde gerne ein externes Programm öffnen (also: "C:\test.exe"). Ich habe auch schon im Internet danach gesucht und haben den Befehl ShellExecute gefunden. Diser funktioniert bei mir aber nicht. Mein Code:Für ShellExecute musst du die Datei windows.h includieren.
Danke! Auf diese Idee wäre ich nie gekommen! Vielen Dank
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Bzw., falls WIN32_LEAN_AND_MEAN definiert ist, eben explizit shellapi.h inkludieren.
PS: Denk an die Library 'shell32.lib'
.
-
Auch das gute alte WinExec("TEST.EXE") läuft immer noch auf allen Systemen.
-
berniebutt schrieb:
Auch das gute alte WinExec("TEST.EXE") läuft immer noch auf allen Systemen.
This function is provided only for compatibility with 16-bit Windows. 16-bit Windows 16-bit Windows 16-bit Windows 16-bit Windows
-
dann sollte man auch createprocess erwaehnen, welches ab win 2000 benutzt werden sollte.

mfg donny
-
genau
aber nachdem hier "system" empfohlen wurde - vielen mir die worte #gg
-
Mr Evil schrieb:
genau
aber nachdem hier "system" empfohlen wurde - vielen mir die worte #ggwie würdest du es denn sonst in C machen

-
ShellExecute ist wohl die sinnvollste Art und Weise unter C und der WinAPI

-
donbubu schrieb:
dann sollte man auch createprocess erwaehnen, welches ab win 2000 benutzt werden sollte.

Ab Vista sollte man nur noch ShellExecute/ShellExecuteEx verwenden. Mit CreateProcess lassen sich keine Anwendungen mit angehobenen Rechten starten, CreateProcess gibt hier einen Fehlercode zurück.
-
sri schrieb:
donbubu schrieb:
dann sollte man auch createprocess erwaehnen, welches ab win 2000 benutzt werden sollte.

Ab Vista sollte man nur noch ShellExecute/ShellExecuteEx verwenden.
So ein Quatsch! Man sollte immer das verwenden was man braucht. Manchmal muss man zum Beispiel die Standard-Handles umbiegen, dann braucht man CreateProcess.
-
Das dürfte wohl nur bei Konsolenprogrammen nötig sein. Und es klappt nicht, wenn das jeweilige Programm ein Manifest mit <requireAdministrator> enthält.
-
@:coll:
damit duerften deine fragen wohl beseitigt sein
-
Mr Evil schrieb:
@:coll:
damit duerften deine fragen wohl beseitigt seinBenutz mal in Ansi C ShellExecute du Holzbirne

-
was machst du mich nu an du affe ?
du siehst doch selber das es noch mehr begriffe gibt, und ich hab nirgends geschrieben wozu ich tendiere
also halt die fuesse stillgrad gefunden, ich wusste da war was
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39453.html
-
sagt mal , leute,
bleibt doch friedlich vor allen dingen sachlich bei der frage ^^
ist ja unormal was sich in letzter zeit fuer umgangsformen etablieren.
@sri
thx , dass wusste ich noch garnicht, da werd ich wohl so einiges umstellen muessen.
arbeite hier mit win2k und vs 6.
hab vista bisher nur auf bildern gesehn
mfg donny
