Сначала возникает вопрос:
В общем, в чем разница между int
и IntPtr
? Я предполагаю, что это фактический объект, а не значение типа int
или byte
. Предполагая, что это правда:
Таким образом, они не совпадают. Тем не менее, я вижу ручки, представленные как оба.
- IntPtr:
Control.Handle
-
int (или uint): PInvoke может быть настроен для возврата
int
, и он работает отлично:[DllImport("coredll.dll", SetLastError = true)] public static extern int GetForegroundWindow(); private string GetActiveWindow() { const int nChars = 256; int handle = 0; StringBuilder Buff = new StringBuilder(nChars); handle = CoreDLL.GetForegroundWindow(); if (CoreDLL.GetWindowText(handle, Buff, nChars) > 0) { return Buff.ToString(); } return ""; }
Итак, int
vs IntPtr
? Это важно для ручек? Вы можете использовать либо?