c ++ - Programmatisk åben systeminformation

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at programmatisk åbne Window 's' System Information 'på tværs af forskellige vindues version. I øjeblikket indebærer det at åbne et cmd.exe vindue, som så finder 'System Information'.


Problemet er, at jeg har et fremtrædende sort kommandolinjevindue, mens 'Systeminformation' er åben. Er der en måde at gøre uden dette ekstra vindue?

Bedste reference


Det er en kendt app, som Wordpad, årsagen til, at cmd.exe kan finde den. Brug bare ShellExecute til at åbne msinfo32.exe. For eksempel:


#include <shellapi.h>
#pragma comment(lib, "shell32.lib")
...
// Message handler for about box.
INT\_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
    case WM\_COMMAND:
        if (LOWORD(wParam) == IDC\_INFO) {
            ShellExecute(hDlg, L"open", L"msinfo32.exe", 0, 0, SW\_SHOWNORMAL);
            break;
        }
    // etc..
}


Som antager du tilføjede en knap til dialogboksen Om med identifikator IDC\_INFO.

Andre referencer 1


Se Sådan starter du Microsoft System Information Dialog på kodeprojekt. [3]

Andre referencer 2


Adgang til MSInfo32 programmatisk forklares i Sådan startes dialogboksen Microsoft System Information [4]