从 C++ 转换回调函数到 VB.Net
我正在尝试将 C++ API 转换为 VB.Net,但这个功能太难了,我不知道如何使其工作。 以下是该函数的 API 文档: void RemoteDllSetReceiver(void *inst,…
调用本机代码时抛出 ExecutionEngineException
我有一个由 C 库导出的函数,其签名如下: extern "C" BOOL Func() 该函数在 VB.NET 代码中声明如下: Private Shared Function Func() As Boolean En…
VB.NET - 调用 Kernel32.DLL 的 Wow64DisableWow64FsRedirection
查看 Microsoft 的 Wow64DisableWow64FsRedirection 页面,我看到一些 C 代码。如果您想调用此函数并且它是从 VB.net 恢复的,该怎么办? 到目前为止…
使用 p/invoke 和 win-api 监控音频线路输入 (C#)
在过去的几天里,我试图编写一个小程序来使用 win-api (winmm.dll) 来监视音频线路输入。 我可以 pinvoke api 函数,例如 waveInOpen,但我不知道如何…
使用原生黑客的航空箭头?
使用某些 P/Invoke,可以从 .NET 中的按钮创建命令链接(请参阅 http://blogs.msdn.com/b/knom/archive/2007/03/12/command_5f00_link.aspx)。 我想…
Mono:DllImport 无法加载库“(null)”
我正在尝试使用 C# ZeroMQ 绑定。然而,在 Mono 2.8 和 OSX 10.6.4 上,当我尝试运行示例应用程序时,出现 DLLImport 错误。具体来说: Unhandled Exc…
从托管代码 pInovked 后,非托管 DLL 的生命周期是多少?
例如,如果您有一个简单的托管控制台应用程序和一个简单的非托管 C++ DLL。您 pInvoke 到 C++ DLL 中的函数,该 DLL 是否会在非托管进程中保持加载状…
P/Invoke 声明似乎不正确
我得到了一个内部开发的库,作为 BITS 的包装。有人告诉我,如果您想在 64 位和 32 位版本之间进行更改,则需要交换这两行注释。 [StructLayout(Layou…
将 const char* 字符串从非托管传递到托管
我有两个通信组件 - 一个是托管的,另一个是非托管的。托管需要从非托管实现检索字符串(相同的字符串或只是一个副本)。我尝试了以下代码。 // Unman…
可以pinvoked的C# dll吗?
问题:是否可以编写一个可以 pinvoked 的 C# dll? 我想为 WinAPI 调用 WritePrivateProfileString 等编写一个替换库,以读取和写入 ini 文件。 是否…
在 Windows Mobile 上找不到 PInvoke DLL
我正在开发 Windows Mobile 应用程序。 每当我下载一些使用本机代码包装器(使用 DllImport)的示例时,它总是给出“找不到 PInvoke DLL”错误。 我在…
Pinvoke - Win32 DLL 的位置
我在 win32 DLL 上使用 PInvoke,目前已将其放置在 System32 文件夹中。有替代方案吗?如果我的应用程序需要部署在我无权访问系统文件夹的地方怎么办…
后台线程中的 LowLevelMouseProc
我正在尝试在后台线程上设置鼠标挂钩。 delegate IntPtr LowLevelMouseProc(int nCode, IntPtr wParam, IntPtr lParam); LowLevelMouseProc _proc = H…
如何根据CPU架构使用正确的非托管.dll?
我在 .net 应用程序中使用非托管库,该库在 x86 和 64 位系统上使用,因此被编译为“任何 CPU”。然而,非托管的本机 .dll 有两种不同的 .dll(一种用…