<?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[Borland Code konvertieren:]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>ich möchte die Serial der CPU auslesen und habe diesen Code gefunden:</p>
<pre><code class="language-cpp">// Pentium III serial detection
// Console mode Win32 program which uses VCL
// Borland C++Builder 4 and 5 PRO
// Hens Zimmerman, &lt;hens@gmx.net&gt;

// Suppress W8002 (Restarting compile using assembly)
 #pragma option -w-asc

// Enable streaming operators for AnsiString
#define VCL_IOSTREAM

#include &lt;vcl.h&gt;
#pragma hdrstop

#include &lt;iostream&gt;

int main(){
  unsigned long FeatureFlags;
  unsigned long SerialMostSignificantBits;
  unsigned long SerialMiddleSignificantBits;
  unsigned long SerialLeastSignificantBits;

  asm mov eax, 1;

  // Hardcoded CPUID instruction
  __emit__(0x0f);
  __emit__(0xa2);

  __asm{
    mov FeatureFlags, edx
    mov SerialMostSignificantBits, eax
    mov eax, 3
  }

  // Hardcoded CPUID instruction
  __emit__(0x0f);
  __emit__(0xa2);

  __asm{
    mov SerialMiddleSignificantBits, edx
    mov SerialLeastSignificantBits, ecx
  }

  // Is serial number enabled?
  bool SerialEnabled = (FeatureFlags &amp; 0x40000);

  if(SerialEnabled){
    AnsiString Information;
    Information.sprintf(
      &quot;Feature flags: %X\nSerial: %.08X%.08X%.08X&quot;,
      FeatureFlags,
      SerialMostSignificantBits,
      SerialMiddleSignificantBits,
      SerialLeastSignificantBits
    );
    std::cout &lt;&lt; Information &lt;&lt; std::endl;
  }
  else
    std::cout &lt;&lt; &quot;Serial number not available&quot; &lt;&lt; std::endl;
  return 0;
}
</code></pre>
<p>Der ist leider für Borland geschieben. Teilweise ist der ASM Code in die Makros gekapselt. Teilweise nicht: Was ist das für Code? Wenn ich ihn auch __ASM{} kapsele gibt es Fehler. Hat das mit dem ASM-Pragma zu tun?</p>
<p>Vielen Dank</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/178334/borland-code-konvertieren</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Apr 2026 09:00:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/178334.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 10 Apr 2007 13:13:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Borland Code konvertieren: on Tue, 10 Apr 2007 13:13:01 GMT]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>ich möchte die Serial der CPU auslesen und habe diesen Code gefunden:</p>
<pre><code class="language-cpp">// Pentium III serial detection
// Console mode Win32 program which uses VCL
// Borland C++Builder 4 and 5 PRO
// Hens Zimmerman, &lt;hens@gmx.net&gt;

// Suppress W8002 (Restarting compile using assembly)
 #pragma option -w-asc

// Enable streaming operators for AnsiString
#define VCL_IOSTREAM

#include &lt;vcl.h&gt;
#pragma hdrstop

#include &lt;iostream&gt;

