<?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[exe ausführen und processid bekommen]]></title><description><![CDATA[<p>Hi!<br />
Ist es möglich eine exe auszuführen und davon direkt die ProzessId zu bekommen? Mit dem Spy++ komm ich leider nicht drann, sonst würde ich es über FindWindow machen. Geht es überhaupt anders?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/124823/exe-ausführen-und-processid-bekommen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 07 Jul 2026 08:38:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/124823.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 31 Oct 2005 18:28:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to exe ausführen und processid bekommen on Mon, 31 Oct 2005 18:28:21 GMT]]></title><description><![CDATA[<p>Hi!<br />
Ist es möglich eine exe auszuführen und davon direkt die ProzessId zu bekommen? Mit dem Spy++ komm ich leider nicht drann, sonst würde ich es über FindWindow machen. Geht es überhaupt anders?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/904897</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/904897</guid><dc:creator><![CDATA[hansdampf]]></dc:creator><pubDate>Mon, 31 Oct 2005 18:28:21 GMT</pubDate></item><item><title><![CDATA[Reply to exe ausführen und processid bekommen on Mon, 31 Oct 2005 19:18:08 GMT]]></title><description><![CDATA[<p>Schau dir mal CreateProcess() und seine Parameter an, vor allem die PROCESS_INFORMATION Struktur.</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/904952</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/904952</guid><dc:creator><![CDATA[pZy]]></dc:creator><pubDate>Mon, 31 Oct 2005 19:18:08 GMT</pubDate></item><item><title><![CDATA[Reply to exe ausführen und processid bekommen on Mon, 31 Oct 2005 20:36:32 GMT]]></title><description><![CDATA[<p>Hi!<br />
Danke, das ist genau das, was ich gesucht hab. Hab mir die MSDN durchgelesen, allerdings will CreateProcess nicht wirklich funktionieren. Ich möchte den Windows Taschenrechner probeweise wartend ausführen und mit einem resume befehl &quot;durchstarten&quot; lassen. (Der resume befehl ist noch nicht im code also nicht wundern!)</p>
<p>hier ein Schnippsel:</p>
<pre><code class="language-cpp">#include &quot;stdafx.h&quot;
#include &lt;windows.h&gt;
#include &lt;string&gt;

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow )
{
	PROCESS_INFORMATION pi;
	STARTUPINFO si;
	BOOL bRet;

	bRet = CreateProcess(&quot;calc.exe&quot;, &quot; &quot;, NULL, NULL, NULL, CREATE_SUSPENDED,
NULL, &quot;C:\\Windows\\System32\\&quot;, &amp;si, &amp;pi);  

	char buf[255];
	itoa(GetLastError(),buf,10);
	MessageBox(0,buf,0,0);

	return 0;
}
</code></pre>
<p>Ich erhalte nach CreateProcess leider den Fehler 998 (Unzulässiger Zugriff auf einen Speicherbereich.) Ich weiß leider nicht woran das liegen kann, weiß jemand was?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/905070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/905070</guid><dc:creator><![CDATA[hansdampf]]></dc:creator><pubDate>Mon, 31 Oct 2005 20:36:32 GMT</pubDate></item><item><title><![CDATA[Reply to exe ausführen und processid bekommen on Mon, 31 Oct 2005 20:59:31 GMT]]></title><description><![CDATA[<p>wie wäre es wenn Du als 5. Paramter ein TRUE oder FALSE übergibst ?<br />
wähle für den 6. Parameter einen sinvollen DWORD Wert.</p>
<p>beste Grüße<br />
RB</p>
<p>PS: hast Du mal PHP programmiert ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/905140</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/905140</guid><dc:creator><![CDATA[RED-BARON]]></dc:creator><pubDate>Mon, 31 Oct 2005 20:59:31 GMT</pubDate></item><item><title><![CDATA[Reply to exe ausführen und processid bekommen on Tue, 01 Nov 2005 15:33:56 GMT]]></title><description><![CDATA[<p>Ja ich habe mal PHP programmiert, aber nur kurz. Habe allerdings vorher schon in C++ programmiert. Ich glaube du willst darauf hinaus, ob ich mir den saumäßigen stil von PHP abgeschaut hab? <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="😉"
    /> Der PHP interpreter ist nämlich ziemlich tollerant muss ich sagen.</p>
<p>Ich habe jetzt etwa 3 Monate nichtmehr programmiert, deswegen steh ich im mom etwas auf dem Schlauch. FALSE und NULL dürften das selbe sein. Ich glaube beide sind mit einem #define als 0 definiert. Was meinst du mit Sinnvollen DWORD wert? CREATE_SUSPEND ist eine Kontante Zahl und zwar 4.</p>
<p>Trotz ändern von NULL zu FALSE gab es keine Besserung. <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=":/"
      alt="😕"
    /> Ich hab schon in der MSDN rumgelesen aber ich finde einfach keine logische erklärung dafür, woran es zumindest liegen <strong>könnte</strong>. Gerade mit dem Fehler &quot;zugriff auf einen ungültigen Speicherbereich&quot; kann ich null anfangen. Die calc.exe wird ja nichtmal ausgefüht!?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/905812</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/905812</guid><dc:creator><![CDATA[hansdampf]]></dc:creator><pubDate>Tue, 01 Nov 2005 15:33:56 GMT</pubDate></item><item><title><![CDATA[Reply to exe ausführen und processid bekommen on Tue, 01 Nov 2005 15:37:54 GMT]]></title><description><![CDATA[<p>Als zweiten Parameter darfst du kein Literal angeben, weil CreateProcess möglicherweise da reinschreibt. Was soll dieser String mit dem einzelnen Leerzeichen überhaupt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/905816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/905816</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Tue, 01 Nov 2005 15:37:54 GMT</pubDate></item><item><title><![CDATA[Reply to exe ausführen und processid bekommen on Tue, 01 Nov 2005 16:03:15 GMT]]></title><description><![CDATA[<p>Ich möchte keine Commandline übergeben. Ich dachte erst das es daran liegt, dem war aber nicht so deshalb die &quot; &quot; habe sie allerdings schon durch ein NULL ersetzt.<br />
Ich habe jetzt herausgefunden wie es funktioniert. Ich habe einfach eine weitere Messagebox vor der Ausführung von CreateThread gemacht. Plötzlich kam nach CreateThread fehler 0, die calc.exe wurde gestartet. Nehm ich die Messagebox wieder weg kommt wieder der 998!? Häääää!?!?!?<br />
Hier der Code:</p>
<pre><code class="language-cpp">int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow )
{
	char buf[255];
	int error = 0;

	PROCESS_INFORMATION pi;
	STARTUPINFO si;

	itoa(GetLastError(),buf,10); // Komischerweise funktioniert CreateProcess
	MessageBox(0,buf,0,0);		 // Ohne diese beiden Zeilen nicht.

	CreateProcess(&quot;calc.exe&quot;, NULL, NULL, NULL, FALSE, CREATE_SUSPENDED,
NULL, NULL, &amp;si, &amp;pi);  

	itoa(GetLastError(),buf,10);
	MessageBox(0,buf,0,0);

	ResumeThread(pi.hThread); //Hier kackt die calc.exe ab

	return 0;
}
</code></pre>
<p>Solche phänomene hatte ich aber schon öfters in c++. Wer mir jetzt erklären wie sowas zu stande kommt, der hat n Orden verdient.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/905829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/905829</guid><dc:creator><![CDATA[hansdampf]]></dc:creator><pubDate>Tue, 01 Nov 2005 16:03:15 GMT</pubDate></item><item><title><![CDATA[Reply to exe ausführen und processid bekommen on Tue, 01 Nov 2005 16:21:18 GMT]]></title><description><![CDATA[<p>Du solltest wohl vor dem Aufruf von CreateProcess si noch irgendwie initialisieren - z.B. mit ZeroMemory, oder so:</p>
<pre><code class="language-cpp">STARTUPINFO si = {0};
si.cb = sizeof(STARTUPINFO);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/905841</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/905841</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Tue, 01 Nov 2005 16:21:18 GMT</pubDate></item><item><title><![CDATA[Reply to exe ausführen und processid bekommen on Tue, 01 Nov 2005 16:22:35 GMT]]></title><description><![CDATA[<p>so ich habs wieder rausgefunden. Ich habe jetzt mal die arraygröße vom Buf char von 255 auf 32 geändert und zack funktionierts. Was hat das damit zu tun? Es scheint, als hätte das char array irgendwo was reingeschrieben wo es nichts reinschreiben darf. Durch das schreiben in die Buf variable durch atoi, scheint der Fehler durch die Nullterminierung durch verhindert worden zu sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/905842</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/905842</guid><dc:creator><![CDATA[hansdampf]]></dc:creator><pubDate>Tue, 01 Nov 2005 16:22:35 GMT</pubDate></item><item><title><![CDATA[Reply to exe ausführen und processid bekommen on Tue, 01 Nov 2005 16:25:14 GMT]]></title><description><![CDATA[<p>danke flanders, das war des rätsels lösung! Ich wusste noch nicht, wie man ein klasse initialisiert. Jetzt funktionierts auch mit nem 255ger char. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/905845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/905845</guid><dc:creator><![CDATA[hansdampf]]></dc:creator><pubDate>Tue, 01 Nov 2005 16:25:14 GMT</pubDate></item><item><title><![CDATA[Reply to exe ausführen und processid bekommen on Tue, 01 Nov 2005 16:32:16 GMT]]></title><description><![CDATA[<p>hansdampf schrieb:</p>
<blockquote>
<p>Ich wusste noch nicht, wie man ein klasse initialisiert.</p>
</blockquote>
<p>Das ist eine Struktur <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>Allgemein kannst du dir merken, dass du zumindest bei Strukturen, die als Eingabe-Parameter verwendet werden alle Member irgendwie sinnvoll initialisieren solltest. Wenn du nichts spezielles setzen willst (aber eine Struktur angeben musst), dann setzt du eben alles auf 0. Damit du nicht jeden Member einzeln auf 0 setzen musst, kannst du das direkt bei der Deklaration mit <em>= {0}</em> tun - oder eben mit ZeroMemory. Wenn du eine Struktur (wie in diesem Fall) hast, die einen Member für die Größe hat, dann musst du diesen auch befüllen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/905849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/905849</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Tue, 01 Nov 2005 16:32:16 GMT</pubDate></item><item><title><![CDATA[Reply to exe ausführen und processid bekommen on Tue, 01 Nov 2005 17:09:15 GMT]]></title><description><![CDATA[<p>flenders schrieb:</p>
<blockquote>
<p>hansdampf schrieb:</p>
<blockquote>
<p>Ich wusste noch nicht, wie man ein klasse initialisiert.</p>
</blockquote>
<p>Das ist eine Struktur <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>Ist eine Struktur nicht das Selbe wie eine Klasse, nur das standardmäßig private und public vertauscht sind?</p>
<p>Danke für die Hilfe, jetzt funktioniert alles, sogar die ResumeThread funktion. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/905875</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/905875</guid><dc:creator><![CDATA[hansdampf]]></dc:creator><pubDate>Tue, 01 Nov 2005 17:09:15 GMT</pubDate></item></channel></rss>