pinvoke相关内容

从跨平台DLL返回整数数组

我用C++创建了一个可在Windows和Mac OSX上编译的跨平台DLL。在Windows上,我有一个使用P/Invoke调用DLL的C#应用程序,而在Mac OSX上,一个Objective C应用程序调用DLL。我有一些简单的函数可以很好地工作,但我需要一个返回整数数组的新函数。 我能找到的最好的例子是Marshal C++ int array to C#,我能够让它工作。但是,我想修 ..
发布时间:2022-08-13 22:11:15 C#/.NET

在C#中使用QPDF

我正在尝试翻译此qpdf命令: qpdf--qdf--Object-Streams=禁用input.pdf可编辑.pdf 转换为我在使用qpdf DLL时需要的等效方法调用(可从此处获得:https://sourceforge.net/projects/qpdf/)。 我通过Dumpbin运行qpdf DLL以获取函数名,通过查看C++项目包含的头文件,我可以看到函数的参数。 ..
发布时间:2022-04-15 15:09:38 C#/.NET

如何以编程方式使用PIN码登录Windows

在Windows 8中,为非域用户引入了一种新的身份验证方法:使用控制面板中设置的PIN。 目前,我们的应用程序支持使用LogonUserW()通过预先保存的密码登录Windows,现在还需要支持PIN。 如何从.NET应用程序直接或通过P/Invoke实现这一点? 推荐答案 所以所有东西都由ICredentialProvider接口单元管理-对于Windows8,他们在I ..
发布时间:2022-04-15 15:03:57 C#/.NET

将函数从C++DLL导出到C#P/Invoke

我已经构建了一个C++DLL,我想从C#代码中调用它。我可以调用一个函数,但当C#代码尝试加载DLL时,另一个函数会抛出异常。 标题如下: extern "C" __declspec(dllexport) BOOL Install(); extern "C" __declspec(dllexport) BOOL PPPConnect(); 这会生成一个导出表有些混乱的DLL(在名称 ..
发布时间:2022-04-15 15:02:42 C#/.NET

从任务栏隐藏应用程序

我一直在努力从我的应用程序中隐藏任务栏中的另一个应用程序。 我一直在使用SetWindowLong函数来设置/删除extended style上的WS_EX_APPWINDOW。 我尝试分别设置和删除该属性,并获取当前的WindowLong,然后将其删除/添加到该属性中,如下所示: SetWindowLong(pMainWindow, GWL_EXSTYLE, GetWindowLo ..
发布时间:2022-04-15 15:01:18 C#/.NET

P/Invoke 在 Mono 上动态加载库

我正在编写一个使用一些非托管代码的跨平台 .NET 库.在我的类的静态构造函数中,检测到平台并从嵌入式资源中提取适当的非托管库并保存到临时目录,类似于 另一个stackoverflow答案. 为了使库不在 PATH 中时可以找到,我在将其保存到临时文件后显式加载它.在 Windows 上,这适用于 kernel32.dll 中的 LoadLibrary.我正在尝试在 Linux 上对 dlo ..
发布时间:2022-01-23 14:48:34 C#/.NET

从 c# 调用 UNIX 和 Linux 共享对象文件 .so

有没有办法从 C# P/Invoke 调用用 C 编写并在 Unix 上构建的共享对象文件? 或者我需要使用 Java 或类似的东西吗? 解决方案 Mono 能够从基于 dlopen(3) 构建的 C# 中与本地库集成.您只需使用带有库名称的 DllImport 语句(即“libform.so.5"),然后使用友好的 C# 类来包装本机代码和数据类型,该类负责处理所有低级内容.此页面 ..
发布时间:2022-01-23 14:38:54 C#/.NET

使用进程间同步对象同步 2 个进程 - Mutex 或 AutoResetEvent

考虑以下场景:我正在运行我的应用程序,该应用程序在执行期间必须运行另一个进程,并且只有在第二个进程完成内部特定初始化之后,我的第一个进程才能继续.例如: ...//Process1 代码在这里进行各种初始化Process.Start("Process2.exe");//等到 Process2 完成其初始化,然后才继续(Process2 不退出)... 我看到了几个选项: 互斥锁 - 在考 ..
发布时间:2022-01-22 19:55:32 C#/.NET

如何将函数指针从 C# 传递给 C++ Dll?

C++ dll中定义的函数是: 静态双精度(*Func1)(双精度);EXTERN_C __declspec(dllexport) __stdcall double TestDelegate(double (*fun)(double)){Func1 = 有趣;返回函数1(25.0);}无效我的真实目的(){某类a;a.SetFunction(Func1);//在运行时通过C#定义a的行为a.Do ..
发布时间:2022-01-18 12:27:41 C#/.NET

Win10中的EnumWindows函数只枚举桌面应用

文档 下划线: 注意对于 Windows 8 及更高版本,EnumWindows 仅枚举桌面应用程序的顶级窗口. “桌面应用"和“非桌面应用"有什么区别? 这与地铁应用程序有关吗? 我问是因为 EnumWindows 在 Win10 中的行为与 Win7 相比有些不同. 解决方案 你是对的.EnumWindows 只会查找属于非现代(Metro)应用程序的窗口.它将 ..
发布时间:2022-01-15 14:58:29 C#/.NET

从 C# 应用程序获取 WindowsExplorer 中的当前选择?

是否可以从我的 C# 应用程序中获取当前在 Windows 资源管理器中选择的文件列表? 我对通过 C# 等托管语言与 Windows 资源管理器进行交互的不同方法进行了大量研究.最初,我正在查看 shell 扩展的实现(这里和 这里 例如),但显然这是一个坏主意代码,无论如何对于我的情况来说可能是矫枉过正. 接下来,我研究了 PInvoke/COM 解决方案,发现 这篇文章,这导致了 ..
发布时间:2022-01-14 11:42:54 C#/.NET