<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>VC und Prozeßhandles</title>
    <link>http://forum.geizhals.at/feed.jsp?id=170656</link>
    <description>Geizhals-Forum</description>
    <item>
      <title>Re(4): VC und Prozeßhandles</title>
      <link>http://forum.geizhals.at/t170656,922608.html#922608</link>
      <description>mein browser interpretiert das letzte CreateProcess argument falsch, sorry &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";)"/&gt; ich meinte als letztes argument natuerlich "&amp;pi".&lt;br/&gt;</description>
      <pubDate>Tue, 24 Jun 2003 23:46:43 GMT</pubDate>
      <guid>http://forum.geizhals.at/t170656,922608.html#922608</guid>
      <dc:creator>buggy</dc:creator>
      <dc:date>2003-06-24T23:46:43Z</dc:date>
    </item>
    <item>
      <title>Re(3): VC und Prozeßhandles</title>
      <link>http://forum.geizhals.at/t170656,922604.html#922604</link>
      <description>hi, &lt;b&gt;FindWindow&lt;/b&gt; &lt;i&gt;pfunziwunzifunztatatut&lt;/i&gt; nur, wenn du die exakte window caption kennst, bei word ist das leider nicht wirklich moeglich, da da zb "Dokument1 - Microsoft Word" steht, wenn der user aber ein anderes aufmacht oder nur eine andere sprachversion von word hat, stimmt die caption nicht mehr, ist also eine schlechte idee, damit zu arbeiten.&lt;br&gt;weiters kann FindWindow aber auch auf den classname des windows gehen (auszug aus win32 sdk reference help):&lt;br&gt;&lt;pre/&gt;&lt;br&gt;&lt;div class=code&gt;&lt;pre&gt;&amp;lt;i&amp;gt;HWND FindWindow(
    LPCTSTR lpClassName,	// pointer to class name
    LPCTSTR lpWindowName 	// pointer to window name
   );
