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