<?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[Verknüpfungsdatei (lnk-File) erzeugen]]></title><description><![CDATA[<p>Hi Leute,<br />
weiß einer, wie ich in C++ (MFC) eine Verknüpfungsdatei (lnk-File) erzeugen kann?<br />
Es würde mir auch schon nützen, wenn ich die Struktur einer solchen Datei wüßte.<br />
Dank im Vorraus<br />
peseif</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/84514/verknüpfungsdatei-lnk-file-erzeugen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Apr 2026 14:35:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/84514.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 31 Aug 2004 07:59:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verknüpfungsdatei (lnk-File) erzeugen on Tue, 31 Aug 2004 07:59:34 GMT]]></title><description><![CDATA[<p>Hi Leute,<br />
weiß einer, wie ich in C++ (MFC) eine Verknüpfungsdatei (lnk-File) erzeugen kann?<br />
Es würde mir auch schon nützen, wenn ich die Struktur einer solchen Datei wüßte.<br />
Dank im Vorraus<br />
peseif</p>
]]></description><link>https://www.c-plusplus.net/forum/post/595784</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/595784</guid><dc:creator><![CDATA[peseif]]></dc:creator><pubDate>Tue, 31 Aug 2004 07:59:34 GMT</pubDate></item><item><title><![CDATA[Reply to Verknüpfungsdatei (lnk-File) erzeugen on Tue, 31 Aug 2004 08:04:14 GMT]]></title><description><![CDATA[<p>Hier der Auschschnitcode aus der Klasse die ich dafür nutze:</p>
<pre><code class="language-cpp">BOOL CShortcut::CreateShortCut(CString LnkTarget, CString LnkName, UINT SpecialFolder, CString LnkDescription, CString IconLocation, UINT IconIndex)
{
HRESULT hr;
CFile cfFull;
CString sExePath, sExe, sSpecialFolder;

	char *chTmp = sExePath.GetBuffer(MAX_PATH);

	GetModuleFileName(NULL, chTmp, MAX_PATH);

		sExePath.ReleaseBuffer();

// Find the Special Folder:
	if(!GetSpecialFolder(SpecialFolder, sSpecialFolder))
			return FALSE;

	sSpecialFolder += LnkName + &quot;.&quot; + &quot;lnk&quot;;

		if(LnkTarget == &quot;_this&quot;)	
			{
				cfFull.SetFilePath(sExePath);
				sExe = cfFull.GetFileName();
				sExe.Delete(sExe.Find(&quot;.&quot;) + 1, 3);
			}
		else
			{
				sExePath = LnkTarget;
			}

// Create the ShortCut:
	CoInitialize(NULL);
    BOOL bRet = FALSE;
    IShellLink* psl;

    if (SUCCEEDED( CoCreateInstance(CLSID_ShellLink,
									NULL,
									CLSCTX_INPROC_SERVER,
									IID_IShellLink,
									(LPVOID*) &amp;psl)))
    {
        IPersistFile* ppf;
		// 
        psl-&gt;SetPath(sExePath);
        psl-&gt;SetDescription(LnkDescription);

		if(!m_sCmdArg.IsEmpty())
			psl-&gt;SetArguments(m_sCmdArg);

        if (SUCCEEDED(psl-&gt;QueryInterface(IID_IPersistFile, (LPVOID *)&amp;ppf)))
			{
	            WORD wsz[MAX_PATH];

		        MultiByteToWideChar(CP_ACP,
			                        MB_PRECOMPOSED,
				                    sSpecialFolder,
					                -1,
						            wsz,
							        MAX_PATH);

				/* Call IShellLink::SetIconLocation with the file containing
									the icon and the index of the icon */
				if(!IconLocation.IsEmpty())
					{
						hr = psl-&gt;SetIconLocation(IconLocation, IconIndex);	
							#ifdef _DEBUG
								if(FAILED(hr))
									TRACE(&quot;IconLocation not changed!\n&quot;);
							#endif
					}

				if(SUCCEEDED(ppf-&gt;Save(wsz, TRUE)))
					{
						bRet = TRUE;
					}

		        ppf-&gt;Release();
			}
        psl-&gt;Release();
    } 

		if(bRet)
			{
				TRACE(&quot;Lnk Written!\n&quot;);
			}
		else
			{
				TRACE(&quot;Lnk NOT Written! CreateShortCut(...) failed!\n&quot;);
			}
return bRet;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/595787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/595787</guid><dc:creator><![CDATA[C-O-M-M-A-N-D-E-R]]></dc:creator><pubDate>Tue, 31 Aug 2004 08:04:14 GMT</pubDate></item><item><title><![CDATA[Reply to Verknüpfungsdatei (lnk-File) erzeugen on Tue, 31 Aug 2004 08:06:02 GMT]]></title><description><![CDATA[<p>Wenn es das ganze nochmal in leicht verdaulich geben würde, wär ich glücklich - denn mich interessiert, wie ich auslese, auf was verwiesen wird. <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/595789</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/595789</guid><dc:creator><![CDATA[estartu]]></dc:creator><pubDate>Tue, 31 Aug 2004 08:06:02 GMT</pubDate></item><item><title><![CDATA[Reply to Verknüpfungsdatei (lnk-File) erzeugen on Tue, 31 Aug 2004 08:07:17 GMT]]></title><description><![CDATA[<p>Wenns hilft: <a href="http://www.codeproject.com/shell/CShortcut.asp" rel="nofollow">http://www.codeproject.com/shell/CShortcut.asp</a> &lt;&lt;-- das ist die klasse</p>
]]></description><link>https://www.c-plusplus.net/forum/post/595791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/595791</guid><dc:creator><![CDATA[C-O-M-M-A-N-D-E-R]]></dc:creator><pubDate>Tue, 31 Aug 2004 08:07:17 GMT</pubDate></item></channel></rss>