[Windows] Basic system information

Developed or developing a new product in PureBasic? Tell the world about it.
Little John
Addict
Addict
Posts: 4519
Joined: Thu Jun 07, 2007 3:25 pm
Location: Berlin, Germany

[Windows] Basic system information

Post by Little John »

Hi all,

I've written a small utility that provides some basic information about a computer (only for Windows systems).

On Windows, you normally have to open more than one dialog for getting basic information about your computer. Some information is not provided by the standard dialoges. Specialized diagnostic tools often run only with administrative privileges, and the user might be overwhelmed by many technical details, while maybe still not all desired information is provided.

In contrast, BSI is kept deliberately simple, it does not require administrative privileges and summarizes basic system information in one plain dialog. Additionally, it checks whether there is TeamViewer on the system, and thus reminds you that it could be helpful if that program would be available e.g. on a friend's computer, so that next time you can help him/her also remotely.

The program is portable, no installation required.

Image

Thanks to
  • Fantaisie Software for PureBasic, of course,
  • srod for the powerful COMAte plus library (used here for WMI queries),
  • davido for the beautiful (i) icon (part of the VectorIcons collection).
  • kvitaliy for the Russian translation.
Languages currently supported:
  • English
  • German
  • Russian
If you translate an existing .lng file to another language, please post it here or send it to me by mail.

I hope the program is useful for someone.
I'd appreciate any bug reports or suggestions for improvement (including corrections of my English texts by native speakers).

Download (version 1.09): https://luethje.eu/prog/bsi_109.zip
Last edited by Little John on Fri May 10, 2019 12:49 pm, edited 10 times in total.
Dude
Addict
Addict
Posts: 1907
Joined: Mon Feb 16, 2015 2:49 pm

Re: [Windows] Basic system information

Post by Dude »

Little John wrote:[*]srod for the powerful COMAte plus library (used here for WMI queries)
Maybe overkill? You can simply RunProgram() "wmic.exe" and parse its output to get WMI results.
Little John
Addict
Addict
Posts: 4519
Joined: Thu Jun 07, 2007 3:25 pm
Location: Berlin, Germany

Re: [Windows] Basic system information

Post by Little John »

Thanks for more than 120 views of this topic. :-)

However, I really would appreciate it if some people would download the program, and check whether it shows the expected results. The program does not leave any traces on your system!
I personally can test only on about half a dozen of computers. This is not much, so I actually need some help.
User avatar
Josh
Addict
Addict
Posts: 1183
Joined: Sat Feb 13, 2010 3:45 pm

Re: [Windows] Basic system information

Post by Josh »

Tested on Win7 x64. Shows what I expected.

Two little deficits:
- Display takes very long (approx. 10 sec)
- The hard disks C: D: are displayed very shifted. It just doesn't look nice.
sorry for my bad english
Dude
Addict
Addict
Posts: 1907
Joined: Mon Feb 16, 2015 2:49 pm

Re: [Windows] Basic system information

Post by Dude »

Little John wrote:I really would appreciate it if some people would download the program, and check whether it shows the expected results.
It took about 5 seconds on my PC, and here are my results (censored for privacy):

Image
User avatar
STARGÅTE
Addict
Addict
Posts: 2067
Joined: Thu Jan 10, 2008 1:30 pm
Location: Germany, Glienicke
Contact:

Re: [Windows] Basic system information

Post by STARGÅTE »

Tested on Win7 x64:

Takes also more than 10s for start up.
No DPI result ... and "To Be Filled By O.E.M." ??
I marked some strange results.
---------------------------
BasysInfo 1.00 beta 1 (x64)
---------------------------
(c) Jürgen Lüthje 2019

Computername: ARC

Computerhersteller: To Be Filled By O.E.M.
Computermodell: To Be Filled By O.E.M.
Computerversion: To Be Filled By O.E.M.

CPU: AMD Phenom(tm) II X4 955 Processor 64 bit
RAM: 4+4+4+4 GiB (max. 4x2 GiB)

Festplatten: C: 81,6 GiB frei (195,2 GiB gesamt)
Q: 206,7 GiB frei (931,5 GiB gesamt)
T: 1,4 TiB frei (2,7 TiB gesamt)
Optisches Laufwerk: DVD Writer

Windows 7 Home Premium 64 bit
Letzte Aktualisierung: 2019-02-23

Dieses Programm läuft in der Umgebung von Benutzer: M*** G***
Zugriffsstufe: Administrator

TeamViewer gefunden.
---------------------------
OK
---------------------------
Edit: DVD Writer is wrong, it is a BluRay writer.
Last edited by STARGÅTE on Sun Feb 24, 2019 1:45 pm, edited 1 time in total.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Lizard - Script language for symbolic calculations and moreTypeface - Sprite-based font include/module
RASHAD
PureBasic Expert
PureBasic Expert
Posts: 4635
Joined: Sun Apr 12, 2009 6:27 am

Re: [Windows] Basic system information

Post by RASHAD »

Hi LJ
You must have a good reason for your snippet

Code: Select all

log$ = GetHomeDirectory()+"log.txt"
RunProgram("cmd.exe", "/c systeminfo > "+log$, "", #PB_Program_Hide|#PB_Program_Wait)
RunProgram(log$)
Egypt my love
Little John
Addict
Addict
Posts: 4519
Joined: Thu Jun 07, 2007 3:25 pm
Location: Berlin, Germany

Re: [Windows] Basic system information

Post by Little John »

Hi Rashad,

don't worry. I'm aware of Window's "systeminfo" command.
However, if you compare its output with the output of my program, then you'll see that both are different.

Back to topic ...
Little John
Addict
Addict
Posts: 4519
Joined: Thu Jun 07, 2007 3:25 pm
Location: Berlin, Germany

Re: [Windows] Basic system information

Post by Little John »

Many thanks to all who tested the program.

I've just uploaded the beta 2 version, which is still as slow as before.
I'll try to make the program faster, as soon as I've got some free time for testing different possibilities.
@Dude:
If gathering the desired information with WMIC is faster, then I'll use that, of course.

I hoped that I had found a way for nicely indenting the results of the second, third etc. hard disk in the message box, but obviously that doesn't always work. I've changed the output format a bit now, and maybe in the future I better shouldn't use a messagebox for the output at all.

@Stargåte:
Your post is particularly interesting because of the problems. :-)

It seems you have more than 1 monitor installed at your PC.
Since I currently don't have code for detecting DPI of each monitor separately, the program only shows DPI information if it finds just 1 monitor. :|
STARGÅTE wrote:
Computerhersteller: To Be Filled By O.E.M.
Computermodell: To Be Filled By O.E.M.
Computerversion: To Be Filled By O.E.M.
I have encountered this before on another computer. Obviously, the O.E.M. has left those fields empty. :cry:

You should get the same result when running the following command in a console

Code: Select all

WMIC csproduct get vendor, name, version
STARGÅTE wrote:
RAM: 4+4+4+4 GiB (max. 4x2 GiB)
I hope this is fixed in the new version.

STARGÅTE wrote:
Optisches Laufwerk: DVD Writer
Does it read Blue-ray Writer now in the beta 2 version? :-)

Thanks again for all feedback!
User avatar
STARGÅTE
Addict
Addict
Posts: 2067
Joined: Thu Jan 10, 2008 1:30 pm
Location: Germany, Glienicke
Contact:

Re: [Windows] Basic system information

Post by STARGÅTE »

>> It seems you have more than 1 monitor installed at your PC.
Correct, I have three.

>> You should get the same result when running the following command in a console
Correct.

>> I hope this is fixed in the new version, so that it shows max. 4x4 GiB.
No sry, also in Beta 2 it shows 4x2 GiB

>> Does it read Blue-ray Writer now in the beta 2 version?
No sry, also in Beta 2 wrong. Windows reads: "DVD/CD-ROM" :oops: but but I can burn BluRays, sure!
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Lizard - Script language for symbolic calculations and moreTypeface - Sprite-based font include/module
Dude
Addict
Addict
Posts: 1907
Joined: Mon Feb 16, 2015 2:49 pm

Re: [Windows] Basic system information

Post by Dude »

