Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Переключится на прошлый процесс

1.8K
09 августа 2004 года
SeregaLBN
62 / / 03.10.2003
Хочу из своей проги переключится на предыдущую - как по нажатию Alt+Tab.
Как это сделать?

Я это делаю сейчас так (но это не совсем правильно):

Код:
BOOL CALLBACK ___EnumWindowsProc(
  HWND hWnd,      // handle to parent window
  LPARAM lParam   // application-defined value
) {
   if ((hWnd != (HWND)lParam)
      &&  ::IsWindowVisible(hWnd)
      &&  ::IsWindowEnabled(hWnd)
      //&& (::GetParent(hWnd) == ::GetDesktopWindow())
      )
   {
      TCHAR szText[1024] = {0};
      ::GetWindowText(hWnd, szText, 1024);
      if (szText[0]) {
         ::SetWindowPos((HWND)lParam, HWND_BOTTOM, 0,0,0,0, SWP_NOSIZE | SWP_NOMOVE);
         ::SetForegroundWindow(hWnd);
         ::SetActiveWindow(hWnd);
         ::SetFocus(hWnd);
         return FALSE;
      }
   }
   return TRUE;
}

void SetBack()
{
   HWND hWnd = ::GetActiveWindow();
   ::EnumWindows(___EnumWindowsProc, (LPARAM)hWnd);
   //::EnumDesktopWindows(NULL, ___EnumWindowsProc, (LPARAM)hWnd);
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог