<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[ShellExecute macht ncht das was ich erwarte!]]></title><description><![CDATA[<p>Mein Problem mit ShellExecute() ist nicht &quot;Wie verwende ich es&quot; sondern das es nicht das macht was ich möchte. Ich arbeite mit Visual Studio 6.0. Habe ein Programm geschrieben das mir ein Batch Programm erzeugt. Rufe ich dieses Batch-Programm mit ShellExecute() auf tut sich nix außer das sich die Windows Shell kurz öffnet. Öffne ich die Batch mit einem doppelklick, macht sie genau das was ich möchte. Woran kann das liegen? Mein Code:</p>
<pre><code class="language-cpp">// Auszug aus meinem Quellcode

nPos = strPathofCFile.ReverseFind('\\');
strPathofCFile = strPathofCFile.Mid(0, nPos);
strPathofCFile += &quot;make.bat&quot;;

SaveFile.Open(strPathofCFile, CFile::modeCreate | CFile::modeWrite);
SaveFile.WriteString(strmakeBAT);
SaveFile.Close();
// Bis hierhin alles in Ordnung. Batch wird erzeugt, der Inhalt stimmt, alles OK.

ShellExecute(NULL, &quot;open&quot;, strPathofCFile, NULL, NULL, SW_SHOW);
</code></pre>
<p>Vieleicht sehe ich im Moment den Wald vor Bäumen nicht mehr , aber ich komme nicht dahinter.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/189072/shellexecute-macht-ncht-das-was-ich-erwarte</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 21:33:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/189072.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 08 Aug 2007 09:51:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ShellExecute macht ncht das was ich erwarte! on Wed, 08 Aug 2007 09:51:44 GMT]]></title><description><![CDATA[<p>Mein Problem mit ShellExecute() ist nicht &quot;Wie verwende ich es&quot; sondern das es nicht das macht was ich möchte. Ich arbeite mit Visual Studio 6.0. Habe ein Programm geschrieben das mir ein Batch Programm erzeugt. Rufe ich dieses Batch-Programm mit ShellExecute() auf tut sich nix außer das sich die Windows Shell kurz öffnet. Öffne ich die Batch mit einem doppelklick, macht sie genau das was ich möchte. Woran kann das liegen? Mein Code:</p>
<pre><code class="language-cpp">// Auszug aus meinem Quellcode

nPos = strPathofCFile.ReverseFind('\\');
strPathofCFile = strPathofCFile.Mid(0, nPos);
strPathofCFile += &quot;make.bat&quot;;

SaveFile.Open(strPathofCFile, CFile::modeCreate | CFile::modeWrite);
SaveFile.WriteString(strmakeBAT);
SaveFile.Close();
// Bis hierhin alles in Ordnung. Batch wird erzeugt, der Inhalt stimmt, alles OK.

ShellExecute(NULL, &quot;open&quot;, strPathofCFile, NULL, NULL, SW_SHOW);
</code></pre>
<p>Vieleicht sehe ich im Moment den Wald vor Bäumen nicht mehr , aber ich komme nicht dahinter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340634</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340634</guid><dc:creator><![CDATA[abrissbirne]]></dc:creator><pubDate>Wed, 08 Aug 2007 09:51:44 GMT</pubDate></item><item><title><![CDATA[Reply to ShellExecute macht ncht das was ich erwarte! on Wed, 08 Aug 2007 09:59:11 GMT]]></title><description><![CDATA[<p>Vermutlich passt der Pfad nicht.<br />
Mach an das Ende deiner Batch mal ein pause und lies was ausgegeben wird. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340639</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Wed, 08 Aug 2007 09:59:11 GMT</pubDate></item><item><title><![CDATA[Reply to ShellExecute macht ncht das was ich erwarte! on Wed, 08 Aug 2007 12:49:20 GMT]]></title><description><![CDATA[<p>estartu schrieb:</p>
<blockquote>
<p>Vermutlich passt der Pfad nicht.<br />
Mach an das Ende deiner Batch mal ein pause und lies was ausgegeben wird. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Hab mal debugged. Der Pfad ist korrekt.<br />
Danke für den Tip mit der Pause. Ich rufe mit der Batch ein makefile auf. Jetzt hab ich folgende Fehlermeldung:</p>
<pre><code class="language-cpp">NMAKE : fatal error U1052: Datei 'makefile' nicht gefunden Stop.
</code></pre>
<p>Habe versucht mit Sleep(1000) zu warten ob das makefile vieleicht zu spät erstellt wird. Kein ERfolg. Dann habe ich mit einem Haltepunkt bei ShellExecute gewartet bis das makefile erstellt war und dann von Hand einen Schritt weiter gemacht. Das selbe Ergebnis, obwohl das makefile mit Sicherheit da ist. Wie gesagt, wenn ich die Batch doppelt anklicke gibt es kein Problem <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
makefile liegt im selben Verzeichnis wie die Batch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340787</guid><dc:creator><![CDATA[abrissbirne]]></dc:creator><pubDate>Wed, 08 Aug 2007 12:49:20 GMT</pubDate></item><item><title><![CDATA[Reply to ShellExecute macht ncht das was ich erwarte! on Wed, 08 Aug 2007 13:30:56 GMT]]></title><description><![CDATA[<p>abrissbirne schrieb:</p>
<blockquote>
<p>makefile liegt im selben Verzeichnis wie die Batch.</p>
</blockquote>
<p>Du rufst die Batch ja durch eine totale Pfadabgabe auf.<br />
Wenn du debuggst ist dein Arbeitsverzeichnis das Projektverzeichnis und wenn du die Exe richtig startest ist es das Verzeichnis der Exe.</p>
<p>Wo liegt die Batch?<br />
Erstelle doch mal in der Batch eine Textdatei und such danach, wo die gelandet ist. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Falls es wirklich der Pfad ist: Ich behelfe mir bei Batches damit, dass ich den Pfad mitgebe. Über %1\makefile sollte es dann auch klappen oder mit cd %1 .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340816</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Wed, 08 Aug 2007 13:30:56 GMT</pubDate></item></channel></rss>