helo 我知道這可能很簡單,但請相信我,我沒有從我在google上發現的內容中讀到它。 我嘗試做如下因素的事情:將類類型對象轉換爲Intptr
unsafe static IntPtr __convertSearcherCallbackParameterToIntPtr (SearcherCallbackParameter searcherCallbackParameter) { return (*(IntPtr*)&searcherCallbackParameter); }
其中SearcherCallbackParameter是一類,我需要將其轉換爲一個IntPtr這樣我就可以把它作爲一個參數,一個Windows API。
我得到如下因素的錯誤: 不能走的地址,獲取的大小,或指針聲明到託管型
CLR保留將您在內存中移動的權利,因此即使您可以獲取託管對象的地址,該地址幾乎肯定會非常快地失效。你介意說明你正在嘗試使用哪個API調用? – Jimmy 2011-02-26 08:27:53
我想你EnumWindows和EnumChildWindows,我需要發送一個指針(或IntPtr)SearcherCallbackParameter。所以我的回調可以接收它。 – hgfhnfg 2011-02-26 08:30:42
野兔是我聲明的fcts:private delegate bool EnumWindowsProc(IntPtr hWnd,IntPtr lParam); [DllImport(「user32.dll」,CharSet = CharSet.Auto,SetLastError = true)] private static extern bool EnumWindows(EnumWindowsProc callback,IntPtr extraData); – hgfhnfg 2011-02-26 08:31:55