// FileDialogDemo.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include
#include
#include
int main()
{
system("pause");
CoInitializeEx(nullptr,COINIT_MULTITHREADED);
IFileOpenDialog* pfd1 = NULL;
IFileDialog* pfd11 = NULL;
HRESULT hr = CoCreateInstance(CLSID_FileOpenDialog, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pfd1));
pfd1->QueryInterface(&pfd11);
IFileSaveDialog* pfsd1 = NULL;
hr = CoCreateInstance(CLSID_FileSaveDialog, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pfsd1));
if (SUCCEEDED(hr))
{
pfd1->SetOptions(FOS_PICKFOLDERS | FOS_FORCEFILESYSTEM);
if (pfd1->Show(NULL) == S_OK) {
IShellItem* pitem = NULL;
if (pfd1->GetResult(&pitem) == S_OK && pitem)
{
LPWSTR resultptr = NULL;
if (pitem->GetDisplayName(SIGDN_FILESYSPATH, &resultptr) == S_OK && resultptr) {
LPCWSTR result = resultptr;
}
pitem->Release();
}
}
pfd1->Release();
}
pfd11->Release();
}
< /code>
отладка этой демонстрации. В автоматическом окне VS можно увидеть, что PFD1 является прокси -объектом < /p>
Я хочу знать информацию о объекте реализации, соответствующую прокси -объекту, полученному CocreateInstance.
VS может сделать это, но я не знаю, как реализовать его с кодом. Кто -нибудь знает, как это решить?
Подробнее здесь: https://stackoverflow.com/questions/796 ... -the-com-p