Zum Inhalt springen

Systeminfo auslesen


inetsilver

Empfohlene Beiträge

  • 3 Wochen später...

Erst mal will ich nur sagen, daß ich gerade auf den anderen Thread posten wollte und als ich abschicken wollte, war der schon weggelöscht (DANKE!!! Alle Arbeit war umsonst ... grunz ... deshalb nochmal):

Übers Bios kommst Du nur an Hardware-Informationen. Wie man diese über Assembler oder C abfrägt habe ich hier mal angeschnitten: http://www.fachinformatiker-world.de/forums/showthread.php?s=&threadid=12478&highlight=int86 & http://www.fachinformatiker-world.de/forums/showthread.php?s=&threadid=12565&highlight=int86

Zusätzlich brauchst Du dafür allerdings noch die IRQ- & Port-Liste HelpPC ( http://www.faqs.org/faqs/assembly-language/x86/general/part1/section-6.html ) oder Die noch bessere (aber meiner Meinung nach etwas zu umfangreiche) Browns Interrupt-Liste: ( http://www.ctyme.com/rbrown.htm )

Ich habe kein Borland, aber die API liefert normal schon globale Methoden für Systeminformationen, welche halt bei Borland evtl. vom Namen etwas abweichen könnten. Nach Includes suchst Du am besten unter dem Stichwort (Win-)API oder in den unteren Abschnitten nach den .libs.

Das nachfolgende kopier ich, weil´s mir zuviel ist. Das GetSystemInfo füllt eine leere Systeminfo-Structure auf, welche Du weiter unten findest.

GetSystemInfo

The GetSystemInfo function returns information about the current system.

VOID GetSystemInfo(

LPSYSTEM_INFO lpSystemInfo // address of system information

// structure

);

Parameters

lpSystemInfo

Pointer to a SYSTEM_INFO structure to be filled in by this function.

Return Values

This function does not return a value.

QuickInfo

Windows NT: Requires version 3.1 or later.

Windows: Requires Windows 95 or later.

Windows CE: Requires version 1.0 or later.

Header: Declared in winbase.h.

Import Library: Use kernel32.lib.

System Information Functions

The following functions are used to retrieve or set system information.

ExpandEnvironmentStrings

GetComputerName

GetCurrentHwProfile

GetKeyboardType

GetSysColor

GetSystemDirectory

GetSystemInfo

GetSystemMetrics

GetUserName

GetVersionEx

GetWindowsDirectory

IsProcessorFeaturePresent

SetComputerName

SetSysColors

SystemParametersInfo

Obsolete Functions

GetVersion

System Information Structures

The following structures are used with system information.

ANIMATIONINFO

HW_PROFILE_INFO

MINIMIZEDMETRICS

NONCLIENTMETRICS

OSVERSIONINFO

OSVERSIONINFOEX

SYSTEM_INFO

SYSTEM_INFO

The SYSTEM_INFO structure contains information about the current computer system. This includes the architecture and type of the processor, the number of processors in the system, the page size, and other such information.

typedef struct _SYSTEM_INFO { // sinf

union {

DWORD dwOemId;

struct {

WORD wProcessorArchitecture;

WORD wReserved;

};

};

DWORD dwPageSize;

LPVOID lpMinimumApplicationAddress;

LPVOID lpMaximumApplicationAddress;

DWORD dwActiveProcessorMask;

DWORD dwNumberOfProcessors;

DWORD dwProcessorType;

DWORD dwAllocationGranularity;

WORD wProcessorLevel;

WORD wProcessorRevision;

} SYSTEM_INFO;

Members

dwOemId

An obsolete member that is retained for compatibility with previous versions of Windows NT. Beginning with Windows NT 3.51 and the initial release of Windows 95, use the wProcessorArchitecture branch of the union.

Windows 95: The system always sets this member to zero, the value defined for PROCESSOR_ARCHITECTURE_INTEL.

wProcessorArchitecture

Specifies the system's processor architecture. This value can be one of the following values: Value

PROCESSOR_ARCHITECTURE_INTEL

Windows NT: PROCESSOR_ARCHITECTURE_MIPS

Windows NT: PROCESSOR_ARCHITECTURE_ALPHA

Windows NT: PROCESSOR_ARCHITECTURE_PPC

Windows NT: PROCESSOR_ARCHITECTURE_UNKNOWN

wReserved

Reserved for future use.

dwPageSize

Specifies the page size and the granularity of page protection and commitment. This is the page size used by theVirtualAlloc function.

lpMinimumApplicationAddress

Pointer to the lowest memory address accessible to applications and dynamic-link libraries (DLLs).

lpMaximumApplicationAddress

Pointer to the highest memory address accessible to applications and DLLs.

dwActiveProcessorMask

Specifies a mask representing the set of processors configured into the system. Bit 0 is processor 0; bit 31 is processor 31.

dwNumberOfProcessors

Specifies the number of processors in the system.

dwProcessorType

Windows 95:

Specifies the type of processor in the system.

Windows NT:

This member is no longer relevant, but is retained for compatibility with Windows 95 and previous versions of Windows NT. Use the wProcessorArchitecture, wProcessorLevel, and wProcessorRevision members to determine the type of processor.

This member is one of the following values: Value

PROCESSOR_INTEL_386

PROCESSOR_INTEL_486

PROCESSOR_INTEL_PENTIUM

Windows NT: PROCESSOR_MIPS_R4000

Windows NT: PROCESSOR_ALPHA_21064

dwAllocationGranularity

Specifies the granularity with which virtual memory is allocated. For example, a VirtualAlloc request to allocate 1 byte will reserve an address space of dwAllocationGranularity bytes. This value was hard coded as 64K in the past, but other hardware architectures may require different values.

wProcessorLevel

Windows 95: This member is not used.

Windows NT: Specifies the system's architecture-dependent processor level.

If wProcessorArchitecture is PROCESSOR_ARCHITECTURE_INTEL, wProcessorLevel can be one of the following values: Value Meaning

3 Intel 80386

4 Intel 80486

5 Pentium

If wProcessorArchitecture is PROCESSOR_ARCHITECTURE_MIPS, wProcessorLevel is of the form 00xx, where xx is an 8-bit implementation number (bits 8-15 of the PRId register). The member can be the following value: Value Meaning

0004 MIPS R4000

If wProcessorArchitecture is PROCESSOR_ARCHITECTURE_ALPHA, wProcessorLevel is of the form xxxx, where xxxx is a 16-bit processor version number (the low-order 16 bits of a version number from the firmware). The member can be one of the following values: Decimal Value Meaning

21064 Alpha 21064

21066 Alpha 21066

21164 Alpha 21164

If wProcessorArchitecture is PROCESSOR_ARCHITECTURE_PPC, wProcessorLevel is of the form xxxx, where xxxx is a 16-bit processor version number (the high-order 16 bits of the Processor Version Register). The member can be one of the following values: Decimal Value Meaning

1 PPC 601

3 PPC 603

4 PPC 604

6 PPC 603+

9 PPC 604+

20 PPC 620

wProcessorRevision

Windows 95: This member is not used.

Windows NT: Specifies an architecture-dependent processor revision. The following table shows how the revision value is assembled for each type of processor architecture. Processor Architecture Value

Intel 80386 or 80486 A value of the form xxyz.

If xx is equal to 0xFF, y - 0xA is the model number, and z is the stepping identifier. For example, an Intel 80486-D0 system returns 0xFFD0.

If xx is not equal to 0xFF, xx + 'A' is the stepping letter and yz is the minor stepping.

Intel Pentium,

Cyrix, or

NextGen 586 A value of the form xxyy, where xx is the model number and yy is the stepping. For example, a value of 0x0201 indicates Model 2, Stepping 1.

MIPS A value of the form 00xx, where xx is the 8-bit revision number of the processor (the low-order 8 bits of the PRId register).

ALPHA A value of the form xxyy, where xxyy is the low-order 16 bits of the processor revision number from the firmware. Display this value as follows:

Model 'A'+xx, Pass yy

PPC A value of the form xxyy, where xxyy is the low-order 16 bits of the Processor Version Register. Display this value as a fixed point number:

xx.yy

Remarks

Beginning with Windows NT 3.51 and the initial release of Windows 95, the SYSTEM_INFO structure has changed as follows:

The dwOemId member has been changed to a union. The union supports a new way to describe processor architecture used by Windows NT, while maintaining compatibility with Windows 95 and previous versions of Windows NT.

The dwProcessorType member is now obsolete on Windows NT. It is still used on Windows 95.

A previously reserved DWORD member at the end of the structure has been replaced by the wProcessorLevel and wProcessorRevision members. Windows 95 does not use these members.

QuickInfo

Windows NT: Requires version 3.1 or later.

Windows: Requires Windows 95 or later.

Windows CE: Requires version 1.0 or later.

Header: Declared in winbase.h.

Link zu diesem Kommentar
Auf anderen Seiten teilen

wieso der andere weg ist, hab ich keine ahnung... ärgert mich auch.... hab nichts gemacht... danke... mal sehen ob ich es irgendwann hinkriege... ich bin echt so langsam am verzweifeln... ich hab doch niemals behauptet das ich programmieren kann... aber der ausbilder meint ja das ich es dann lernen muss... doofe schule hat mir da nicht ausreichend sachen beigebracht... bin doch erst im ersten lehrjahr

Link zu diesem Kommentar
Auf anderen Seiten teilen

Gast
Dieses Thema wurde nun für weitere Antworten gesperrt.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...