Well I do have some, but they tend to go in the direction you do not want.
First:
The EnumWindows API cannot be used in the way you want to. How were you going to tell windows not to use the local system but some remote system, when all you can supply to the function is a pointer to the callback function and some user defined variable, to be passed to the callback?
Second:
Using straight callbacks from one system to another will not work. Your calls have to be marshalled between processes/pc's. There's no way you can achieve that without using COM, named pipes, tcp/ip or whatever system you can think of that is capable of communicating between multiple pc's.
Greetings,
Rick