【发布时间】:2012-09-05 12:49:00
【问题描述】:
我正在尝试制作一个可能依赖于 Wacom 数位板的应用程序。该程序不需要工作,但它是一个很好的补充。虽然,它也应该在没有安装 Wintab32.dll 的计算机上工作,我想检查一下 DLL 是否可用。
这段代码会产生错误,我想在错误产生之前捕获它。我正在使用 WintabDN 来支持 .net Wacom 应用程序。
if (WintabDN.CWintabInfo.IsWintabAvailable())
{
// Initialize Wintab
WintabLib.Initialize(true);
WintabLib.OnWintabPacketReceived += WintabLib_OnWintabPacketReceived;
}
失败 IsWintabAvailable: System.DllNotFoundException: 无法加载 DLL 'Wintab32.dll':找不到指定的模块。 (来自 HRESULT 的异常:0x8007007E) 在 WintabDN.CWintabFuncs.WTInfoA(UInt32 wCategory_I,UInt32 nIndex_I,IntPtr IpOutput_O) 在 WintabDN.CWintabInfo.IsWintabAvailable()
这个错误的问题在于它是一个消息框,而不是包抛出的异常。如何防止出现此消息框?
【问题讨论】:
-
为什么不直接使用 File.Exists() 方法?
-
那么我应该在哪个文件夹中查找此 DLL?