interface ICoreWebView2Environment13
interface ICoreWebView2Environment13
: public ICoreWebView2Environment12
A continuation of the ICoreWebView2Environment interface for getting process with associated information.
Summary
Members | Descriptions |
---|---|
GetProcessExtendedInfos | Gets a snapshot collection of ProcessExtendedInfo s corresponding to all currently running processes associated with this CoreWebView2Environment excludes crashpad process. |
Applies to
Product | Introduced |
---|---|
WebView2 Win32 | 1.0.2210.55 |
WebView2 Win32 Prerelease | 1.0.2357 |
Members
GetProcessExtendedInfos
Gets a snapshot collection of ProcessExtendedInfo
s corresponding to all currently running processes associated with this CoreWebView2Environment
excludes crashpad process.
public HRESULT GetProcessExtendedInfos(ICoreWebView2GetProcessExtendedInfosCompletedHandler * handler)
This provides the same list of ProcessInfo
s as what's provided in GetProcessInfos
, but additionally provides a list of associated FrameInfo
s which are actively running (showing or hiding UI elements) in the renderer process. See AssociatedFrameInfos
for more information.
CHECK_FAILURE(environment13->GetProcessExtendedInfos(
Callback<ICoreWebView2GetProcessExtendedInfosCompletedHandler>(
[this](
HRESULT error,
ICoreWebView2ProcessExtendedInfoCollection* processCollection) -> HRESULT
{
UINT32 processCount = 0;
UINT32 rendererProcessCount = 0;
CHECK_FAILURE(processCollection->get_Count(&processCount));
std::wstringstream otherProcessInfos;
std::wstringstream rendererProcessInfos;
for (UINT32 i = 0; i < processCount; i++)
{
Microsoft::WRL::ComPtr<ICoreWebView2ProcessExtendedInfo>
processExtendedInfo;
CHECK_FAILURE(
processCollection->GetValueAtIndex(i, &processExtendedInfo));
Microsoft::WRL::ComPtr<ICoreWebView2ProcessInfo> processInfo;
CHECK_FAILURE(processExtendedInfo->get_ProcessInfo(&processInfo));
COREWEBVIEW2_PROCESS_KIND kind;
CHECK_FAILURE(processInfo->get_Kind(&kind));
INT32 processId = 0;
CHECK_FAILURE(processInfo->get_ProcessId(&processId));
if (kind == COREWEBVIEW2_PROCESS_KIND_RENDERER)
{
std::wstringstream rendererProcess;
wil::com_ptr<ICoreWebView2FrameInfoCollection> frameInfoCollection;
CHECK_FAILURE(processExtendedInfo->get_AssociatedFrameInfos(
&frameInfoCollection));
wil::com_ptr<ICoreWebView2FrameInfoCollectionIterator> iterator;
CHECK_FAILURE(frameInfoCollection->GetIterator(&iterator));
BOOL hasCurrent = FALSE;
UINT32 frameInfoCount = 0;
while (SUCCEEDED(iterator->get_HasCurrent(&hasCurrent)) &&
hasCurrent)
{
wil::com_ptr<ICoreWebView2FrameInfo> frameInfo;
CHECK_FAILURE(iterator->GetCurrent(&frameInfo));
AppendFrameInfo(frameInfo, rendererProcess);
BOOL hasNext = FALSE;
CHECK_FAILURE(iterator->MoveNext(&hasNext));
frameInfoCount++;
}
rendererProcessInfos
<< frameInfoCount
<< L" frameInfo(s) found in Renderer Process ID:" << processId
<< L"\n"
<< rendererProcess.str() << std::endl;
rendererProcessCount++;
}
else
{
otherProcessInfos << L"Process Id:" << processId
<< L" | Process Kind:"
<< ProcessKindToString(kind) << std::endl;
}
}
std::wstringstream message;
message << processCount << L" process(es) found, from which "
<< rendererProcessCount << L" renderer process(es) found\n\n"
<< rendererProcessInfos.str() << L"Remaining Process(es) Infos:\n"
<< otherProcessInfos.str();
m_appWindow->AsyncMessageBox(
std::move(message.str()), L"Process Extended Info");
return S_OK;
})
.Get()));
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour