pinvoke

    1热度

    1回答

    如果系统剪贴板上有大量文本(例如150MB文本文件),我希望能够以Unicode文本的形式从流中读取系统剪贴板,例如避免OutOfMemoryException。这是否可以通过调整下面的pinvoke例子来完成? 对于这些非常大的剪贴板,Clipboard.GetText(TextDataFormat.UnicodeText)将返回一个空字符串而不会引发异常。 或者,如果我使用的PInvoke像从

    0热度

    1回答

    我发现了大量关于如何在网络上编组和wchar*的信息,但现在我正试图编组WINBIO_STRING类型,其定义为wchar[256]。将它编组为char[]的数组,但是然后阵列中的每个其他元素都是\0,我想避免这种情况。有没有一种更合适的方式来封送这些数据(这是一个结构的成员,特别是WINBIO_UNIT_SCHEMA结构体)。这是我的代码: [StructLayout(LayoutKind.Se

    2热度

    2回答

    在C中定义的函数++ DLL是: static double (*Func1)(double); EXTERN_C __declspec(dllexport) __stdcall double TestDelegate(double (*fun)(double)) { Func1 = fun; return Func1(25.0); } void My_Real_p

    0热度

    1回答

    我在我的C++函数中有以下结构。 struct Cam { char ip[16]; char login[16]; char pass[16]; char name[16]; }; 以下是我从CPP暴​​露讲座 extern "C" __declspec(dllexport) Cam* AddCameraStruct1(Cam cam) { /

    -1热度

    1回答

    我有这个CC#代码工作: .H typedef struct { float a; float b; } MyStruct; extern MyStruct mystruct; __declspec(dllexport) void GetMyStruct (MyStruct* s); __declspec(dllexport) void SetMyStruct

    2热度

    1回答

    当试图使用C#中的VB.NET程序集中创建的P/Invoke声明时,我注意到string参数成为ref string参数。 仔细检查发现,例如, “VBByRefStr:使Visual Basic .NET中改变非托管代码串,并有结果反映在托管代码中的值 Public Declare Unicode Function RegDeleteValue Lib "advapi32.dll" Alias

    0热度

    1回答

    我试图访问不同用户的进程的图像路径。 (我试图找出当前正在运行的进程是否已经由另一个用户运行)。 从Vista开始,如果没有UAC,.NET的System.Diagnostics.Process.MainModule属性将失败。相反,Win32建议首先使用OpenProcess与PROCESS_QUERY_LIMITED_INFORMATION标志来获得句柄,然后QueryFullProcessI

    -1热度

    1回答

    在C期间它会导致在mscorlib.dll一个访问冲突异常++我有以下从第三方代码结构: typedef struct NodeInfoTag { long lResult; int bComplete; char *pszNodeAddr; char *pszParentAddr; RTS_WCHAR *pwszNodeName; R

    -1热度

    1回答

    我试图使用EnumDisplaySettings,它使用DEVMODE结构作为结果结构。 DEVMODE结构在内部使用一些联合,这使它在C#中使用起来更加复杂。联合用于计算显示器或打印机。 StructLayout.Explicit中的FieldOffset应该能够使用联合。 下面是从pinvoke.net复制的结构。很明显,其他人也有这种结构的问题,并通过简单地使它们解决工会StructLayo

    -1热度

    1回答

    我已经在C#代码中使用非托管的处理程序,委托就像 [UnmanagedFunctionPointer(CallingConvention.StdCall)] public delegate int Callback (arguments) 定义时调用约定它运作良好,在32位版本,我要求我必须做什么改变在64位版本。包含处理程序的dll的C头定义了如果WIN32为__stdcall,如果WIN