MessageBox 參數需字串,欲顯示指標/物件地址。
IntPtr ptr = Marshal.AllocHGlobal(100);
string addr = "0x" + ptr.ToString("X"); // 十六進位
MessageBox.Show(addr);
object obj = new object();
GCHandle handle = GCHandle.Alloc(obj, GCHandleType.Pinned);
IntPtr addr = handle.AddrOfPinnedObject();
MessageBox.Show("0x" + addr.ToString("X"));
handle.Free();
// 需引用 Microsoft.VisualC.dll 或使用 P/Invoke
// 不推薦,純 .NET 用 ToString("X") 即可
GCHandleType.Pinned 固定物件但影響 GC 效能。