&lt;/pre&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/i&gt;du kannst auf nem englischen system zb den windows taschenrechner (im wissenschaftlichen modus und natuerlich nur wenn er offen ist) entweder so finden:&lt;pre/&gt;&lt;br&gt;&lt;div class=code&gt;&lt;pre&gt;hwnd = FindWindow(NULL,"Calculator"); oder so:
hwnd = FindWindow("SciCalc",NULL);&lt;/pre&gt;&lt;/div&gt;&lt;/pre&gt;...warum auch immer heisst die class des winword2000 fensters bei mir zb "OpusApp", damit bist du schon weiter.&lt;br&gt;nun noch per &lt;b&gt;SendMessage&lt;/b&gt; eine WM_CLOSE message schicken:&lt;br&gt;&lt;pre/&gt;&lt;br&gt;&lt;div class=code&gt;&lt;pre&gt;SendMessage(hwnd,WM_CLOSE,0,0);&lt;/pre&gt;&lt;/div&gt;&lt;/pre&gt; und das ding sollte sich schliessen.&lt;br&gt;hier verwendest du die regulaere schliessen methode, was man immer machen sollte, wenn moeglich.&lt;br&gt;&lt;br/&gt;&lt;br&gt;natuerlich gibt es auch noch die brutalo methode, den prozess einfach "abzuschiessen", was mit der &lt;b&gt;TerminateProcess&lt;/b&gt; api geht. dazu braucht man normalerweise den process handle - aber da du ihn mit &lt;b&gt;CreateProcess&lt;/b&gt; ja selbst erstellst, kannst du ihn schnell finden, indem du dein als PROCESS_INFORMATION deklariertes "pi" (das du scheinbar garnicht nutzt), als letztes argument an CreateProcess uebergibst ("&amp;pi"), killen kannst du das prog dann mit:&lt;pre/&gt;&lt;br&gt;&lt;div class=code&gt;&lt;pre&gt;TerminateProcess(pi.hProcess,0)&lt;/pre&gt;&lt;/div&gt;&lt;/pre&gt;ein beispiel davon gibts zb hier: &lt;a href="http://www.experts-exchange.com/Programming/Programming_Platforms/Win_Prog/Q_10096334.html" rel="noopener" target="_blank"&gt;http:/&lt;wbr/&gt;/&lt;wbr/&gt;www.experts-exchange.com/&lt;wbr/&gt;Programming/&lt;wbr/&gt;Programming_Platforms/&lt;wbr/&gt;Win_Prog/&lt;wbr/&gt;Q_10096334.html&lt;/a&gt; &lt;br/&gt;</description>
      <pubDate>Tue, 24 Jun 2003 23:39:45 GMT</pubDate>
      <guid>http://forum.geizhals.at/t170656,922604.html#922604</guid>
      <dc:creator>buggy</dc:creator>
      <dc:date>2003-06-24T23:39:45Z</dc:date>
    </item>
    <item>
      <title>Re(2): VC und Prozeßhandles</title>
      <link>http://forum.geizhals.at/t170656,916430.html#916430</link>
      <description>Naja, die MSDN hat mir nicht wirklich weitergeholfen, weil es ja eigentlich funktionieren sollte. Ich habs auch mit&lt;br&gt;&lt;br&gt;GetActiveWindow und dergleichen probiert. Hat aber alles nichts geholfen. Entweder hab ich einen Denkfehler oder es fehlt einfach an irgendwelchen Grundlagen.&lt;br&gt;Trotzdem danke für die Hilfe.&lt;br&gt;&lt;br&gt;mfg&lt;br&gt;Maul&lt;br/&gt;</description>
      <pubDate>Fri, 20 Jun 2003 14:57:00 GMT</pubDate>
      <guid>http://forum.geizhals.at/t170656,916430.html#916430</guid>
      <dc:creator>Darth Maul</dc:creator>
      <dc:date>2003-06-20T14:57:00Z</dc:date>
    </item>
    <item>
      <title>Re: VC und Prozeßhandles</title>
      <link>http://forum.geizhals.at/t170656,916419.html#916419</link>
      <description>Ich weiss ja nicht, ich hab von C++ net wirklich eine Ahnung und von winapi auch nicht.. hab nur mit Winamp herumgespielt und da hab ich eben die FindWindow-Funktion in der Art verwendet:&lt;br&gt;&lt;br&gt;HWND hwndWinamp = FindWindow("Winamp v1.x",NULL);&lt;br&gt;&lt;br&gt;Siehe auch &lt;a href="http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/findwindow.asp?frame=true"&gt;msdn&lt;/a&gt;. &lt;br&gt;lpClassName kann man mit Spy++ o.ae. rausfinden.&lt;br&gt;&lt;br&gt;Vllt. hilfts ja &lt;img src="frage.gif" width="16" height="26" align="absmiddle" alt="?-)"/&gt;&lt;br/&gt;</description>
      <pubDate>Fri, 20 Jun 2003 14:52:06 GMT</pubDate>
      <guid>http://forum.geizhals.at/t170656,916419.html#916419</guid>
      <dc:creator>Psychopath</dc:creator>
      <dc:date>2003-06-20T14:52:06Z</dc:date>
    </item>
    <item>
      <title>VC und Prozeßhandles</title>
      <link>http://forum.geizhals.at/t170656,916382.html#916382</link>
      <description>Hi!&lt;br&gt;Habe ein kleines Programm in Visual C++, welches MS Word öffnet. Wie schaffe ich es, daß ich von meinem Programm aus das Word wieder schließen kann?&lt;br&gt;Eigentlich müßte ich doch irgendwie ein Prozeß- oder Window-Handle auf Word kriegen. Tue ich aber nicht. Deshalb kann ich auch keinen Focus setzen oder dergleichen.&lt;br&gt;Wo liegt mein Fehler?&lt;br&gt;&lt;br&gt;mfg&lt;br&gt;Maul&lt;br&gt;&lt;br&gt;P.S.: Hier der relevante Ausschnitt aus meinem Programm:&lt;br&gt;&lt;br&gt;hWindow=CreateWindow("Windows-Programm",&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "API-Programm",&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WS_OVERLAPPEDWINDOW, 10, 10,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 400,300,NULL,NULL,hInstance,NULL);&lt;br&gt; &lt;br&gt;&amp;nbsp;&amp;nbsp; ShowWindow(hWindow, nCmdShow);&lt;br&gt;&amp;nbsp;&amp;nbsp; UpdateWindow(hWindow);&lt;br&gt;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp; /********Word-Aufruf*********/&lt;br&gt;	STARTUPINFO si = { sizeof(STARTUPINFO) };&lt;br&gt;	PROCESS_INFORMATION pi = {0};&lt;br&gt;	BOOL bSuccess;&lt;br&gt;&lt;br&gt;	bSuccess = CreateProcess ( NULL, "\"D:\\Programme\\Microsoft Office\\Office10\\WINWORD.EXE\"D:\\test.doc",&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NULL, NULL, &amp;si, &amp;pi );&lt;br&gt;&amp;nbsp;&amp;nbsp;/******************************/&lt;br&gt;	ExitProcess(pi.dwProcessId);&lt;br&gt;	&lt;br/&gt;</description>
      <pubDate>Fri, 20 Jun 2003 14:35:10 GMT</pubDate>
      <guid>http://forum.geizhals.at/t170656,916382.html#916382</guid>
      <dc:creator>Darth Maul</dc:creator>
      <dc:date>2003-06-20T14:35:10Z</dc:date>
    </item>
  </channel>
</rss>
