pinvoke 相关问题

P / Invoke是Microsoft由公共语言基础结构(CLI)创建的实现规范,用于从托管代码调用本机代码库。

在 Nuget 中分发 DLL

我正在开发一个 C# 库 (LLamaSharp),它包装了一个 C++ 库 (llama.cpp)。 作为 nuget 包的一部分,我们包括使用所有各种类型的硬件支持(CUDA、Ope...

回答 1 投票 0

C# 不安全类型 -> char*[] ,获取 char 数组上的指针

有: [DllImport(“OpenAL32.dll”)] static extern void alcOpenDevice(char*[] 设备名); 想要将名称发送到此函数,如下所示: char[] data = "你好!".ToCharArray(); 字符*[] txt = &...

回答 2 投票 0

使用MarshalAs(UnmanagedType.LPWStr)会清理内存吗?

我正在尝试为 ITaskTrigger::GetTriggerString 方法编写一个 pinvoke(在 http://msdn.microsoft.com/en-us/library/windows/desktop/aa381866(v=vs.85) 中定义)。 ASPX)。如果您查看该页面,它...

回答 1 投票 0

使用 P/Invoke C# 时如何用嵌套结构数组封送结构

我有以下 C 函数声明,我想从 C# 调用它(注意我无法访问 dll 的源代码): int setData(OuterStruct *data); 以及这个 C 的相关结构

回答 1 投票 0

CsWin32 如何创建 PWSTR 实例,例如获取窗口文本

我刚刚开始使用 CsWin32 和我想使用它的 Win32 函数之一 GetWindowText ,它被映射到 我知道如何使用第一个和最后一个参数,但我不知道该怎么做...

回答 1 投票 0

.NET应用程序调用未管理的DLL,参数包含奇怪的字符

我正在编写一个.NET应用程序来调用非托管DLL。 以下是非托管 DLL 的标头: #pragma 一次 #ifdef __cplusplus 外部“C”{ #endif /* __cplusplus */ //

回答 1 投票 0

Direct2D Clear/DrawBitmap 抛出异常

在 C++ DLL 中,我初始化了 Direct2D,然后还有一些绘制函数。当调用 pRenderTarget->Clear(...) 时,它会抛出 AccessViolationException(尝试访问受保护的内存...)。 她...

回答 1 投票 0

使用 LayoutKind.Explicit 访问 C# 中的嵌套结构

我有一个C#应用程序需要与Python共享一些二进制数据,并且我计划使用共享内存(内存映射文件)。因此,我需要两边都有相同的二进制结构......

回答 1 投票 0

临时的一生

从 C# 调用 C++ 库(不受我控制)时,我遇到一些零星的崩溃。 C++库的内部代码大致是这样的: #包括 #包括...

回答 1 投票 0

PowerReadFriendlyName 报告错误的缓冲区长度

我正在制作一个 C# 程序,通过 PInvoking Win32 函数 PowerReadFriendlyName 从电源管理方案的 GUID 中检索电源管理方案的名称。然而,该函数似乎报告错误的缓冲区

回答 1 投票 0

在 C# 中使用 p/invoke 调用创建结构体数组的 C 函数

我有一个 C 函数,可以创建一个结构体数组: 结构点{ 整数x,y; }; void GetPoints(点 点[], int* 大小) { 大小=5; 点 = (点*) malloc(sizeof(点...

回答 1 投票 0

将 DIB 转换为 DDB?

我正在开发一个剪贴板管理器(可以在这里看到:http://flamefusion.net/software/shapeshifter)。 但是,我目前遇到位图 (bmp) 问题,该位图无法真正插入自身......

回答 3 投票 0

从 Powershell 调用非托管代码 - 处理枚举类型

我正在使用 Powershell 从 userenv.dll 调用组策略更新 API(请参阅此处和此处)。这工作正常: $sig =@' [DllImport("userenv.dll", SetLastError = true, ExactSpelling = tr...

回答 1 投票 0

P/Invoke System.AccessViolationException:尝试读取或写入受保护的内存。这通常表明其他内存已损坏

我的代码引发 System.AccessViolationException:尝试读取或写入受保护的内存。这通常表明其他内存已损坏。例外。我正在使用 P/Invoke 来调用...

回答 1 投票 0

将指向对象的非托管 C++ 指针转换为托管 C# 对象

我有一个用 C++ 编写的非托管静态库 (.dll): // 这是一个个人学术项目。亲爱的PVS-Studio,请查看。 // 适用于 C、C++ 和 C# 的 PVS-Studio 静态代码分析器:http://www.

回答 2 投票 0

如何以编程方式将热键分配给快捷方式?

我再次修改我的问题并以可测试的方式重新共享完整的代码: 我正在使用此类在 C# 上创建桌面快捷方式: 使用系统; 使用系统.IO; 使用 System.Runtime。

回答 1 投票 0

如何在 WPF 窗口中隐藏关闭按钮并禁用调整大小?

我正在编写一个 wpf 窗口,它有一个自定义的最小化按钮和关闭按钮,而不是默认的按钮,同时它不应该调整大小。只需设置 WindowStyle=None 和 ResizeMode=NoResiz...

回答 1 投票 0

调用 Runtime.InteropServices.DllImportAttribute [已关闭]

编者注:这个问题最终是关于如何使用.NET P/Invoke 功能从PowerShell 调用Windows API 函数(例如SetForegroundWindow)。 $dll=[运行时.InteropServices.

回答 1 投票 0

获取桌面/外壳窗口句柄

在我的一个程序中,我需要测试用户当前是否将焦点集中在桌面/shell 窗口。目前,我正在使用 user32.dll 中的 GetShellWindow() 并将结果与 GetForegroundWindow 进行比较...

回答 2 投票 0

使用 Windows API 在外部最大化 Delphi (VCL) 应用程序

我尝试使用以下代码在我的 C# 应用程序中启动另一个用 Delphi 编写的应用程序: 进程 process = new Process(); process.StartInfo.FileName="app.exe"; 进程.Start(); ...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.