如何阻止 GetOpen文件名加载 DLL



我正在使用GetOpenFilename来获取一些文件名

const int BUFFER_SIZE = 8192;
char* filenames = new char[BUFFER_SIZE];
filenames[0] = 0;
OPENFILENAME ofn;
ZeroMemory(&ofn, sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
ofn.hwndOwner = ::GetActiveWindow();
ofn.lpstrFile = filenames;
ofn.nMaxFile = BUFFER_SIZE;
ofn.lpstrFilter =
   "Quotes*.json"
   "All*.*";
ofn.lpstrCustomFilter = NULL;
ofn.nMaxCustFilter = 0;
ofn.nFilterIndex = 1;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;
ofn.lpstrTitle = "Web File Import";
ofn.lpstrInitialDir = "T:\WebPending";
ofn.Flags = OFN_ENABLESIZING | OFN_ALLOWMULTISELECT | OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY | OFN_PATHMUSTEXIST | OFN_ENABLEHOOK;
ofn.lpstrDefExt = "json";
ofn.lpfnHook = DDWebImport::Hook;
bool rv = ::GetOpenFileName(&ofn);
// Check the error if you have copied this code to another dialog and it returns immediately without popping up a form
DWORD err = CommDlgExtendedError();

我正在使用带有SSD的Core i7,这需要8秒以上的时间来显示文件。 当我查看调试输出窗口时,

'xxx.exe': Loaded 'C:WindowsSysWOW64propsys.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:Program Files (x86)Common FilesMicrosoft SharedInktiptsf.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:WindowsSysWOW64edputil.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:WindowsSysWOW64policymanager.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:WindowsSysWOW64msvcp110_win.dll', Symbols loaded (source information stripped).
shellcomdlg32fileopensave.cpp(9456)COMDLG32.dll!76290750: (caller: 76283458) ReturnHr[PreRelease](1) tid(1664) 80070490 Element not found.
CallContext:[PickerModalLoopInitDialogFileDialogInitEnterpriseData] 
'xxx.exe': Loaded 'C:WindowsSysWOW64WindowsCodecs.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:WindowsSysWOW64thumbcache.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:WindowsSysWOW64ntshrui.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:WindowsSysWOW64srvcli.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:WindowsSysWOW64cscapi.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:WindowsSysWOW64StructuredQuery.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:WindowsSysWOW64actxprxy.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:WindowsSysWOW64Windows.Storage.Search.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:WindowsSysWOW64DataExchange.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:WindowsSysWOW64dcomp.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:WindowsSysWOW64d3d11.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:WindowsSysWOW64dxgi.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:WindowsSysWOW64twinapi.appcore.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:WindowsSysWOW64apphelp.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:Program Files (x86)Common FilesTortoiseOverlaysTortoiseOverlays.dll', Cannot find or open the PDB file.
'xxx.exe': Loaded 'C:Program FilesTortoiseGitbinTortoiseGitStub32.dll', Cannot find or open the PDB file.
'xxx.exe': Loaded 'C:Program FilesTortoiseGitbinTortoiseGit32.dll', Cannot find or open the PDB file.
'xxx.exe': Loaded 'C:WindowsSysWOW64msvcp120.dll', Symbols loaded.
'xxx.exe': Loaded 'C:Program FilesTortoiseGitbingitdll32.dll', Cannot find or open the PDB file.
'xxx.exe': Loaded 'C:Program FilesTortoiseGitbinlibgit232_tgit.dll', Cannot find or open the PDB file.
'xxx.exe': Loaded 'C:WindowsSysWOW64msvcr120.dll', Symbols loaded.
'xxx.exe': Loaded 'C:Program FilesTortoiseGitbinzlib132_tgit.dll', Cannot find or open the PDB file.
'xxx.exe': Loaded 'C:UserscupAppDataLocalMicrosoftOneDrive17.3.6302.0225_1FileSyncShell.dll', Cannot find or open the PDB file.
'xxx.exe': Loaded 'C:WindowsSysWOW64wininet.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:UserscupAppDataLocalMicrosoftOneDrive17.3.6302.0225_1Telemetry.dll', Cannot find or open the PDB file.
'xxx.exe': Loaded 'C:WindowsSysWOW64psapi.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:UserscupAppDataLocalMicrosoftOneDrive17.3.6302.0225_1LoggingPlatform.dll', Cannot find or open the PDB file.
'xxx.exe': Loaded 'C:WindowsSysWOW64cabinet.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:WindowsSysWOW64wsock32.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:WindowsSysWOW64mssprxy.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:Program Files (x86)Microsoft OfficerootOffice16GROOVEEX.DLL', Cannot find or open the PDB file.
'xxx.exe': Loaded 'C:WindowsSysWOW64msvcp140.dll', Symbols loaded.
'xxx.exe': Loaded 'C:WindowsSysWOW64ucrtbase.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:WindowsSysWOW64vcruntime140.dll', Symbols loaded.
'xxx.exe': Loaded 'C:WindowsSysWOW64msi.dll', Symbols loaded (source information stripped).
'xxx.exe': Loaded 'C:Program Files (x86)Microsoft OfficerootOffice161033GrooveIntlResource.dll', Binary was not built with debug information

如何阻止 GetOpenFile name 加载 DLL,如 directx、git、turtoise git、groove、onedrive。 有这么多,它们需要很长时间加载,并且不需要仅查看一堆文件名。

我正在寻找的真正答案是在VS 2012中调用CoCreateInstance期间加载符号缓慢

基本上排除在工具/选项/调试/符号中的加载中 dll查找所有显示找不到或打开 pdb 文件的 dll 并将它们添加到列表中

最新更新