Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Qt version of MSInfo32.exe



  • I'm looking for an opensource version of the utility MSInfo32 which reports back information of the HW & SW of a host machine. Alternately, if there is a way to get that information using Qt APIs I would appreciate knowing what they are.

    Thanks



  • Hi,

    I don't think exists official Qt API to get information you need; Qt is a cross-platform toolkit so I think you must use native API.

    Using "QSysInfo":http://qt-project.org/doc/qt-5.0/qtcore/qsysinfo.html you can get Windows version.



  • Native API is fine. I don't think I asked anything different. What I was hoping to discover was that there exists a example of sorts that is like the functionality of MSInfo32 in what it reports. QSysInfo only reports platform version. I need much more i.e. Memory installed, CPU info Video etc.



  • Hi,

    IMHO this isn't the right forum to ask about example of using Win32 API.



  • When I am referring to a native API, I am not necessarily meaning that to be Win32 API. Native as in contrast to managed (i.e. .NET).

    Hope that's clear



  • It's clear but however Native API isn't Qt API.



  • This is starting to border on the asinine. Thanks for the suggestion on QSysInfo - limited as it is for what was asked.



  • In the dim distant past I developed a little program that did something similar to what you are interested in doing.

    In those days I was a Desktop Support person and I programmed it using Visual Studio 6. It had a GUI (MFC) and presented the information on tabs that the user could view and email to the company helpdesk if required. I did this in the days before there were quite so many diagnostic tools for the Windows Platform.

    This might raise the question as to why develop when there are tools that will already do the job? Though no problem if you are doing it for fun.

    The point I want to bring to this discussion is that the information I required and displayed within the program was mostly read from Windows Registry. The way Windows works won’t have changed that much, so I would guess you would be able to do a lot of what you wish just reading HKLM in the Windows Registry.

    The program was fairly diagnostic and provided a vast amount of information. As a Support person I knew the Registry very well and was able to work out where what I wanted was.

    I didn’t use Qt, but QSettings can read the Registry, though I don’t know how flexible it can be in doing this. As it is settings focus, it possibly focuses of HKCU. There is also the Qt Windows Extras Library, which may offer another approach to this.

    I now try and live in a world where the slashes in the path strings go the other way and were I Carriage Return, rather than Carriage Return and Line Feed. ;-}



  • [quote author="mikeosoft" date="1383831339"]In the dim distant past I developed a little program that did something similar to what you are interested in doing.

    In those days I was a Desktop Support person and I programmed it using Visual Studio 6. It had a GUI (MFC) and presented the information on tabs that the user could view and email to the company helpdesk if required. I did this in the days before there were quite so many diagnostic tools for the Windows Platform.

    This might raise the question as to why develop when there are tools that will already do the job? Though no problem if you are doing it for fun.

    The point I want to bring to this discussion is that the information I required and displayed within the program was mostly read from Windows Registry. The way Windows works won’t have changed that much, so I would guess you would be able to do a lot of what you wish just reading HKLM in the Windows Registry.

    The program was fairly diagnostic and provided a vast amount of information. As a Support person I knew the Registry very well and was able to work out where what I wanted was.

    I didn’t use Qt, but QSettings can read the Registry, though I don’t know how flexible it can be in doing this. As it is settings focus, it possibly focuses of HKCU. There is also the Qt Windows Extras Library, which may offer another approach to this.

    I now try and live in a world where the slashes in the path strings go the other way and were I Carriage Return, rather than Carriage Return and Line Feed. ;-}
    [/quote]

    Hi.

    Thanks for the response. The reason for asking for a solution in Qt is a matter of host qualification for apps deployed written using Qt. There are apps and utilities that we are creating and it is helpful if prior to launch that certain housekeeping is run to ensure that the appropriate resources are available.

    Having that self-contained rather than launch of a separate (although from what I've found superior windows version) app that checks these things is what is preferable.

    I understand the challenges of portability but this is at least a start. BTW I can't seem to locate Qt Windows Extras Library



  • The QtWindows extras library is only available in Qt 5.2, which is actually in beta stage.

    Anyway, if you're looking for Win32 API this might be of interest:
    http://msdn.microsoft.com/en-us/library/windows/desktop/ms724381(v=vs.85).aspx
    but remember that people here might be unable to help you with Win32 API issues.



  • [quote author="T3STY" date="1383881898"]The QtWindows extras library is only available in Qt 5.2, which is actually in beta stage.

    Anyway, if you're looking for Win32 API this might be of interest:
    http://msdn.microsoft.com/en-us/library/windows/desktop/ms724381(v=vs.85).aspx
    but remember that people here might be unable to help you with Win32 API issues.[/quote]

    Thanks for the response but I was looking for a Qt solution - NOT Win32. I thought the title of the thread was clear about that



  • Well, you stated it was good for you to use "native API" which just means it's an OS-specific API, so my link was a good solution. But since you don't want that you will have to implement an API for doing that yourself.
    Please also note that Qt's Windows extras library from Qt 5.2 is an OS specific API too dedicated to Windows systems only; on other OSs the APIs won't do anything.



  • You could use a QProcess to run winmsd.exe or MSInfo32.exe with appropriate args. Re-direct the output into a text file. Then parse the text file for the properties or info you're interested in.


Log in to reply