Files
Work/hookproc/MAIN.CPP
2024-08-07 09:16:27 -04:00

38 lines
1.5 KiB
C++

#include <common/wstation.hpp>
#include <common/desktop.hpp>
#include <hookproc/WindowStationEnumerator.hpp>
#include <hookproc/DesktopEnumerator.hpp>
#include <hookproc/DesktopWindowEnumerator.hpp>
int PASCAL WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR /*lpszCmdLine*/,int nCmdShow)
{
Desktop mainDesktop("Default");
if(!mainDesktop.isOkay())return false;
WindowStationEnumerator windowStationEnumerator;
windowStationEnumerator.enumerateWindowStations();
for(int index=0;index<windowStationEnumerator.size();index++)
{
DesktopEnumerator desktopEnumerator;
WindowStation windowStation;
::OutputDebugString(String("WindowStationName: '")+windowStationEnumerator[index]+String("'\n"));
if(!windowStation.open(windowStationEnumerator[index]))::OutputDebugString("could not open window station\n");
desktopEnumerator.enumerateDesktops(windowStation);
for(int dindex=0;dindex<desktopEnumerator.size();dindex++)
{
Desktop desktop;
::OutputDebugString(String("Desktop Name:")+desktopEnumerator[dindex]+String("\n"));
if(!desktop.open(desktopEnumerator[dindex]))continue;
DesktopWindowEnumerator desktopWindowEnumerator;
desktopWindowEnumerator.enumerateDesktopWindows(desktop);
for(int dwindex=0;dwindex<desktopWindowEnumerator.size();dwindex++)
{
String strClassName;
::GetClassName(desktopWindowEnumerator[dwindex],(LPSTR)strClassName,String::MaxString);
::OutputDebugString(String("Windows Class Name:")+strClassName+String("\n"));
}
}
}
return 0;
}