Little John wrote:I hoped that I had found a way for nicely indenting the results of the second, third etc. hard disk in the message box, but obviously that doesn't always work.
You can use #TAB$ in MessageBox_() to align text.
Little John
Addict
Addict
Posts: 4519
Joined: Thu Jun 07, 2007 3:25 pm
Location: Berlin, Germany

Re: [Windows] Basic system information

Post by Little John »

Dude wrote:You can use #TAB$ in MessageBox_() to align text.
Yes, but the result doesn't look good here, because it contains too much white space. And it might look rather different on different systems.
STARGÅTE wrote:>> I hope this is fixed in the new version, so that it shows max. 4x4 GiB.
No sry, also in Beta 2 it shows 4x2 GiB

>> Does it read Blue-ray Writer now in the beta 2 version?
No sry, also in Beta 2 wrong. Windows reads: "DVD/CD-ROM" :oops: but but I can burn BluRays, sure!
Thanks for your reply!

For further investigation, could you please tell me the output of

Code: Select all

WMIC memphysical get MaxCapacity, MaxCapacityEx /format:list
and

Code: Select all

WMIC cdrom get Name, Caption, DeviceID, PNPDeviceID /format:list
on your system? That would be very helpful.

I should be able to fix the bug concerning the maximum memory capacity.

As for reliably telling Blu-ray writers apart from DVD writers, perhaps it might be necessary to resort to IMAPI, I don't know. As a workaround, my program could just display the name or caption of the optical drive(s) that it found. However, I would prefer to get the generic type.

Thanks again!
User avatar
STARGÅTE
Addict
Addict
Posts: 2067
Joined: Thu Jan 10, 2008 1:30 pm
Location: Germany, Glienicke
Contact:

Re: [Windows] Basic system information

Post by STARGÅTE »

Code: Select all

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\M*** G***>WMIC memphysical get MaxCapacity, MaxCapacityEx /format:list
Knoten - ARC
FEHLER:
Beschreibung = Die Anfrage ist ungültig.


C:\Users\M*** G***>WMIC cdrom get Name, Caption, DeviceID, PNPDeviceID /format:list


Caption=HL-DT-ST BD-RE  BH10LS38 ATA Device
DeviceID=IDE\CDROMHL-DT-ST_BD-RE__BH10LS38________________1.00____\5&930A464&0&1.0.0
Name=HL-DT-ST BD-RE  BH10LS38 ATA Device
PNPDeviceID=IDE\CDROMHL-DT-ST_BD-RE__BH10LS38________________1.00____\5&930A464&0&1.0.0


C:\Users\M*** G***>
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Lizard - Script language for symbolic calculations and moreTypeface - Sprite-based font include/module
Little John
Addict
Addict
Posts: 4519
Joined: Thu Jun 07, 2007 3:25 pm
Location: Berlin, Germany

Re: [Windows] Basic system information

Post by Little John »

STARGÅTE wrote:

Code: Select all

C:\Users\M*** G***>WMIC memphysical get MaxCapacity, MaxCapacityEx /format:list
Knoten - ARC
FEHLER:
Beschreibung = Die Anfrage ist ungültig.
:shock:

Could you please query both properties separately?

Code: Select all

WMIC memphysical get MaxCapacity /format:list

Code: Select all

WMIC memphysical get MaxCapacityEx /format:list
At least one of them should work.
Thank you!
User avatar
STARGÅTE
Addict
Addict
Posts: 2067
Joined: Thu Jan 10, 2008 1:30 pm
Location: Germany, Glienicke
Contact:

Re: [Windows] Basic system information

Post by STARGÅTE »

Code: Select all

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\M*** G***>WMIC memphysical get MaxCapacity /format:list

MaxCapacity=8388608


C:\Users\M*** G***>WMIC memphysical get MaxCapacityEx /format:list
Knoten - ARC
FEHLER:
Beschreibung = Die Anfrage ist ungültig.


C:\Users\M*** G***>
Is "MaxCapacity" the capacity of one slot or all slots? All slots would not make sense, since I have 16GB installed
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Lizard - Script language for symbolic calculations and moreTypeface - Sprite-based font include/module
Post Reply