1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
void APIDoEvents()
{
MSG msg;
BOOL result;
while ( ::PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE ) )
{
result = ::GetMessage(&msg, NULL, 0, 0);
if (result == 0) // WM_QUIT
{
::PostQuitMessage(msg.wParam);
break;
}
else if (result == -1)
{
// Handle errors/exit application, etc.
}
else
{
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}
}
}
HWND WaitUntilWindowsMediaPlayerIsVisible(int Mode=0)
{
HWND hwndWindow=NULL;
while(true)
{
APIDoEvents();
if(Mode==0)
{
if((FindWindow("WMPlayerApp",NULL)!=NULL && IsWindowVisible(FindWindow("WMPlayerApp",NULL))==TRUE) || (FindWindow("WMP Skin Host",NULL)!=NULL && IsWindowVisible(FindWindow("WMP Skin Host",NULL))==TRUE))
{
hwndWindow=FindWindow("WMPlayerApp",NULL);
if(hwndWindow==NULL)
hwndWindow=FindWindow("WMP Skin Host",NULL);
break;
}
}
else if(Mode==1)
{
if(FindWindow("WMP Skin Host",NULL)!=NULL && IsWindowVisible(FindWindow("WMP Skin Host",NULL))==TRUE && GetWindowTitle(FindWindow("WMP Skin Host",NULL))!="Windows Media")
{
hwndWindow=FindWindow("WMP Skin Host",NULL);
break;
}
}
else if(Mode==2)
{
if(FindWindow("WMPlayerApp",NULL)!=NULL && IsWindowVisible(FindWindow("WMPlayerApp",NULL))==TRUE)
{
hwndWindow=FindWindow("WMPlayerApp",NULL);
break;
}
}
}
return hwndWindow;
}
|