pinvoke

    3熱度

    1回答

    我正在開發與Windows剪貼板相關的C#應用​​程序。由於在Dot Net剪貼板庫(STA,無法打開剪貼板等)中存在許多缺點,我決定直接使用系統API。 我想要做的是每種格式的備份數據(儘可能多,如果不是全部),將它們推入堆棧,然後再彈出到剪貼板。如果您嘗試使用AutoHotKey,那麼它會執行「ClipboardAll」。 問題提出時,我試圖獲取數據,我這是怎麼寫的PInvoke: [DllI

    0熱度

    2回答

    我有一個第三方DLL,我想在C#中編寫一個包裝,並有C++示例代碼,它的工作,但是當我嘗試調用方法在DLL中,我得到的錯誤: 無法在DLL'scard-com.dll'中找到名爲'scan'的入口點。 請幫忙指出我的問題: 這裏是樣品C++應用程序 interface ISCard_CardReaderDevices : IUnknown { virtual UINT __stdcall sca

    0熱度

    1回答

    你如何鎖定由Marshal.AllocHGlobal()分配的內存? 我第一次嘗試以下操作: int bytes = 10; IntPtr ip = Marshal.AllocHGlobal(bytes); GCHandle iph = GCHandle.Alloc(ip, GCHandleType.Pinned); 雖然我認爲這只是引腳由IntPtr提到的內存IntPtr而不是塊。

    0熱度

    1回答

    我試圖使用XGBoost's DLL(libxgboost.dll)創建DMatrix(這就像一個二維數組),並把它多少列了。它運行正常,直到它在下面的代碼拋出一個System.AccessViolationException在int cols = ...行: using System; using System.Runtime.InteropServices; namespace basi

    0熱度

    2回答

    __declspec(dllexport) void __cdecl memcopy(void *pDst, const void *pSrc, unsigned int nSize) { __asm { mov esi, pSrc mov edi, pDst mov ecx, nSize $L1: movq mm7,

    -1熱度

    1回答

    我正在嘗試使用XGBoost's dll(libxgboost.dll)創建一個DMatrix(就像一個二維數組),並獲取它有多少個列。它運行正常,直到它在下面的代碼拋出一個System.AccessViolationException在int cols = ...行: using System; using System.Runtime.InteropServices; namespace

    0熱度

    1回答

    我出現以下情況例外,當我運行GetBoard方法(但Initialize好的工作方法): System.Runtime.InteropServices.MarshalDirectiveException was unhandled HResult=-2146233035 Message=Method's type signature is not PInvoke compatible. So

    1熱度

    1回答

    我試圖讀取一個數組,它是由C#編寫的一個dll函數創建的。當我打印出陣列的內容時,它實際上已經是垃圾了。 我懷疑這是因爲我錯誤地將const float**編爲out IntPtr。你如何正確編組const float**? DLL C++接口 int Foo(void *objPtr, uint64_t *resultLen, const float **result); DLL導入語句 [

    -1熱度

    1回答

    我想用C++函數的代碼到.NET代碼 MYDLL_API BOOL GetFolderSize(LPCTSTR lpszStartFolder, BOOL bRecurse, BOOL bQuickSize, PLARGE_INTEGER lpFolderSize, LPDWORD lpFolderCount /*= NULL*/,

    -1熱度

    1回答

    我想移植一個用C#編寫的應用程序。 NET(在Windows上運行)在Linux中。我認爲的第一個解決方案是使用Mono。我嘗試使用Mono Migration Analyzer MoMa,錯誤是平臺調用。應用程序調用像kerne32.dll一樣的Win32 Native函數,我想知道在Linux中是否有任何等價物;任何可以實現相同內容的共享庫。 我看單文檔中關於這個話題:http://www.m