There used to be a registry setting for this - but I think it won't work with Win10 anymore. The problem is when your resolution changes (plug in a projector or something) and it messes up your desktop icon locations.
Can't you just right click on the desktop and click refresh? I don't run Windows anymore, but I'm sure that used to work. It used to be a major issue when I was running multiple monitors under Windows 7 using Nvidia Surround.
There's a program called fences: https://www.stardock.com/products/fences/
It used to be free, and maybe there's still a free version somewhere, but when I used it, it was a great program.
God this fucks me off.
I use a general screen for browsing and a TV for gaming, different res so I activate one and deactivate the other.
Also have another screen running a security camera.
My desktop icons shift all over the place when I change screens, often to not even the screen I want them on.
The only way to get them back on the right screen is to move the screen they are on in Nvidia control panel left or right of my main display and they automagically jump to the main screen.