<?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[Treiberversion auslesen?]]></title><description><![CDATA[<p>Hi,</p>
<p>weiss jemand, wie man die Treiberversion, so wie sie im Gerätemanager steht, ausliest? Treiberhersteller, Treiberdatum und Signaturgeber wären ebenfalls interessant.</p>
<p>Bisher benutze ich EnumServicesStatus() zusammen mit QueryServiceConfig(), allerdings sind da diese Informationen nicht enthalten.</p>
<p>MfG Hotblack</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/67014/treiberversion-auslesen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 08 Apr 2026 05:02:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/67014.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 04 Mar 2004 18:58:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Treiberversion auslesen? on Thu, 04 Mar 2004 18:58:07 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>weiss jemand, wie man die Treiberversion, so wie sie im Gerätemanager steht, ausliest? Treiberhersteller, Treiberdatum und Signaturgeber wären ebenfalls interessant.</p>
<p>Bisher benutze ich EnumServicesStatus() zusammen mit QueryServiceConfig(), allerdings sind da diese Informationen nicht enthalten.</p>
<p>MfG Hotblack</p>
]]></description><link>https://www.c-plusplus.net/forum/post/473265</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/473265</guid><dc:creator><![CDATA[Hotblack Desiato]]></dc:creator><pubDate>Thu, 04 Mar 2004 18:58:07 GMT</pubDate></item><item><title><![CDATA[Reply to Treiberversion auslesen? on Fri, 05 Mar 2004 13:24:40 GMT]]></title><description><![CDATA[<p>sooo ich hab dann doch nochmal nachgesehen (sorry wegen dem doppelpost (war ein wenig spät in der nacht glaub (oder ich hab was getrunken, kA mehr))) <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 />
auf jeden fall, schau mal:</p>
<blockquote>
<p>The GetFileVersionInfo function retrieves version information for the specified file.</p>
<p>Syntax</p>
<p>BOOL GetFileVersionInfo( LPTSTR lptstrFilename,<br />
DWORD dwHandle,<br />
DWORD dwLen,<br />
LPVOID lpData<br />
);</p>
</blockquote>
<p>und/oder</p>
<blockquote>
<p>VerQueryValue Function</p>
<p>--------------------------------------------------------------------------------</p>
<p>The VerQueryValue function retrieves specified version information from the specified version-information resource. To retrieve the appropriate resource, before you call VerQueryValue, you must first call the GetFileVersionInfoSize function, and then the GetFileVersionInfo function.</p>
<p>Syntax</p>
<p>BOOL VerQueryValue( const LPVOID pBlock,<br />
LPTSTR lpSubBlock,<br />
PUINT lplpBuffer,<br />
PUINT puLen<br />
);</p>
</blockquote>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/473711</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/473711</guid><dc:creator><![CDATA[ChrisK]]></dc:creator><pubDate>Fri, 05 Mar 2004 13:24:40 GMT</pubDate></item><item><title><![CDATA[Reply to Treiberversion auslesen? on Sat, 06 Mar 2004 12:48:07 GMT]]></title><description><![CDATA[<p>Danke, hatte mir schon gedacht, dass die als Ressource eingebunden sind, konnte aber keine Infos darüber finden. <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>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/474435</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/474435</guid><dc:creator><![CDATA[Hotblack Desiato]]></dc:creator><pubDate>Sat, 06 Mar 2004 12:48:07 GMT</pubDate></item><item><title><![CDATA[Reply to Treiberversion auslesen? on Sat, 06 Mar 2004 14:10:14 GMT]]></title><description><![CDATA[<p>Hi nochmal <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 />
Weißt Du eigentlich, wie man an einen Treiber rankommt? Also steht ein Wert (Pfad?) in der Registry? Bzw., welche Extension haben Treiberdateien? *.???</p>
<p>Thanks</p>
]]></description><link>https://www.c-plusplus.net/forum/post/474467</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/474467</guid><dc:creator><![CDATA[ChrisK]]></dc:creator><pubDate>Sat, 06 Mar 2004 14:10:14 GMT</pubDate></item><item><title><![CDATA[Reply to Treiberversion auslesen? on Sun, 07 Mar 2004 11:15:38 GMT]]></title><description><![CDATA[<p>Du kannst mittels EnumServicesStatus und QueryServiceConfig eine QUERY_SERVICE_CONFIG Struktur füllen, in der auch der binary name des Treibers enthalten ist. Wie sich das ganze verhält, wenn zu dem Treiber mehrere Dateien gehören, kann ich dir jetzt auch nicht sagen. <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=":confused:"
      alt="😕"
    /></p>
<p>Gruß</p>
<pre><code class="language-cpp">SC_HANDLE scman = OpenSCManager(NULL,NULL,SC_MANAGER_ENUMERATE_SERVICE);
	if (scman) {
		ENUM_SERVICE_STATUS service, *lpservice;
		BOOL rc;
		DWORD bytesNeeded,servicesReturned,resumeHandle = 0;
		rc = EnumServicesStatus(scman,SERVICE_DRIVER,SERVICE_STATE_ALL,&amp;service,sizeof(service),
									&amp;bytesNeeded,&amp;servicesReturned,&amp;resumeHandle);
		if ((rc == FALSE) &amp;&amp; (GetLastError() == ERROR_MORE_DATA)) {
			DWORD bytes = bytesNeeded + sizeof(ENUM_SERVICE_STATUS);
			lpservice = new ENUM_SERVICE_STATUS [bytes];
			EnumServicesStatus(scman,SERVICE_DRIVER,SERVICE_STATE_ALL,lpservice,bytes,
									&amp;bytesNeeded,&amp;servicesReturned,&amp;resumeHandle);

			TCHAR Buffer[1024];         // Should be enough for service info
			QUERY_SERVICE_CONFIG *lpqch = (QUERY_SERVICE_CONFIG*)Buffer;
			for (DWORD ndx = 0; ndx &lt; servicesReturned; ndx++) {						
				SC_HANDLE sh = OpenService(scman,lpservice[ndx].lpServiceName,SERVICE_QUERY_CONFIG);
				if (QueryServiceConfig(sh,lpqch,sizeof(Buffer),&amp;bytesNeeded)) {
						CString strPath = lpqch-&gt;lpBinaryPathName;
				}			
				CloseServiceHandle(sh);

			} // foreach service
			delete [] lpservice;
		}
		CloseServiceHandle(scman);
	}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/474877</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/474877</guid><dc:creator><![CDATA[Hotblack Desiato]]></dc:creator><pubDate>Sun, 07 Mar 2004 11:15:38 GMT</pubDate></item></channel></rss>