GetWindowModuleFileName and GetModuleFileName correctly retrieve information about windows and modules in the calling process. In Windows 95 and 98, they return information about windows and modules in other processes. However, in Windows NT 4.0 and Windows 2000, since module handles are no longer shared by all processes as they were on Windows 95 and 98, these APIs do not return information about windows and modules in other processes.
AtliB wrote:This makes me believe that there isn't any good solution to this except for running TimeSnapper with elevated privileges :(Like I said, if you can prove me wrong - I'll be a happy man and include that functionality! :)
The user you are running as requires read permission on the following reg key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib What needs to happen is that the permissions on the Perflib registry key needs to be set. Execute your registry editor and navigate to the registry key. Then select the Edit|Permissions menu item and add your user there.
you could add your user to the "Performance Monitor Users" user group.