What you want cannot be done through code. I wanted to do the same, but that is not possible. In fact, the cursor class has the HotSpot property, which is the point you want to change. However, this property is read-only. The only way to change this is to download the file (in the .cur file, I suggest you use Paint.net with the cursor and icon plugin (search over the network) to edit the cursor). Important: the cursor must be a file, not a resource or such things (must be a file in the file system) to load it. Remember this, I had a bad time testing in other ways.
The idea that I have in mind is: edit the cursor file only when you need to change the access point, however, for this you need to write an api that allows you to change the access point in the cursor file. I obviusly don't know how this file is built, so you should continue here.
Hope this was helpful
source share