intptr

    0熱度

    2回答

    如何檢查窗口是否有重疊? 我發現這個的WinForms代碼應該做的伎倆: public static bool IsOverlapped(IWin32Window window) { if (window == null) throw new ArgumentNullException("window"); if (window.Handle == IntPtr.

    -3熱度

    2回答

    除了錯誤地使用DLL,當我嘗試在IntPtr方法中使用theTestValue時,IntelliSense將其標記爲失敗。我想知道爲什麼會發生這種情況,因爲我需要在該方法內部使用外部的bool。 public partial class Form1 : Form { [DllImport("user32.dll")] private static extern IntPtr

    0熱度

    1回答

    我試圖獲取文件夾system32中的文件和文件夾的圖標,但在不同的文件上獲得"System.ArgumentException" in System.Drawing.dll。 我創建了一個類: [StructLayout(LayoutKind.Sequential)] public struct SHFILEINFO { public IntPtr hIcon; publi

    2熱度

    1回答

    我想了解的是什麼之間的區別:他們給了不同的結果 new IntPtr(pointer.ToInt64() + 0x4); 和 Marshal.ReadIntPtr(pointer + 0x4); ,但它不是做同樣的事情? 如果可能,你能否提供一個實際的例子來說明我對它的誤解是什麼?

    3熱度

    2回答

    我在C#中的方法,這是我從.DLL [DllImport("somedll.dll", CallingConvention = CallingConvention.Cdecl)] public static extern int find([MarshalAs(UnmanagedType.AnsiBStr, SizeConst = 64)] string atr, out IntPtr int)

    0熱度

    1回答

    我有C++ DLL。 在C#AccessViolation中從此DLL調用的方法被拋出時。 我的代碼中有什麼錯?有人能幫我嗎? C++頭部分: typedef PVOID X_HANDLE; XREADER_API BOOL ReaderOpen(X_HANDLE *pxHandle); XREADER_API BOOL ReaderReceiveW26(X_HANDLE xHandle, L

    0熱度

    1回答

    我有一個使用SRP6進行加密的服務器程序。爲了達到這個目的,它使用了OpenSSL LIBEAY32.dll。它使用BN函數和IntPtr,但是我對於DLL函數中實際發生的事情完全神祕。更糟糕的是,我不確定是否有一些自定義元素添加到使用的加密中。 爲了讓我明白這一點,所以我可以徹底瞭解我想要轉換代碼的過程,使它使用BigInteger並在DLL之外執行計算。但是因爲我的知識在這方面嚴重缺乏,所以我

    1熱度

    2回答

    我有2個應用程序。 其中之一是WPF應用程序,另一個是系統托盤應用程序。 第一個應該以某種方式傳遞到另外一個他的窗口指針IntPtr IntPtr thisWindowHandle = (new WindowInteropHelper(this)).Handle; ,第二個應該接受它,並檢測WPF應用程序的活動畫面。 Screen activeScreen = Screen.FromHandl

    -2熱度

    1回答

    我需要傳遞一個字節數組到memset,由於P/Invoke clunkiness需要IntPtr。手工測試,它可行,但我正在尋求理論上的確認。這種方法是否正確? [DllImport("msvcrt.dll", EntryPoint = "memset", CallingConvention = CallingConvention.Cdecl, SetLastError = false)] pu

    0熱度

    1回答

    我有下面這段代碼: static internal bool SaveEnhMetafileToFile(Metafile mf, string fileName) { bool bResult = false; IntPtr hEMF; hEMF = mf.GetHenhmetafile(); // invalidates mf if (!hEMF.Eq