<?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[problem mit shlwapi.h in C-File ...]]></title><description><![CDATA[<p>hallo,</p>
<p>ich habe da eine c++ dialogbasierte anwendung und hierzu einige c-dateien aus denen bestimmte funktionalitaeten fuer den dialog gebraucht werden.</p>
<p>in den c-files kommen system(...) aufrufe vor, die zur folge haben dass eine dos-box aufpoppt.<br />
ich wollte nun diese durch aufruf von ShellExecuteEx(..) ersetzen.<br />
Hierzu habe ich in dem betreffen c-file die header windows.h und shlwapi.h<br />
includiert.</p>
<p>allerdings meckert mein compiler dann bei folgendem code:</p>
<pre><code>// ...
SHELLEXECUTEINFO sei; 
ZeroMemory( &amp;sei, sizeof( sei ) ); 
sei.cbSize       = sizeof( sei ); 
sei.fMask        = SEE_MASK_NOCLOSEPROCESS; 
sei.lpFile       = LPCTSTR(msg); 
sei.lpParameters = NULL;
sei.lpDirectory  = NULL; 
sei.nShow        = SW_HIDE; 
// ...
</code></pre>
<p>sowas wie:<br />
t:\testmate1.5.2a\sourcen\merge_scp\vc\scp_merge.c(65) : error C2275: &quot;SHELLEXECUTEINFO&quot; : Ungültige Verwendung dieses Typs als Ausdruck<br />
c:\programme\microsoft visual studio\vc98\include\shellapi.h(429) : Siehe Deklaration von 'SHELLEXECUTEINFO'<br />
t:\testmate1.5.2a\sourcen\merge_scp\vc\scp_merge.c(65) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'sei'<br />
t:\testmate1.5.2a\sourcen\merge_scp\vc\scp_merge.c(65) : error C2065: 'sei' : nichtdeklarierter Bezeichner<br />
t:\testmate1.5.2a\sourcen\merge_scp\vc\scp_merge.c(67) : error C2224: Der linke Teil von '.cbSize' muss eine Struktur/Union sein<br />
t:\testmate1.5.2a\sourcen\merge_scp\vc\scp_merge.c(68) : error C2224: Der linke Teil von '.fMask' muss eine Struktur/Union sein<br />
t:\testmate1.5.2a\sourcen\merge_scp\vc\scp_merge.c(69) : error C2224: Der linke Teil von '.lpFile' muss eine Struktur/Union sein<br />
t:\testmate1.5.2a\sourcen\merge_scp\vc\scp_merge.c(69) : error C2063: 'LPCTSTR' : Keine Funktion<br />
t:\testmate1.5.2a\sourcen\merge_scp\vc\scp_merge.c(70) : error C2224: Der linke Teil von '.lpParameters' muss eine Struktur/Union sein<br />
t:\testmate1.5.2a\sourcen\merge_scp\vc\scp_merge.c(71) : error C2224: Der linke Teil von '.lpDirectory' muss eine Struktur/Union sein<br />
t:\testmate1.5.2a\sourcen\merge_scp\vc\scp_merge.c(72) : error C2224: Der linke Teil von '.nShow' muss eine Struktur/Union sein<br />
t:\testmate1.5.2a\sourcen\merge_scp\vc\scp_merge.c(74) : warning C4133: 'function' : Inkompatible Typen - von 'char *' zu 'struct HWND__ *'</p>
<p>etc.</p>
<p>es liegt jedoch kein syntax-fehler vor denke ich, zumal ich obigen code-schnippsel aus einem cpp-file uebernommen habe wo er funktionierte.<br />
ich denke es hat was mit headern zu tun!?</p>
<p>ein tipp waere sehr hilfreich,</p>
<p>vielen dank.<br />
gruss</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/77690/problem-mit-shlwapi-h-in-c-file</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Apr 2026 12:15:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/77690.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 23 Jun 2004 13:13:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to problem mit shlwapi.h in C-File ... on Wed, 23 Jun 2004 13:13:40 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>ich habe da eine c++ dialogbasierte anwendung und hierzu einige c-dateien aus denen bestimmte funktionalitaeten fuer den dialog gebraucht werden.</p>
<p>in den c-files kommen system(...) aufrufe vor, die zur folge haben dass eine dos-box aufpoppt.<br />
ich wollte nun diese durch aufruf von ShellExecuteEx(..) ersetzen.<br />
Hierzu habe ich in dem betreffen c-file die header windows.h und shlwapi.h<br />
includiert.</p>
<p>allerdings meckert mein compiler dann bei folgendem code:</p>
<pre><code>// ...
SHELLEXECUTEINFO sei; 
ZeroMemory( &amp;sei, sizeof( sei ) ); 
sei.cbSize       = sizeof( sei ); 
sei.fMask        = SEE_MASK_NOCLOSEPROCESS; 
sei.lpFile       = LPCTSTR(msg); 
sei.lpParameters = NULL;
sei.lpDirectory  = NULL; 
sei.nShow        = SW_HIDE; 
// ...
</code></pre>
<p>sowas wie:<br />
t:\testmate1.5.2a\sourcen\merge_scp\vc\scp_merge.c(65) : error C2275: &quot;SHELLEXECUTEINFO&quot; : Ungültige Verwendung dieses Typs als Ausdruck<br />
c:\programme\microsoft visual studio\vc98\include\shellapi.h(429) : Siehe Deklaration von 'SHELLEXECUTEINFO'<br />
t:\testmate1.5.2a\sourcen\merge_scp\vc\scp_merge.c(65) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'sei'<br />
t:\testmate1.5.2a\sourcen\merge_scp\vc\scp_merge.c(65) : error C2065: 'sei' : nichtdeklarierter Bezeichner<br />
t:\testmate1.5.2a\sourcen\merge_scp\vc\scp_merge.c(67) : error C2224: Der linke Teil von '.cbSize' muss eine Struktur/Union sein<br />
t:\testmate1.5.2a\sourcen\merge_scp\vc\scp_merge.c(68) : error C2224: Der linke Teil von '.fMask' muss eine Struktur/Union sein<br />
t:\testmate1.5.2a\sourcen\merge_scp\vc\scp_merge.c(69) : error C2224: Der linke Teil von '.lpFile' muss eine Struktur/Union sein<br />
t:\testmate1.5.2a\sourcen\merge_scp\vc\scp_merge.c(69) : error C2063: 'LPCTSTR' : Keine Funktion<br />
t:\testmate1.5.2a\sourcen\merge_scp\vc\scp_merge.c(70) : error C2224: Der linke Teil von '.lpParameters' muss eine Struktur/Union sein<br />
t:\testmate1.5.2a\sourcen\merge_scp\vc\scp_merge.c(71) : error C2224: Der linke Teil von '.lpDirectory' muss eine Struktur/Union sein<br />
t:\testmate1.5.2a\sourcen\merge_scp\vc\scp_merge.c(72) : error C2224: Der linke Teil von '.nShow' muss eine Struktur/Union sein<br />
t:\testmate1.5.2a\sourcen\merge_scp\vc\scp_merge.c(74) : warning C4133: 'function' : Inkompatible Typen - von 'char *' zu 'struct HWND__ *'</p>
<p>etc.</p>
<p>es liegt jedoch kein syntax-fehler vor denke ich, zumal ich obigen code-schnippsel aus einem cpp-file uebernommen habe wo er funktionierte.<br />
ich denke es hat was mit headern zu tun!?</p>
<p>ein tipp waere sehr hilfreich,</p>
<p>vielen dank.<br />
gruss</p>
]]></description><link>https://www.c-plusplus.net/forum/post/546465</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/546465</guid><dc:creator><![CDATA[peperonee]]></dc:creator><pubDate>Wed, 23 Jun 2004 13:13:40 GMT</pubDate></item></channel></rss>