_>Ну как бы это всё прогресс, но даже близко не имеет отношения к каким-то революционным изменениям.
_>Вот WinRT — это действительно что-то типа революции. Только вот существенно запоздавшей — далеко не факт, что сейчас взлетит. Тем более, что старый api на десктопе никто не запрещает, а metro пока и не особо актуально.
Ну по моему революция — далеко не всегда то что что видно невооруженным глазом.. Ну да ладно.
O>>С помощью них сама винда, и все (сильно) желающие могут впендюривать свои окошки туда, где обычно показываются Win'RT приложения.
_>О, очень интересно. Не в смысле нашей дискуссии (это тоже явно не какая-то революция), а просто лично для меня. Это что, позволяет нам из обычного приложения влезть в метро интерфейс или что?
Да. С учетом некоторых ээ.. хитростей... А именно — не любой процесс может это сделать. Могут похоже лишь подписанные микрософтом, но и то — не все. explorer.exe — может. Потому если хочется влезть в метроинтерфейс, то можно заинжектить в экплорер свою длл, которая должна выполнить примерно такой вот код в нем:
typedef HWND (WINAPI *CreateWindowInBandProc)(DWORD dwExStyle, LPCWSTR lpClassName,
LPCWSTR lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight,
HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam, DWORD dwBand);
CreateWindowInBandProc pCreateWindowInBand = (CreateWindowInBandProc)
::GetProcAddress(::GetModuleHandle(TEXT("user32.dll")), "CreateWindowInBand");
if (!pCreateWindowInBand)
{
::MessageBox(0, TEXT("CreateWindowInBand not found"), TEXT("Hello"), MB_ICONWARNING);
return;
}
DWORD cy = ::GetSystemMetrics(SM_CYMAXIMIZED), y = 10, x = 10;
TCHAR txt[0x100] = {0};
for (DWORD i = 0; i<=0x20; ++i)
{
wsprintf(txt, TEXT("Band %u\n"), i);
HWND w = pCreateWindowInBand(WS_EX_TOPMOST, TEXT("Edit"), txt,
WS_VISIBLE|WS_OVERLAPPEDWINDOW, x, y, 200, 40, 0, 0, ::GetModuleHandle(0), 0, i);
if (!w)
{
wsprintf(txt, TEXT("Failed %u\n"), i);
pCreateWindowInBand(WS_EX_TOPMOST, TEXT("Edit"), txt,
WS_VISIBLE|WS_OVERLAPPEDWINDOW, x, y, 200, 40, 0, 0, ::GetModuleHandle(0), 0, 0);
}
if (( (y+= 40 ) +40)>=cy)
{
y = 10;
x+= 200;
}
}
::MessageBox(0, TEXT("In loop.."), TEXT("Hello"), MB_ICONWARNING);
}
Это работало полтора года назад на свежезарелизенной восьмерке — создавались окошки везде где можно

А сейчас могли добавить дополнительные ректальные оградки. Но по факту — все это ваше RT — не более чем надстройка над старым добрым вендогуем