<?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[Probleme WinExec......]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich benutze die Funktion WinExec in einem Programm.<br />
Wenn ich die WinExec z.B. so aufrufe</p>
<pre><code class="language-cpp">WinExec(&quot;Testprog.exe&quot;, SW_SHOW);
</code></pre>
<p>funktioniert es einwandfrei und das Programm wird gestartet.</p>
<p>Wenn ich die Funktion nun mit einem übergebenen Parameter aufrufe, in meinem Fall folgendes</p>
<pre><code class="language-cpp">CString strProgToRun;
</code></pre>
<p>und die Endung &quot;.exe&quot; anhänge (in strProgToRun steht Testprog)</p>
<pre><code class="language-cpp">strProgToRun += &quot;.exe&quot;;
</code></pre>
<p>tut sich nichts.<br />
Allerdings wenn ich den string in einer Messagebox anzeige oder im Debugger kontrolliere erscheint der Wert &quot;Testprog.exe&quot;. Also funktioniert hat das mit dem anhängen der endung. aufruf sieht dann folgender massen aus.</p>
<pre><code class="language-cpp">WinExec(strProgTpRun, SW_SHOW);
</code></pre>
<p>aber nichts tut sich.<br />
Hier im Forum hab ich nen tip gefunden:</p>
<pre><code class="language-cpp">WinExec(LPCSTR(strProgToRun), SW_SHOW);
</code></pre>
<p>Leider hilft mir das auch nicht weiter.<br />
Muss ich bei der Anwendung von WinExec etwas besonders beachten?? Woran liegt das. Werde wohl zu ShellExecute() oder sowas wechseln, aber rein interessehalber würde ich schon gerne wissen warum es mit einer variable nicht geht!!!</p>
<p>Gruss<br />
--------<br />
Nachtrag:<br />
Habe es auch mit ShellExecute() ausprobiert. Selbe Problematik, mit angabe als &quot;String&quot; funktioniert es, mit Angabe der Variable tut sich nix.<br />
Hier mal noch der Code:</p>
<pre><code class="language-cpp">void CTest2Dlg::OnRunpgm() 
{
  UpdateData(TRUE);

  CString strPgmName;
  CString strToExecute;

  strPgmName = m_strProgToRun;

  strPgmName.MakeUpper();

  if (strPgmName == &quot;PAINT&quot; || strPgmName == &quot;EDITOR&quot; || strPgmName == &quot;SOLITÄR&quot;)
  {
    strToExecute = strPgmName;
    strToExecute += &quot;.exe&quot;;
    strToExecute.MakeLower();
    //MessageBox(strToExecute);
    ShellExecute(NULL,&quot;open&quot;,LPCSTR(strToExecute),0,0,SW_SHOW);
    //WinExec(LPCSTR(strToExecute), SW_SHOW);
  }
  else
  {
    MessageBox(&quot;ungültige Auswahl!&quot;,&quot;Fehler&quot;, MB_ICONERROR);
  }
}
</code></pre>
<p>Bin noch relativ unerfahren in sachen C++/MFC.......vielleicht nur ein Anfängerfehler.......</p>
<p>[ Dieser Beitrag wurde am 12.06.2003 um 11:13 Uhr von <strong>ShakerWD</strong> editiert. ]</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/6150/probleme-winexec</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 15:25:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/6150.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 12 Jun 2003 08:47:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme WinExec...... on Thu, 12 Jun 2003 08:47:00 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich benutze die Funktion WinExec in einem Programm.<br />
Wenn ich die WinExec z.B. so aufrufe</p>
<pre><code class="language-cpp">WinExec(&quot;Testprog.exe&quot;, SW_SHOW);
</code></pre>
<p>funktioniert es einwandfrei und das Programm wird gestartet.</p>
<p>Wenn ich die Funktion nun mit einem übergebenen Parameter aufrufe, in meinem Fall folgendes</p>
<pre><code class="language-cpp">CString strProgToRun;
</code></pre>
<p>und die Endung &quot;.exe&quot; anhänge (in strProgToRun steht Testprog)</p>
<pre><code class="language-cpp">strProgToRun += &quot;.exe&quot;;
</code></pre>
<p>tut sich nichts.<br />
Allerdings wenn ich den string in einer Messagebox anzeige oder im Debugger kontrolliere erscheint der Wert &quot;Testprog.exe&quot;. Also funktioniert hat das mit dem anhängen der endung. aufruf sieht dann folgender massen aus.</p>
<pre><code class="language-cpp">WinExec(strProgTpRun, SW_SHOW);
</code></pre>
<p>aber nichts tut sich.<br />
Hier im Forum hab ich nen tip gefunden:</p>
<pre><code class="language-cpp">WinExec(LPCSTR(strProgToRun), SW_SHOW);
</code></pre>
<p>Leider hilft mir das auch nicht weiter.<br />
Muss ich bei der Anwendung von WinExec etwas besonders beachten?? Woran liegt das. Werde wohl zu ShellExecute() oder sowas wechseln, aber rein interessehalber würde ich schon gerne wissen warum es mit einer variable nicht geht!!!</p>
<p>Gruss<br />
--------<br />
Nachtrag:<br />
Habe es auch mit ShellExecute() ausprobiert. Selbe Problematik, mit angabe als &quot;String&quot; funktioniert es, mit Angabe der Variable tut sich nix.<br />
Hier mal noch der Code:</p>
<pre><code class="language-cpp">void CTest2Dlg::OnRunpgm() 
{
  UpdateData(TRUE);

  CString strPgmName;
  CString strToExecute;

  strPgmName = m_strProgToRun;

  strPgmName.MakeUpper();

  if (strPgmName == &quot;PAINT&quot; || strPgmName == &quot;EDITOR&quot; || strPgmName == &quot;SOLITÄR&quot;)
  {
    strToExecute = strPgmName;
    strToExecute += &quot;.exe&quot;;
    strToExecute.MakeLower();
    //MessageBox(strToExecute);
    ShellExecute(NULL,&quot;open&quot;,LPCSTR(strToExecute),0,0,SW_SHOW);
    //WinExec(LPCSTR(strToExecute), SW_SHOW);
  }
  else
  {
    MessageBox(&quot;ungültige Auswahl!&quot;,&quot;Fehler&quot;, MB_ICONERROR);
  }
}
</code></pre>
<p>Bin noch relativ unerfahren in sachen C++/MFC.......vielleicht nur ein Anfängerfehler.......</p>
<p>[ Dieser Beitrag wurde am 12.06.2003 um 11:13 Uhr von <strong>ShakerWD</strong> editiert. ]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/29805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29805</guid><dc:creator><![CDATA[ShakerWD]]></dc:creator><pubDate>Thu, 12 Jun 2003 08:47:00 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme WinExec...... on Thu, 12 Jun 2003 17:29:00 GMT]]></title><description><![CDATA[<p>moin,<br />
ich weiss nicht welche windowsversion du hast, aber spätestens seit xp heisst<br />
editor-&gt;notepad.exe<br />
paint-&gt;mspaint.exe</p>
<p>und bei solitär tut sich auch nichts<br />
ansonsten seh ich aber keine fehler.</p>
<p>makelower ist an dieser stelle übrigens überfüssig <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/29806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29806</guid><dc:creator><![CDATA[Emperor_L0ser]]></dc:creator><pubDate>Thu, 12 Jun 2003 17:29:00 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme WinExec...... on Thu, 12 Jun 2003 20:16:00 GMT]]></title><description><![CDATA[<p>Hmm klappts ?</p>
<p>[ Dieser Beitrag wurde am 12.06.2003 um 22:17 Uhr von <strong>5kYw4lKeR</strong> editiert. ]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/29807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29807</guid><dc:creator><![CDATA[5kYw4lKeR]]></dc:creator><pubDate>Thu, 12 Jun 2003 20:16:00 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme WinExec...... on Thu, 12 Jun 2003 20:25:00 GMT]]></title><description><![CDATA[<p>Des weiteren geben die Funktionen ShellExecute() und WinExec() sicherlich Werte zurück, die auf Erfolg oder Mißerfolg hinweisen...</p>
<p>Meist kann man dann mit GetLastError() nachsehen, WAS GENAU schief gegangen ist....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/29808</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29808</guid><dc:creator><![CDATA[Hepi]]></dc:creator><pubDate>Thu, 12 Jun 2003 20:25:00 GMT</pubDate></item></channel></rss>