dllimport

    1熱度

    2回答

    [DllImport(「DoSomething.dll」,EntryPoint =「something_dump」,SetLastError = true)] private static extern void something_dump(IntPtr dumper); 當我運行XP機器上這dllimport的它工作正常,但在Vista上我收到了異常: 無法加載DLL「DoSomething.

    2熱度

    2回答

    我正在寫一個Excel 2007插件。使用VS2008和.NET 3.5,C#。 我捕獲了Microsoft.Office.Interop.Excel.Application的WindowActivate和WindowDeActivate事件。 當我在兩個Excel窗口之間切換時,知道WindowActivate和Deactivate僅觸發器時感到驚訝。如果我切換到記事本,我期望停用被觸發,但不會

    4熱度

    1回答

    有沒有什麼辦法可以調試我的.NET代碼通過dllimport調用非託管dll函數後發生了什麼? 我在非託管通過dllimport內公開dll函數。當我在代碼中調用一個函數時,會發生一些事情,並且它永遠不會返回。 有什麼我可以做的,也許有調試視圖或任何獲得任何信息?或者我是SOL?

    0熱度

    1回答

    我想掃描項目中尚未引用的任何程序集的目錄,然後加載實現IMyInterface的類的所有實例。 我知道Assembly.LoadFile方法可以幫助我在這裏,但我如何確定我裝載的程序集是否已被靜態引用?我不想加載任何程序集兩次。

    9熱度

    11回答

    編輯(整個問題,它太不清楚) 我想用OpenSSL.NET 的OpenSSL.NET安裝說明頁:INSTALL Make sure you have libeay32.dll and ssleay32.dll in the current working directory of your application or in your PATH. DONE In your .NET project

    1熱度

    5回答

    我有32位的dll,它使用本機C編寫,當我嘗試編譯與VC++(VS2008)通過更改它編譯的平臺將dll轉換爲x64。但是,當我試圖從我的C#應用​​程序也是「X64」平臺訪問DLL時,它無法加載DLL。我用Dllimport將dll與我的應用程序鏈接起來。 我在Vista中使用的操作系統,但我無法從我的應用程序調用dll函數它說無法加載dll。 有什麼辦法可以解決這個問題。 期待您的幫助。 問候

    1熱度

    3回答

    我發現堆棧溢出是我們所有澄清的最佳組之一。我用C編寫的本地dll。我使用VC++(VS 2008)編譯了proj,使用我的C#應用​​程序,我通過Dllimport調用了dll函數。問題是它無法加載DLL。它說無法加載DLL。 我已經編譯到平臺從x86到x64我的DLL和我的應用程序。如果你們幫我解決這個問題,這將非常好。 是否有任何可能檢查爲什麼沒有加載dll。 在此先感謝。

    4熱度

    2回答

    我試圖編寫一個C#託管類來包裝SHGetKnownFolderPath,到目前爲止它在Vista上工作,但由於在shell32.dll中找不到正確的函數而導致XP崩潰,如預期的那樣。 我想讓它設置好,這樣我就可以在使用System.Environment.GetFolderPath(如果使用XP)的情況下回退(肯定是hacky)解決方案。 (或者,甚至更好,如果它在shell32中找不到功能。)

    1熱度

    2回答

    我目前使用SetWindowsHookEx將我的DLL注入到另一個進程中,但它不會立即加載。我注意到,如果我手動點擊窗口,它會被加載,所以我猜測它正在等待某種類型的消息來激活滾動?我目前得到它與 SetForegroundWindow(otherAppHwnd); SetForegroundWindow(myAppHwnd); 激活,但是這似乎是一個黑客,而並不總是有效(即otherAppH

    5熱度

    4回答

    考慮到與下面的類一個DLL: #define DLLAPI __declspec(...) class DLLAPI Base { public: virtual void B(); }; class Derived : public Base { public: virtual void B(); virtual void D();