我一直在爲這一整晚奮戰。我只是沒有什麼錯。我正在嘗試獲取桌面圖標+標題大小。我有一些函數可以找到桌面句柄並將其放入名爲SysListView32_hwnd的變量中。我已經驗證它是正確的與Windows間諜程序。這是我遇到麻煩的部分。使用LVM_GETITEMRECT消息獲取桌面圖標大小
Rectangle rct = new Rectangle();
IntPtr pRct = Marshal.AllocHGlobal(Marshal.SizeOf(rct));
Marshal.StructureToPtr(rct, pRct, true);
SendMessage(SysListView32_hwnd, LVM_GETITEMRECT, (IntPtr)0, pRct);
Rectangle Rect = (Rectangle)Marshal.PtrToStructure(pRct, typeof(Rectangle));
Marshal.FreeHGlobal(pRct);
Debug.WriteLine(Rect.Height + " " + Rect.Width);
它每次都會崩潰瀏覽器。 C#的Visual Studio 2010 的Windows 7 x64和我編譯爲64位程序
Here是我的全部應用程序,如果需要
你知道哪一行崩潰了explorer /導致異常嗎? – jadarnel27
@ jardarnel27這很容易,它是SendMessage –
@David對你來說很容易,也許。在這個問題中,這是一個很好的做法,在程序被炸燬的地方。這樣人們就不必假設/猜測。 – jadarnel27