Is this possible using compatibility administrator?
No; Only a elevation of the permissions of the process would give it full access to the registry give. However, there are keys, not even a Administrator can access unless the permissions are changed.
I want to give my application full access to only the registry (don't want to run it as admin).
If your unwilling to run the process as an Administrator, then your application cannot, access keys only an Administrator can access.
I can't find the right shim for this.
There isn’t one.