Re: Batch Datei aufrufen, wie?

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance

From: Jochen Kalmbach (nospam-Jochen.Kalmbach_at_holzma.de)
Date: 03/22/05


Date: Tue, 22 Mar 2005 10:57:50 +0100

Hallo Sandra:
> Hallo,
> m_sProcFilePath = "C:\\_Test\\Maschine\\_7\\Aufruf.bat";

Eine Batch-Datei benötigt immer einen Interpreter...

Wenn Du es mittels CreateProzess aufrufen willst, dann musst Du noch den
cmd.exe als Prozess mitgeben:

TCHAR szCmdExe[1024];
GetEnvironmentVariable(_T("COMSPEC"), szCmdExe,
sizeof(szCmdExe)/sizeof(TCHAR));

// füge jetzt ein "/c" hinzu (damit das folgende ausgeführt werden soll)
_tcscat(szCmdExe, _T(" /c C:\\_Test\\Maschine\\_7\\Aufruf.bat");

// Jetzt kannst Du den Prozess starten.

Alternativ kannst Du auch ShellExecute verwenden, der macht das intern
alles automatisch...

Siehe: ShellExecute
http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/reference/functions/shellexecute.asp

-- 
Greetings
   Jochen
    My blog about Win32 and .NET
    http://blog.kalmbachnet.de/


Relevant Pages

  • Re: Autoupdate unter Vista
    ... Das fragt dann entweder nach oder wenn Du schon Adminrechte hast, ... Du musst den Prozess mittels "ShellExecute" und *nicht* CreateProcess starten! ...
    (microsoft.public.de.vc)
  • Re: Hilfe =?ISO-8859-1?Q?f=FCr_einen_=22Anf=E4nger=22?=
    ... Ich dachte mit dem "CreateProcessAsUser" kann ich dann aus dem Prozess heraus mit "ShellExecute" einfach eine EXE datei als Admin ausführen. ...
    (microsoft.public.de.vc)
  • Re: Threads
    ... Mit ShellExecute kannst Du nicht auf das Beenden warten! ... dies explizit gewünscht wird *und* auch wirklich ein Prozess gestartet wurde! ... Auch gibt es Fälle, in denen das Handle nicht gesetzt wird, auch wenn ein Prozess gestartet wurde! ...
    (microsoft.public.de.vc)
  • Re: externes programm via trigger starten?
    ... Stefan schrieb: ... PostMessageeine Nachricht an deinen Prozess schickt. ... Alternativ kann man auch ein Event Signal setzen, wenn deine Anwendung entsprechen multithreaded ist. ...
    (microsoft.public.de.sqlserver)