Здравствуйте, <Аноним>, Вы писали:
А>Хочется переключиться на окно одного из запущенных приложений. А>Имеется соответствующий ему hProcess. А>Как это сделать ?
Здравствуйте, Odi$$ey, Вы писали:
OE>Здравствуйте, <Аноним>, Вы писали:
А>>Хочется переключиться на окно одного из запущенных приложений. А>>Имеется соответствующий ему hProcess. А>>Как это сделать ?
OE>http://rsdn.ru/article/qna/ui/wndsetfg.xml
У меня под XP он работает нормально, какие тут могут быть грабли?
----------------
Кирилл Грибунин
Re[3]: Как сделать активным окно приложения из другой програ
От:
Аноним
Дата:
21.06.04 12:42
Оценка:
Здравствуйте, gribunin, Вы писали:
G>Здравствуйте, Odi$$ey, Вы писали:
OE>>Здравствуйте, <Аноним>, Вы писали:
А>>>Хочется переключиться на окно одного из запущенных приложений. А>>>Имеется соответствующий ему hProcess. А>>>Как это сделать ?
OE>>http://rsdn.ru/article/qna/ui/wndsetfg.xml
G>У меня под XP он работает нормально, какие тут могут быть грабли?
Это работает в редкой половине случаев, проверено на большой практичке. часто приложение становится foreground, но его окно продолжает находиться за другими. лучше всего работает вариант с SC_HOTKEY
Re[5]: Как сделать активным окно приложения из другой програ
G>>>У меня под XP он работает нормально, какие тут могут быть грабли?
А>>У меня тоже работает... А>>Но у меня вызывающий процесс является активным, видимо в этом дело.
G>А что значит "активный" процесс? В моём тесте этот код вызывался из другого процесса, у которого даже не было своих окон.
В описании SetForegroundWindow одним из требований для вызывающего процесса выделено:
"The process is the foreground process."
Вероятно, для ShowWindow это тоже должно соблюдаться.
Re[4]: Как сделать активным окно приложения из другой програ
От:
Аноним
Дата:
21.06.04 13:40
Оценка:
Здравствуйте, IPv6, Вы писали:
IP>Здравствуйте, gribunin, Вы писали:
G>>Кстати, вы не знаете, а будет ли работать простой, но не описанный в той статье способ:
G>>
G>>У меня под XP он работает нормально, какие тут могут быть грабли?
IP>Это работает в редкой половине случаев, проверено на большой практичке. часто приложение становится foreground, но его окно продолжает находиться за другими. лучше всего работает вариант с SC_HOTKEY
Что за вариант ?
Как сделать активным окно приложения из другой программы
G>>>У меня под XP он работает нормально, какие тут могут быть грабли? IP>>Это работает в редкой половине случаев, проверено на большой практичке. часто приложение становится foreground, но его окно продолжает находиться за другими. лучше всего работает вариант с SC_HOTKEY А>Что за вариант ?
Здравствуйте, IPv6, Вы писали:
IP>Здравствуйте, Аноним, Вы писали:
А>>Здравствуйте, IPv6, Вы писали:
G>>>>У меня под XP он работает нормально, какие тут могут быть грабли? IP>>>Это работает в редкой половине случаев, проверено на большой практичке. часто приложение становится foreground, но его окно продолжает находиться за другими. лучше всего работает вариант с SC_HOTKEY А>>Что за вариант ? IP>::SendMessage(::GetDesktopWindow(), WM_SYSCOMMAND, (WPARAM) SC_HOTKEY, (LPARAM)hWin); IP>подробности в МСДНе. Работает до XP включительно. Врядли это отключат в буд. версиях, потому как что-то из виндов эту фичу использует
Интересно. Спасибо.
Re: Как сделать активным окно приложения из другой программы
Здравствуйте, Chez, Вы писали:
А>>Хочется переключиться на окно одного из запущенных приложений. А>>Имеется соответствующий ему hProcess. А>>Как это сделать ?
C>Если извесно HWND любого процесса (к примеру главное окно нужной тебе программы, можно найти используя FindWindow), то C>рулит функция: C>
....
C>
C>Создавалась для САМОактивации приложения, но по идее должна работать и с другими...
Вот нифига она не работает, под XP во всяком случае. пробовал, знаю. Вот пост по поводу послать системнуб комманду — это работает.
Just dream can be infinity.
ICQ:77405006
Re: Как сделать активным окно приложения из другой программы
IP>подробности в МСДНе. Работает до XP включительно. Врядли это отключат в буд. версиях, потому как что-то из виндов эту фичу использует
У меня есть подозрение, что это перестало работать в W2K3 SP1. По-крайней мере в тестовых условиях на такой OS не срабатывает... Есть идеи?
"Develop with pleasure!"
Re[3]: Как сделать активным окно приложения из другой програ
От:
Аноним
Дата:
26.09.05 10:47
Оценка:
Здравствуйте, Rampant, Вы писали:
R>Здравствуйте, Chez, Вы писали:
А>>>Хочется переключиться на окно одного из запущенных приложений. А>>>Имеется соответствующий ему hProcess. А>>>Как это сделать ?
C>>Если извесно HWND любого процесса (к примеру главное окно нужной тебе программы, можно найти используя FindWindow), то C>>рулит функция: C>>
R>....
C>>
C>>Создавалась для САМОактивации приложения, но по идее должна работать и с другими...
R>Вот нифига она не работает, под XP во всяком случае. пробовал, знаю. Вот пост по поводу послать системнуб комманду — это работает.
Системная комманда тоже не работает... Во всяком случае начиная с WinXP SP 2. На других версиях вроде работает. Проверено практикой.