<?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[Den reinen Dateinamen herausbekommen ?]]></title><description><![CDATA[<p>Ich möchte gerne den reinen Dateinamen meiner laufenden executable herausbekommen.</p>
<p>Habe es bereits mit GetModuleHandle versucht damit bekomme ich aber nur den gesamten Pfad.</p>
<p>Gibt es eine sichere Methode den aktuell laufenden Executable Name und auch wirklich nur den Name herauszubekommen ?</p>
<p>Wo ich schonmal dabei bin gibt es eine Funktion zum einfachen umbennenen während der Laufzeit ? Sofern das überhaupt möglich ist. Wird wohl ein script erledigen müssen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/100606/den-reinen-dateinamen-herausbekommen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Apr 2026 19:05:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/100606.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 08 Feb 2005 18:51:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Tue, 08 Feb 2005 18:51:42 GMT]]></title><description><![CDATA[<p>Ich möchte gerne den reinen Dateinamen meiner laufenden executable herausbekommen.</p>
<p>Habe es bereits mit GetModuleHandle versucht damit bekomme ich aber nur den gesamten Pfad.</p>
<p>Gibt es eine sichere Methode den aktuell laufenden Executable Name und auch wirklich nur den Name herauszubekommen ?</p>
<p>Wo ich schonmal dabei bin gibt es eine Funktion zum einfachen umbennenen während der Laufzeit ? Sofern das überhaupt möglich ist. Wird wohl ein script erledigen müssen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/718057</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718057</guid><dc:creator><![CDATA[Dateiname]]></dc:creator><pubDate>Tue, 08 Feb 2005 18:51:42 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Tue, 08 Feb 2005 18:59:55 GMT]]></title><description><![CDATA[<p>musste dir aus dem pfad rausschneiden</p>
]]></description><link>https://www.c-plusplus.net/forum/post/718071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718071</guid><dc:creator><![CDATA[cutter]]></dc:creator><pubDate>Tue, 08 Feb 2005 18:59:55 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Tue, 08 Feb 2005 19:04:07 GMT]]></title><description><![CDATA[<p>Ist ja auch gut und schön, nur wenn jemand den Dateinamen ändert wird es lustig mit dem &quot;schneiden&quot;. Deswegen schrieb ich ja &quot;sicher&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/718082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718082</guid><dc:creator><![CDATA[Dateiname]]></dc:creator><pubDate>Tue, 08 Feb 2005 19:04:07 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Tue, 08 Feb 2005 19:07:34 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">char* GetExeName (char* path);
{
char exe_name[100];
int istrlen=0;
int i=0;

istrlen = strlen(path);
while (path[istrlen] != '\\')
{
         exe_name[i] = path[istrlen];
         i++;
         istrlen--;
}
.
.
.
return exe_name;

}
</code></pre>
<p>jetzt musst du nur noch exe_name wieder umdrehen, denn da steht der name jetzt falschrum drin... aber das kriegst du bestimmt noch selber hin oder? <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/718083</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718083</guid><dc:creator><![CDATA[MasterCounter]]></dc:creator><pubDate>Tue, 08 Feb 2005 19:07:34 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Tue, 08 Feb 2005 19:06:29 GMT]]></title><description><![CDATA[<p>dateien kann man soweit ich weiß nicht während der laufzeit umbennen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/718085</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718085</guid><dc:creator><![CDATA[MasterCounter]]></dc:creator><pubDate>Tue, 08 Feb 2005 19:06:29 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Tue, 08 Feb 2005 19:10:39 GMT]]></title><description><![CDATA[<p>Hallo.</p>
<p>Meiner Funktion übergibst du den String den dir GetFileName() liefert. Also den gesamten Pfad. Er schneidet dir den Dateinamen mit Endung raus.</p>
<pre><code class="language-cpp">TCHAR* ClipFileName(TCHAR* Path)
{
for(unsigned short int i=lstrlen(Path);i&gt;=0;i--)
	{
	if(Path[i]=='\\')
		{
		TCHAR filename[255];	
		ZeroMemory(filename,255);
		lstrcpy(filename,&amp;Path[i+1]);
		lstrcpy(Path,filename);
		return Path;
		}
	}
return NULL;
}
</code></pre>
<p>Mit freundlichem Gruß.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/718091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718091</guid><dc:creator><![CDATA[Tolga]]></dc:creator><pubDate>Tue, 08 Feb 2005 19:10:39 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Tue, 08 Feb 2005 19:19:50 GMT]]></title><description><![CDATA[<p>Oder Du nimmst <a href="http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/reference/shlwapi/path/pathstrippath.asp" rel="nofollow">PathStripPath()</a></p>
<p>Voraussetzungen:<br />
Minimum DLL Version: shlwapi.dll version 4.71 or later<br />
Custom Implementation: No<br />
Header: shlwapi.h<br />
Import library: shlwapi.lib<br />
Minimum operating systems: Windows 2000, Windows NT 4.0 with Internet Explorer 4.0, Windows 98, Windows 95 with Internet Explorer 4.0<br />
Unicode: Implemented as ANSI and Unicode versions.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/718104</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718104</guid><dc:creator><![CDATA[Hepi]]></dc:creator><pubDate>Tue, 08 Feb 2005 19:19:50 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Tue, 08 Feb 2005 19:21:56 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/2053">@Hepi</a> so gehts natürlich auch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/718106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718106</guid><dc:creator><![CDATA[MasterCounter]]></dc:creator><pubDate>Tue, 08 Feb 2005 19:21:56 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Tue, 08 Feb 2005 19:37:24 GMT]]></title><description><![CDATA[<p>Die von mir gepostete Lösung tut dasselbe und ist unabhängig von DLLs und Co.<br />
Problem war schon gelöst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/718115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718115</guid><dc:creator><![CDATA[Tolga]]></dc:creator><pubDate>Tue, 08 Feb 2005 19:37:24 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Tue, 08 Feb 2005 19:46:23 GMT]]></title><description><![CDATA[<p>wärs nicht weitaus einfacher mit der string funktion &quot;find_last_of(&quot;/&quot;)&quot; und danach mit &quot;substr(...&quot;)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/718132</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718132</guid><dc:creator><![CDATA[stefan_guest]]></dc:creator><pubDate>Tue, 08 Feb 2005 19:46:23 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Tue, 08 Feb 2005 19:57:43 GMT]]></title><description><![CDATA[<p>wenn man c++ benutzt auf jeden fall <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/718138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718138</guid><dc:creator><![CDATA[std::string fan]]></dc:creator><pubDate>Tue, 08 Feb 2005 19:57:43 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Tue, 08 Feb 2005 19:58:11 GMT]]></title><description><![CDATA[<p>Tolga schrieb:</p>
<blockquote>
<p>Die von mir gepostete Lösung tut dasselbe und ist unabhängig von DLLs und Co.<br />
Problem war schon gelöst.</p>
</blockquote>
<p>Mit 15 Zeilen Quelltext gegenüber 1 Zeile bei meiner Lösung.</p>
<p>Achtest Du bei Deiner DLL-Unabhängigkeit auch darauf, das Deine Programme auf Windows 3.11 noch laufen? Das einzige, was benötigt wird, ist ein installierter Internet Explodierer ab Version 4. Nenn mir ein 32-bit Windows-Betriebssystem außer Windows 95, das ohne einen IE 4 daherkommt.</p>
<p>Mit Verlaub, aber ich fand die 15 Zeilen etwas umständlich, zumal es eine WinAPI-Funktion dafür gibt, die das mit einer Zeile löst...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/718139</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718139</guid><dc:creator><![CDATA[Hepi]]></dc:creator><pubDate>Tue, 08 Feb 2005 19:58:11 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Tue, 08 Feb 2005 20:03:41 GMT]]></title><description><![CDATA[<p>Danke das mit dem Pfad abziehen hatte ich nicht bedacht. Sind nicht alle möglichkeiten Win kompatibel ab 95 ? sehe da ncihts fremdes zu nt <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/718145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718145</guid><dc:creator><![CDATA[Dateiname]]></dc:creator><pubDate>Tue, 08 Feb 2005 20:03:41 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Tue, 08 Feb 2005 21:04:05 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/2053">@Hepi</a>: <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>Vorsicht Hepi! Von deiner Lösung wissen wir alle nicht wie lang sie ist. Der Aufruf meiner Funktion nimmt auch nur eine Zeile <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>Während meine Funktion unabhängig vom Betriebssystem ist, benötigt deine NT.<br />
Was aber wenn der Softwarenutzer Win98 hat. (solche solls ja geben!)<br />
Außerdem erfordert das Einbinden der DLL viel mehr Aufrufe und Code. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /></p>
<p>Ansonsten ist dein Vorschlag alles in allem in Ordnung. Wenn man weis dass das Programm NUR auf NT laufen soll, dann kann man ruhig die von dir zitierte API Funktion benutzen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>PS: Wer slässt sich schon von 15 Zeilen C-Code abschrecken?<br />
Ein 0815 Programm hat viele viele Tausend Zeilen Code. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
<p>Mit freundlichem Gruß.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/718196</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718196</guid><dc:creator><![CDATA[Tolga]]></dc:creator><pubDate>Tue, 08 Feb 2005 21:04:05 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Tue, 08 Feb 2005 21:06:39 GMT]]></title><description><![CDATA[<p>Zu deiner Verteidigung:</p>
<p>Wenn man IE hat gehts ja noch. Auch wenn unelegant.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/718199</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718199</guid><dc:creator><![CDATA[Tolga]]></dc:creator><pubDate>Tue, 08 Feb 2005 21:06:39 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Tue, 08 Feb 2005 21:37:51 GMT]]></title><description><![CDATA[<p>Tolga schrieb:</p>
<blockquote>
<p>Während meine Funktion unabhängig vom Betriebssystem ist, benötigt deine NT.</p>
</blockquote>
<p>Lerne lesen!</p>
<p>Tolga schrieb:</p>
<blockquote>
<p>Was aber wenn der Softwarenutzer Win98 hat. (solche solls ja geben!)</p>
</blockquote>
<p>Lerne lesen!</p>
<p>Tolga schrieb:</p>
<blockquote>
<p>Wenn man weis dass das Programm NUR auf NT laufen soll, dann kann man ruhig die von dir zitierte API Funktion benutzen.</p>
</blockquote>
<p>Lerne lesen!</p>
<p>Ich zitiere mich mal selbst aus diesem Thread (bzw. die MSDN):</p>
<blockquote>
<p>Minimum operating systems: Windows 2000, Windows NT 4.0 with Internet Explorer 4.0, <strong>Windows 98, Windows 95 with Internet Explorer 4.0</strong></p>
</blockquote>
<p>Man braucht den IE 4 nur, wenn man Windows NT 4.0 oder Windows 95 hat!<br />
Ansonsten funktioniert dieser Funktionsaufruf bei <strong>allen Windows Betriebssystemen ohne weitere Zutaten</strong>.</p>
<p>Und da braucht auch nichts verteidigt werden... Deine Leseschwäche vielleicht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/718219</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718219</guid><dc:creator><![CDATA[Hepi]]></dc:creator><pubDate>Tue, 08 Feb 2005 21:37:51 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Tue, 08 Feb 2005 21:59:10 GMT]]></title><description><![CDATA[<p><a href="http://www.winapi.net/index.php?inhalt=s14" rel="nofollow">http://www.winapi.net/index.php?inhalt=s14</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/718229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718229</guid><dc:creator><![CDATA[Hepi (Werbung)]]></dc:creator><pubDate>Tue, 08 Feb 2005 21:59:10 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Tue, 08 Feb 2005 22:10:24 GMT]]></title><description><![CDATA[<p>Hepi schrieb:</p>
<blockquote>
<p>Mit 15 Zeilen Quelltext gegenüber 1 Zeile bei meiner Lösung.</p>
</blockquote>
<p>Willst du ernsthaft sagen deine Lösung sei kürzer? Du weist gar nicht wie lang deine Lösung ist, denn MS-Programmierer haben die Codes deiner Lösung getippt nicht du.<br />
Was ist mit dem nötigen Code um die DLL einzubinden????<br />
Hast du je im Leben ne DLL eingebunden?</p>
<p>Das ganze erfordert weit mehr Programmieraufwand und auch mehr Rechenaufwand für das Programm als du dir vorzustellen scheinst.</p>
<p>MfG.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/718235</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718235</guid><dc:creator><![CDATA[Tolga]]></dc:creator><pubDate>Tue, 08 Feb 2005 22:10:24 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Wed, 09 Feb 2005 07:10:57 GMT]]></title><description><![CDATA[<p>Tolga schrieb:</p>
<blockquote>
<p>Willst du ernsthaft sagen deine Lösung sei kürzer? Du weist gar nicht wie lang deine Lösung ist, denn MS-Programmierer haben die Codes deiner Lösung getippt nicht du.<br />
Was ist mit dem nötigen Code um die DLL einzubinden????<br />
Hast du je im Leben ne DLL eingebunden?</p>
<p>Das ganze erfordert weit mehr Programmieraufwand und auch mehr Rechenaufwand für das Programm als du dir vorzustellen scheinst.</p>
<p>MfG.</p>
</blockquote>
<p>Du hast 15 Zeilen präsentiert (ebenso voller unbekannter Funktionsaufrufe, zumindest was deren Größe und Aufwand angeht). Ich 1 (in Worten: eine)! Es ist scheißegal, wieviele Zeilen Code Jungs von Microsoft gehackt haben: Kennst Du die Zeilenlänge von lstrlen? Von ZeroMemory (bzw. von RtlZeroMemory(Destination,Length) oder gar memset((Destination),0,(Length)), sind ja eh alles nur Makros auf memset)? Von lstrcpy? Du rufst in Deiner Funktion dort 3 Funktionen auf, ich eine... siehst Du nicht den geringeren Aufwand bei meiner Lösung? Wobei ich ja nichtmal darauf rumreiten würde, wenn Du nicht deine &quot;ich habe gepostet, thread muß zu, es braucht keine weitere Lösung mehr&quot; Attitüde rausgeholt hättest. Das war unnötig!</p>
<p>Der nötige Code, um die DLL einzubinden, gestaltet sich für den Programmierer wie folgt:</p>
<pre><code class="language-cpp">#include &lt;shlwapi.h&gt;

#pragma comment(lib, &quot;shlwapi.lib&quot;) //bei Verwendung des Visual Studios
</code></pre>
<p>Immer noch kürzer als Dein 15 Zeilen Code.<br />
Ich kann Dir allerdings versichern, das ich schon DLLs in Programme eingebunden habe, als Du noch nichtmal in der Lage warst, einen Computer einzuschalten.</p>
<p>Ich kenne den Programmieraufwand, und genau deshalb präsentiere ich dem Fragesteller lieber eine Funktion mit einer einzigen Zeile anstatt mir erst mühsam eine halbgewalkte Lösung auszudenken und sie dann mit seinen 15 Zeilen Code zu präsentieren (das ist dann nämlich noch mehr Aufwand für den Programmierer, alleine schon die Tipparbeit). Willst Du ernsthaft behaupten, das Lösung ausdenken, 15 Zeilen schreiben, testen usw. <strong>weniger</strong> Aufwand ist als 1 WinAPI-Funktionsaufruf einzutippen?</p>
<p>Und, um auf Deine Frage zurückzukommen:</p>
<blockquote>
<p>Wer slässt sich schon von 15 Zeilen C-Code abschrecken?</p>
</blockquote>
<p>Jemand, der jedweden (eigenen) Aufwand scheut und regelmäßig (man könnte sagen: Tag für Tag auf beruflicher Basis) Code unter Zeitdruck mit Deadlines zu präsentieren hat.</p>
<p>Und weniger Rechenaufwand sehe ich bei Deiner Lösung auch keinen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/718320</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718320</guid><dc:creator><![CDATA[Hepi]]></dc:creator><pubDate>Wed, 09 Feb 2005 07:10:57 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Wed, 09 Feb 2005 08:06:07 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/8357">@Tolga</a>,<br />
Deine Lösung ist zudem noch falsch:</p>
<blockquote>
<pre><code class="language-cpp">TCHAR filename[255];    
        ZeroMemory(filename,255);
</code></pre>
</blockquote>
<p>Statt 255 sollte da MAX_PATH stehen.</p>
<p>Auszug aus der WINDEF.H:</p>
<pre><code class="language-cpp">#define MAX_PATH          260
</code></pre>
<p>Blackbird<br />
PS: Und was passiert mit *Path beim Aufrufer, wenn ein Fehler auftritt? Was passiert mit den return codes?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/718354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718354</guid><dc:creator><![CDATA[Blackbird]]></dc:creator><pubDate>Wed, 09 Feb 2005 08:06:07 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Wed, 09 Feb 2005 17:45:45 GMT]]></title><description><![CDATA[<p>Hepi schrieb:</p>
<blockquote>
<p>Du rufst in Deiner Funktion dort 3 Funktionen auf, ich eine... siehst Du nicht den geringeren Aufwand bei meiner Lösung?</p>
</blockquote>
<p>Ich sehe wirklich keinen geringeren Aufwand sonst würde ich deine Version empfehlen und nicht meine. <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="🙂"
    /><br />
In deiner Aussage steckt ein Logikfehler. Egal.. darauf geh ich weiter unten ein..</p>
<p>Hepi schrieb:</p>
<blockquote>
<p>Wobei ich ja nichtmal darauf rumreiten würde, wenn Du nicht deine &quot;ich habe gepostet, thread muß zu, es braucht keine weitere Lösung mehr&quot; Attitüde rausgeholt hättest. Das war unnötig!</p>
</blockquote>
<p>Ich sagte lediglich: &quot;Die von mir gepostete Lösung tut dasselbe und ist unabhängig von DLLs und Co.&quot; Die Stelle mit dem &quot;Thread muss zu&quot; finden wir nicht. Hilf uns bitte!</p>
<p>Hepi schrieb:</p>
<blockquote>
<p>Der nötige Code, um die DLL einzubinden, gestaltet sich für den Programmierer wie folgt:</p>
<pre><code class="language-cpp">#include &lt;shlwapi.h&gt;

#pragma comment(lib, &quot;shlwapi.lib&quot;) //bei Verwendung des Visual Studios
</code></pre>
</blockquote>
<p>Einspruch: Das mag für die VisualStudio nutzer gelten und das sind die wenigsten im WINAPI-Forum. Ich habe es nie benutzt denn ich habe nicht das Geld dazu als Schüler. Und der Frager stellte eine Frage, die ein professioneller Coder der das beruflich tut ehh nicht stellen würde. Demnach hat auch er nicht das Geld für ne teure IDE und nutzt höchstwahrschneinlich wie ich den BCC 5.5.<br />
Die Handhabund der DLL bei dynamischem EInbinden sieht bei mir so aus:</p>
<pre><code class="language-cpp">bool meineFunktion()
{
    HMODULE hDLL; 
    DLLFUNCTION1PROC dllf = NULL; //muss auhc noch separat definiert werden

    hDLL = LoadLibrary(&quot;DLLNAME.DLL&quot;); 
    if (hDLL == NULL) { 
        return false; 
    } 
    dllf = (DLLFUNCTION1PROC)GetProcAddress(hDLL, TEXT(&quot;NameDerFunktion&quot;)); 
    if (dllf == NULL) { 
        return false; 
    } 

	DWORD fff;
    if((dllf(&amp;fff, NULL)))
		{
		FreeLibrary(hDLL); 
		return true;
		}
	FreeLibrary(hDLL); 
	return false;
}
</code></pre>
<p>Das ist doch etwas mehr. <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>[quote=&quot;Hepi&quot;]<br />
Ich kann Dir allerdings versichern, das ich schon DLLs in Programme eingebunden habe, als Du noch nichtmal in der Lage warst, einen Computer einzuschalten.</p>
<blockquote>
<p>Versichern solltest du nicht so viel. Immer unverbindlich bleiben! <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="😉"
    /><br />
Bin 17 und beschäftige mich er st seit 3 Jahren mit Computern. Wenn du viel älter bist ist das möglich.</p>
<p>[quote=&quot;Hepi&quot;]<br />
Ich kenne den Programmieraufwand, und genau deshalb präsentiere ich dem Fragesteller lieber eine Funktion mit einer einzigen Zeile anstatt mir erst mühsam eine halbgewalkte Lösung auszudenken und sie dann mit seinen 15 Zeilen Code zu präsentieren (das ist dann nämlich noch mehr Aufwand für den Programmierer, alleine schon die Tipparbeit).</p>
</blockquote>
<p>Es ist keine Tipparbeit nötig. Ich kann dir über ICQ die Funktionsweise von Copy/Paste gerne erklären! (ICQ: 213428403) Bei mir kann die Funktion sofort genutzt werde deine Lösung erfordert noch die DLL-Einbindung. Eine DLL enthält unzählige Funktionen. Man bindet für so eine winzige 0815-Funktion die man selbst soo einfach zusammenbekommt keine DLL ein. (es sei denn man möchte auch andere Funktionen aus der DLL nutzen) Wer für jeden Kleinkram ne DLL einbindet arbeitet meiner Meinung nach relativ ineffizient --&gt; unprofessionell.</p>
<p>Hepi schrieb:</p>
<blockquote>
<p>Willst Du ernsthaft behaupten, das Lösung ausdenken, 15 Zeilen schreiben, testen usw. <strong>weniger</strong> Aufwand ist als 1 WinAPI-Funktionsaufruf einzutippen?</p>
</blockquote>
<p>In der Tat. 15 Zeilen müssen nicht abgetippt werden sondern dein Stichwort heißt 'Copy/Past'. Die Funktion wird von mir in 2 Programmen seit Monaten erfolgreich eingesetzt und da gibt es absolut nichts zu testen. Bei mir muss man nur die Funktion einkopieren und kann sofort den funktionsaufruf ausführen. Bei dir muss erst die DLL eingebunden werden und anschließend die Funktion aufgerufen und dann die DLL wieder ausgebunden werden. Oder man lässt die DLL im Speicher und verschwendet ihn --&gt; ineffiziente Speichernutzung --&gt; unprofessionell.</p>
<p>Hepi schrieb:</p>
<blockquote>
<p>Und weniger Rechenaufwand sehe ich bei Deiner Lösung auch keinen.</p>
</blockquote>
<p>Das nehme ich dir ab.</p>
<p>Hmmm... schon amüsant mit dir darüber zu diskutieren. Ich bin davon überzeugt, dass ich Recht habe. Die Sache kann man aus drei Perspektiven sehen. Aus meiner, aus deiner und aus der objektiven. Aus der obejktiven ist unsere Diskussion wahrscheinlich ein Anlass zum Schmunzeln. Mögen die Mods mir vergeben aber ich musste antworten ;~)</p>
<p>Mit freunldlichem Gruß.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/718918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718918</guid><dc:creator><![CDATA[Tolga]]></dc:creator><pubDate>Wed, 09 Feb 2005 17:45:45 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Wed, 09 Feb 2005 17:51:48 GMT]]></title><description><![CDATA[<p>Tolga schrieb:</p>
<blockquote>
<p>Aus der obejktiven ist unsere Diskussion wahrscheinlich ein Anlass zum Schmunzeln.</p>
</blockquote>
<p>richtig <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/718924</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718924</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Wed, 09 Feb 2005 17:51:48 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Wed, 09 Feb 2005 18:18:37 GMT]]></title><description><![CDATA[<p>hört endlich auf <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/718944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/718944</guid><dc:creator><![CDATA[*heul*]]></dc:creator><pubDate>Wed, 09 Feb 2005 18:18:37 GMT</pubDate></item><item><title><![CDATA[Reply to Den reinen Dateinamen herausbekommen ? on Wed, 09 Feb 2005 19:18:53 GMT]]></title><description><![CDATA[<p>ich findet die lösung von 0xdeadbeef im thread <a href="http://www.c-plusplus.net/forum/viewtopic.php?t=100720" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic.php?t=100720</a> am besten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/719004</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/719004</guid><dc:creator><![CDATA[*freu*]]></dc:creator><pubDate>Wed, 09 Feb 2005 19:18:53 GMT</pubDate></item></channel></rss>