получение названия продукта из глобального уникального идентификатора

#windows #guid

#Windows #guid

Вопрос:

Я пытаюсь получить список всех установленных программ, и я хочу сделать это, используя только API Windows.

Это мой код..

 #include "stdafx.h"
#pragma comment(lib,"msi.lib")
#include <Windows.h>
#include<iostream>
#include "Msi.h"

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    TCHAR *liProBuf = new TCHAR[39];
    UINT liVal = MsiEnumProducts(0,liProBuf);
    cout << liProBuf;
    getchar();
    return 0;
}
  

Приведенный выше код использует функцию MsiEnumProducts , которая возвращает Global Unique Identifier(GUID) , которая является уникальным идентификатором для продукта.Но после этого я не знаю, как получить название продукта, используя этот идентификатор GUID.
Как это можно сделать.

Комментарии:

1. Вам не приходит в голову, что вы можете найти MsiEnumProducts документацию в MSDN и что вы найдете другие связанные функции, например, MsiGetProductInfo в том же месте?

2. Кстати, будут перечислены только приложения, установленные с помощью установщика Windows.