public static Cursor CreateCursor(Bitmap bmp, Point hotspot) { if (bmp == null) { return(Cursors.Default); } var ptr = bmp.GetHicon(); var tmp = new IconInfo(); WinAPIHelper.GetIconInfo(ptr, ref tmp); tmp.IsIcon = false; tmp.xHotspot = hotspot.X; tmp.yHotspot = hotspot.Y; ptr = WinAPIHelper.CreateIconIndirect(ref tmp); return(ptr == IntPtr.Zero ? Cursors.Default : new Cursor(ptr)); }