int main(){
  unsigned long FeatureFlags;
  unsigned long SerialMostSignificantBits;
  unsigned long SerialMiddleSignificantBits;
  unsigned long SerialLeastSignificantBits;

  asm mov eax, 1;

  // Hardcoded CPUID instruction
  __emit__(0x0f);
  __emit__(0xa2);

  __asm{
    mov FeatureFlags, edx
    mov SerialMostSignificantBits, eax
    mov eax, 3
  }

  // Hardcoded CPUID instruction
  __emit__(0x0f);
  __emit__(0xa2);

  __asm{
    mov SerialMiddleSignificantBits, edx
    mov SerialLeastSignificantBits, ecx
  }

  // Is serial number enabled?
  bool SerialEnabled = (FeatureFlags &amp; 0x40000);

  if(SerialEnabled){
    AnsiString Information;
    Information.sprintf(
      &quot;Feature flags: %X\nSerial: %.08X%.08X%.08X&quot;,
      FeatureFlags,
      SerialMostSignificantBits,
      SerialMiddleSignificantBits,
      SerialLeastSignificantBits
    );
    std::cout &lt;&lt; Information &lt;&lt; std::endl;
  }
  else
    std::cout &lt;&lt; &quot;Serial number not available&quot; &lt;&lt; std::endl;
  return 0;
}
</code></pre>
<p>Der ist leider für Borland geschieben. Teilweise ist der ASM Code in die Makros gekapselt. Teilweise nicht: Was ist das für Code? Wenn ich ihn auch __ASM{} kapsele gibt es Fehler. Hat das mit dem ASM-Pragma zu tun?</p>
<p>Vielen Dank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262979</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262979</guid><dc:creator><![CDATA[ZubX]]></dc:creator><pubDate>Tue, 10 Apr 2007 13:13:01 GMT</pubDate></item><item><title><![CDATA[Reply to Borland Code konvertieren: on Tue, 10 Apr 2007 16:22:05 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int main(){ 
	unsigned long FeatureFlags; 
	unsigned long SerialMostSignificantBits; 
	unsigned long SerialMiddleSignificantBits; 
	unsigned long SerialLeastSignificantBits; 

	// Hardcoded CPUID instruction 
	__asm{ 
		mov eax, 1; 
		cpuid 

		mov FeatureFlags, edx 
			mov SerialMostSignificantBits, eax 
			mov eax, 3 
		cpuid
		mov SerialMiddleSignificantBits, edx 
		mov SerialLeastSignificantBits, ecx 
	} 

	// Is serial number enabled? 
	bool SerialEnabled = (FeatureFlags &amp; 0x40000)!=0; 

	if(SerialEnabled){ 
		char szInformation[128]; 
		sprintf(szInformation, 
			&quot;Feature flags: %X\nSerial: %.08X%.08X%.08X&quot;, 
			FeatureFlags, 
			SerialMostSignificantBits, 
			SerialMiddleSignificantBits, 
			SerialLeastSignificantBits 
			); 
		std::cout &lt;&lt; szInformation &lt;&lt; std::endl; 
	} 
	else 
		std::cout &lt;&lt; &quot;Serial number not available&quot; &lt;&lt; std::endl; 
	return 0; 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1263143</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263143</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 10 Apr 2007 16:22:05 GMT</pubDate></item><item><title><![CDATA[Reply to Borland Code konvertieren: on Tue, 10 Apr 2007 16:42:42 GMT]]></title><description><![CDATA[<p>Laut WMI hat mein Pentium4 eine CPU ID. Der obige Code sagt das es keine gibt. Muß ich Adminrechte haben um den Code benutzen zu können? (Funktioniert es bei Dir?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1263164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263164</guid><dc:creator><![CDATA[ZubX]]></dc:creator><pubDate>Tue, 10 Apr 2007 16:42:42 GMT</pubDate></item><item><title><![CDATA[Reply to Borland Code konvertieren: on Tue, 10 Apr 2007 17:37:48 GMT]]></title><description><![CDATA[<p>Es gibt BIOS Versionen, bei denen diese Funktion gar nicht eingeschaltet werden kann!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1263197</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263197</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 10 Apr 2007 17:37:48 GMT</pubDate></item><item><title><![CDATA[Reply to Borland Code konvertieren: on Wed, 11 Apr 2007 10:34:17 GMT]]></title><description><![CDATA[<p>Funktioniert der Code bei jemand?<br />
Hier ist ein C# Projekt von <a href="http://www.codeproject.com" rel="nofollow">www.codeproject.com</a> wo man die ID über WMI herausbekommt:<br />
<a href="http://www.codeproject.com/vbscript/VvvHardwareInfo.asp" rel="nofollow">http://www.codeproject.com/vbscript/VvvHardwareInfo.asp</a><br />
Die index.hta starten, dann Menu Processor -&gt; ProcessorID.<br />
Ist es die gleiche ID?</p>
<p>Meine ID ist: BFEBFBFF00000F29<br />
Wenn ich mit der im Internet nachschaue scheint diese ID mehr den Prozessortyp zu identifizieren als meine CPU im Speziellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1263694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263694</guid><dc:creator><![CDATA[ZubX]]></dc:creator><pubDate>Wed, 11 Apr 2007 10:34:17 GMT</pubDate></item><item><title><![CDATA[Reply to Borland Code konvertieren: on Wed, 11 Apr 2007 11:00:32 GMT]]></title><description><![CDATA[<p>Die Seriennummer scheint es gar nicht mehr zu geben. Intel will keine Prozessoren mehr mit Serial ausliefern. Zdnet Meldung von 2000:<br />
<a href="http://www.zdnet.de/news/hardware/0,39023109,2051644,00.htm" rel="nofollow">http://www.zdnet.de/news/hardware/0,39023109,2051644,00.htm</a></p>
<blockquote>
<p>Intel wird in Zukunft darauf verzichten, seine Prozessoren mit einer Identifikationsnummer auszustatten. &quot;Wir haben diese Entscheidung Anfang des Jahres getroffen,&quot; sagte Intel-Sprecher George Alfs.</p>
</blockquote>
<p>Dann hat sich die Sache erledigt. Trotzdem vielen Dank Martin <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/1263718</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1263718</guid><dc:creator><![CDATA[ZubX]]></dc:creator><pubDate>Wed, 11 Apr 2007 11:00:32 GMT</pubDate></item></channel></rss>