如何在 VB.NET 中检查目录是否可以重命名?
我的想法是使用 kernel32 中的 CreateFile 并检查共享冲突。 我相信这会起作用,因为我在从 CMD 发出重命名命令时使用 Process Monitor 观察了文件系…
如何使用 winmm.dll 确定歌曲的长度?
我已经P/Invoked the mciSendString method from WinMM.dll: [DllImport("winmm.dll")] private static extern long mciSendString(string strComman…
什么是“ShowWindow Lib“user32”? ” 关于?
我正在查看另一位开发人员编写的一些代码,发现了这一点: Private Declare Function ShowWindow Lib "user32" (ByVal handle As IntPtr, ByVal nCmdS…
C#:一般将非托管数组转换为托管列表
我正在处理一组通过动态分配的数组返回数据的本机函数。 这些函数将引用指针作为输入,然后将其指向结果数组。 例如: typedef struct result { //..S…
C# P/Invoke:如何实现结构化参数字段的双重间接寻址
我正在从 C# 调用本机 dll。 对于所讨论的特定函数,我需要的参数之一是一个包含双重间接字段(指向指针的指针)的结构。 例如,采用以下 C 原型和结…
仅在 Vista (.net) 中存在问题:从线程调用非托管 dll(Shell32.dll,函数:SHEmptyRecycleBin)
********平台:在 Vista(旗舰版或家庭/高级)中它不起作用,其他操作系统(xp、windows7)它起作用************ 我正在清空回收站在线程内使用 c++.n…
时间:2019-03-17 标签:c#p/invoke Passhallingpointers
我正在尝试使用 p/invoke 从 c# 调用本机 .dll。 我能够进行调用(没有崩溃,函数返回一个值),但返回代码指示“指针参数未指向可访问的内存”。 为…
如何在 Windows Mobile 中设置 ListViewSubItem BackColor?
我想更改 Windows Mobile 中 ListView 中 ListViewSubItem 的背景颜色。 我正在使用 Compact Framework ListView,其 ListViewItems 只允许在整行上设…
编组 C++ 的最有效方法是什么? 结构到 C#?
我即将开始读取大量二进制文件,每个文件包含 1000 条或更多记录。 新文件不断添加,因此我正在编写一个 Windows 服务来监视目录并在收到新文件时对其…
C#/C++ pInvoke提示
修改 C++ 程序以与 C#.NET CF 中的 pInvoke 一起使用的最佳方法是什么? 我有一个大型的 C++ 代码库,它广泛使用了 STL。 即迭代器、容器类和标准字符…
记录到自定义事件日志(C# 应用程序,但使用 win32 API)
由于 .NET EventLog 类的限制,我有一些使用 PInvoke 的代码记录到应用程序日志。 该代码运行没有问题。 但现在,我想记录到自定义事件日志。 因此,…
C# 单声道 p/调用失败
最近,我尝试在 mono(.NET for Linux 平台)中使用 p/invoke 编写一个简单的 OpenGL 应用程序,以了解它如何在 C# 上工作(我已经在 Windows 上成功…
如何将结构编组为指向结构的指针?
我正在尝试将结构从 C# 传递到 C++ 库。 我将结构作为对象传递,C++ 函数期望它作为指针 (void *)。 我在传递结构时遇到问题。 [DllImport("MockVadav…
您可以将多字节 ANSI PInvoke 转换为可变参数吗? 我究竟做错了什么?
** 主要更新 ** 我犯了一个小错误,但我仍然很好奇究竟发生了什么。 我调用的函数实际上是“fooV”,具有以下签名的函数: foo(const char *, const c…