如何找到哪些Dll包含特定的W32功能?

Ton*_*ile 7 c# dll winapi

我的应用程序是一个WPF应用程序,它已经具有较旧类型的系统DPI感知代码,该代码适用于除8.1之外的每个版本的Windows.事实证明,微软在Windows 8.1中添加了许多功能,作为实现每个监视器DPI感知的一部分.我需要在我的程序中实现代码以支持这种类型的DPI感知.

我有文档列出了每个监视器的DPI感知功能及其参数.我需要将它们导入C#并从我的窗口类中调用它们.但我不知道哪些DLL包含这些功能!GetProcessDpiAwareness例如,该函数的文档并未指出它所在的DLL.

如何找到DLL中的导出内容?

nos*_*tio 3

突然想到一个愚蠢的方法:对C:\Windows\System32for进行二分搜索GetProcessDpiAwareness,然后使用Dependency Walker研究每个出现的情况以进行导出。

这会产生结果:GetProcessDpiAwareness由 导出SHCore.dll

人们还可以搜索 Windows SDK 标头和库,但令我惊讶的是,就我而言,我还没有找到GetProcessDpiAwareness

另一个想法是,从命令行提示符运行以下命令:

for %f in (%windir%\system32\*.dll) do dumpbin.exe /exports %f >>%temp%\__exports
Run Code Online (Sandbox Code Playgroud)

然后搜索%temp%\__exportsAPI。