pinvoke

    5热度

    6回答

    我即将开始阅读吨的二进制文件,每个文件有1000或更多的记录。新文件不断添加,因此我正在编写一个Windows服务来监视目录并在收到新文件时处理这些文件。这些文件是用C++程序创建的。我已经在c#中重新创建了结构定义,并且可以读取数据,但是我担心我这样做的方式最终会杀死我的应用程序。 using (BinaryReader br = new BinaryReader(File.Open("myfi

    0热度

    3回答

    我想在Windows Mobile中更改ListView中的ListViewSubItem的BackgroundColor。我使用Compact Framework ListView,它的ListViewItems只允许在整行上设置BackColor,我不想这样做。 我有两个问题: 这可能吗? 如果这是可能的,我知道我必须P/Invoke得到这个工作(因为ListView.ListViewSubI

    0热度

    4回答

    ********平台:在Vista中(最终或家庭/高级版)它不起作用,其他操作系统(XP,Windows7)的工作*********** 我正在清空使用c + + .net(或c#.net)线程内的回收站。当我这样做直(无线程)它的作品。但如果线程使用它不。请看下面的代码片段: namespace EmptyRecycleBin_C{ enum RecycleFlags { SHER

    1热度

    1回答

    我正在从C#调用本机DLL。对于特定的函数,我需要的一个参数是一个包含双向间接字段(指向指针的指针)的结构。 例如,以下面的C原型和结构: int someFunc(SomeStruct* result); struct SomeStruct { DWORD foo; AnotherStruct** ppResultStruct; } struct AnotherS

    0热度

    2回答

    我想发送一个应用程序按键,可以自动执行一些必须重复执行的操作,所以我并不总是要痉挛手指。 在C#中,使用SendKeys.Send()很好,但这不起作用,因为应用程序不会使用Windows消息。 SendKeys.SendWait()什么也不做。 我该如何模拟键盘事件? 回想一下,我打算用一些P/Invoke来模拟鼠标事件,但是如果它不需要消息,我该如何解决这个问题? 编辑 - 我可以使用鼠标和键

    0热度

    1回答

    如何使用VB.NNET锁定屏幕(最重要),更改声音,锁定键盘等? 我知道这是很容易使用C++。NET

    3热度

    6回答

    我有一个函数在非托管C/C++代码(dll)中返回一个包含char数组的结构。我创建了C#结构来接收调用函数的这个返回值uppon。而uppon调用这个函数,我得到 'System.Runtime.InteropServices.MarshalDirectiveException' 这是C声明: typedef struct T_SAMPLE_STRUCT { int num; char te

    4热度

    3回答

    我正在为不支持Unicode字符串但支持多字节ANSI字符串的库的PInvoke包装器。在调查图书馆的FxCop报告时,我注意到正在使用的字符串编组有一些有趣的副作用。 PInvoke方法使用“最佳拟合”映射来创建单字节ANSI字符串。为了说明,这是一个方法,看起来像: [DllImport("thedll.dll", CharSet=CharSet.Ansi)] public static e

    0热度

    1回答

    **主要更新** 我犯了一个小错误,但我仍然对发生的事情感到好奇。 我打电话的功能其实是“fooV”,与此签名的函数: foo(const char *, const char *, EnumType, va_list) 这清除了,我居然也得到了AccessViolationExceptions,但并没有解释为什么PARAMS参数所有其他工作。除了必须转换为多字节ANSI字符的字符串之外。我要

    9热度

    2回答

    我想从C#传递一个结构到C++库。我将结构作为对象传递,C++函数期望它作为指针(void *)。 我遇到了传递结构的问题。 [DllImport("MockVadavLib.dll", CharSet = CharSet.Ansi)] public static extern IntPtr TheFunction([MarshalAs(UnmanagedType.LPStruct)] User