gigo30
asked on
Win 95: get bios version, video card info, more
How do I get the following information on a Windows 95 machine?
-------------------------- ---------- ---------- ---------- ---------- ----
- CPU Info:
Pentium(r) II Processor
Intel MMX(TM) Technology
GenuineIntel
-------------------------- ---------- ---------- ---------- ---------- ----
- Bios info:
Bios Date:
Bios Manufacturer:
Bios Version:
-------------------------- ---------- ---------- ---------- ---------- ----
- Video card info:
Manufacturer: ATI Tech. - EnhancedChip version: 6.10-CD80-1C
Driver Date: 3-18-1999
Driver Desc: Rage IIC AGP (English)
Current display resolution: 800 x 600
Current number of colors: 64K
DirectX Version: 4.06.00.0318
Windows 98 has much of this information in the registry, but Win 95 does not.
I'm making a configuration program which will display this info. A beta copy (which works only with Win 98) is at http://www.crosswinds.net/~robertsc/ .
--------------------------
- CPU Info:
Pentium(r) II Processor
Intel MMX(TM) Technology
GenuineIntel
--------------------------
- Bios info:
Bios Date:
Bios Manufacturer:
Bios Version:
--------------------------
- Video card info:
Manufacturer: ATI Tech. - EnhancedChip version: 6.10-CD80-1C
Driver Date: 3-18-1999
Driver Desc: Rage IIC AGP (English)
Current display resolution: 800 x 600
Current number of colors: 64K
DirectX Version: 4.06.00.0318
Windows 98 has much of this information in the registry, but Win 95 does not.
I'm making a configuration program which will display this info. A beta copy (which works only with Win 98) is at http://www.crosswinds.net/~robertsc/ .
time to start searching thru the registry! =)
sorry didnt read your last comment. i havent used 95 in awhile...if its not included in the registry i think you will be out of luck (especially the details)
ASKER
I did a search through all of the Win 95 registry and didn't find anything with "bios" in it.
Hi
for w98:
HKEY_LOCAL_MACHINE\Enum\Ro ot\*PNP0C0 1\0000\Bio sDate
HKEY_LOCAL_MACHINE\Enum\Ro ot\*PNP0C0 1\0000\Bio sName
HKEY_LOCAL_MACHINE\Enum\Ro ot\*PNP0C0 1\0000\Bio sVersion
Check if this keys are in w95
Cheers
for w98:
HKEY_LOCAL_MACHINE\Enum\Ro
HKEY_LOCAL_MACHINE\Enum\Ro
HKEY_LOCAL_MACHINE\Enum\Ro
Check if this keys are in w95
Cheers
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Also, take a look at these addresses:
from &HFEC71 to &HFEC91 - full bios string, which appear in the bottom of screen during boot.
Cheers
from &HFEC71 to &HFEC91 - full bios string, which appear in the bottom of screen during boot.
Cheers
Also:
How to receive full BIOS mem dump in file:
Private Sub SaveMemToFile(StartAddr As Long, EndAddr As Long, FileName As String)
Dim p As Byte, MemAddr As Long, sBios As String
Dim f As Integer
f = FreeFile
Open FileName For Binary As f
For MemAddr = StartAddr To EndAddr
Call GetMem1(MemAddr + i, p)
Put f, MemAddr - StartAddr + 1, p
Next MemAddr
Close f
End Sub
'Using:
Private Sub Command2_Click()
SaveMemToFile &HF0000, &HFFFFF, "c:\tmp"
End Sub
Then look through this file in hex format and find any addresses you need.
This file contain ALL BIOS data.
'Don't start this code from NT/2000 - it couse GPF
Cheers
How to receive full BIOS mem dump in file:
Private Sub SaveMemToFile(StartAddr As Long, EndAddr As Long, FileName As String)
Dim p As Byte, MemAddr As Long, sBios As String
Dim f As Integer
f = FreeFile
Open FileName For Binary As f
For MemAddr = StartAddr To EndAddr
Call GetMem1(MemAddr + i, p)
Put f, MemAddr - StartAddr + 1, p
Next MemAddr
Close f
End Sub
'Using:
Private Sub Command2_Click()
SaveMemToFile &HF0000, &HFFFFF, "c:\tmp"
End Sub
Then look through this file in hex format and find any addresses you need.
This file contain ALL BIOS data.
'Don't start this code from NT/2000 - it couse GPF
Cheers
Hi
&H90000-&H9FFFF - most win settings (locales, fonts, date/time etc)
&HC0000-&HCFFFF - video and mouse settings (video info is at the beginning)
For processor info there is some API functions. Take a look at http://www.mvps.org/vbnet/code/system/getsysteminfo.htm
Cheers
&H90000-&H9FFFF - most win settings (locales, fonts, date/time etc)
&HC0000-&HCFFFF - video and mouse settings (video info is at the beginning)
For processor info there is some API functions. Take a look at http://www.mvps.org/vbnet/code/system/getsysteminfo.htm
Cheers
ASKER
Comment accepted as answer
ASKER
Thanks a bunch! I also need the video info for win 95 and didn't know where in memory to get it. Now I'll try it.
ASKER
Doh! Is this going to work with VB4-32 bit?
ASKER
Can I use the msvbvm50.dll with VB4-32?
Yes, you can use this dll with vb4-32 - you need only 1 function. Butr check vb40032.dll for these functions (with QuickView). I can not check, but as far as I know there are such functions. Declaration:
Private Declare Sub GetMem1 Lib "vb40032.dll" (ByVal MemAddress As Long, var As Byte)
' or may be:
Private Declare Sub GetMem1 Lib "vb40032.dll" Alias "_GetMem1" (ByVal MemAddress As Long, var As Byte)
'I don't remember if function name start with _, if so, you need use Alias, because VB don't understand such names
Cheers
Private Declare Sub GetMem1 Lib "vb40032.dll" (ByVal MemAddress As Long, var As Byte)
' or may be:
Private Declare Sub GetMem1 Lib "vb40032.dll" Alias "_GetMem1" (ByVal MemAddress As Long, var As Byte)
'I don't remember if function name start with _, if so, you need use Alias, because VB don't understand such names
Cheers
ASKER
Ark, thanks for your help. DO you know where I can get a listing of memory addresses which contain information like Bios version, video chip type and version, etc?
Hi
I don't know exactly addresses. When I needed them I asked in russian newsgroup on assembler and got an answer about Award bios addresses which I show above. Try to search http://www.deja.com/usenet for bios memory address or video memory address. If you need I can help you with translation of russian messages.
Cheers
I don't know exactly addresses. When I needed them I asked in russian newsgroup on assembler and got an answer about Award bios addresses which I show above. Try to search http://www.deja.com/usenet for bios memory address or video memory address. If you need I can help you with translation of russian messages.
Cheers