Hello,
Thanks again for the advice.
Probably you could simply return the desktop of the current thread.
Simply returning the desktop of current thread breaks one existent test, I adjust the idea to return the desktop of 'current process'.
A new version is sent, I appreciate for the review!