38 lines
1.5 KiB
C++
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;
|
|
}
|