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