На самом деле вы ищете, как сравнить два курсора.
У вас есть растровое изображение, и у вас есть курсор, и вы хотите проверить, был ли курсор создан с использованием растрового изображения.Для этого, в качестве опции, создайте курсор из растрового изображения, а затем сравните его, сохраните эти два курсора (новый, созданный из растрового изображения и существующий) в поток и сравните потоки.
Например:
bool ArEqual(Cursor cur1, Cursor cur2)
{
byte[] bytes1, bytes2;
using (var ico = Icon.FromHandle(cur1.Handle))
using (var fs = new MemoryStream())
{
ico.Save(fs);
bytes1 = fs.ToArray();
}
using (var ico = Icon.FromHandle(cur2.Handle))
using (var fs = new MemoryStream())
{
ico.Save(fs);
bytes2 = fs.ToArray();
}
return bytes1.SequenceEqual(bytes2);
}