|
5 / 5 / 1
Регистрация: 26.10.2010
Сообщений: 126
|
|||||||||||
Как узнать дескриптор окна приложения?11.03.2012, 21:57. Показов 11381. Ответов 4
Метки нет (Все метки)
Здравствуйте, в user32.dll есть такая функция:
Пока приложение было консольное, окно выскакивало наверх. Как только приложение стало WindowsForm, Process.GetCurrentProcess().MainWindowHa ndle возвращает ноль. Handle, правда отличен от нуля, но тоже не совпадает с дескриптором окна, которое выводится. Как узнать мне дескриптор этого окна или решить проблему другим образом?
0
|
|||||||||||
| 11.03.2012, 21:57 | |
|
Ответы с готовыми решениями:
4
Узнать дескриптор окна Узнать дескриптор окна запускаемой программы Получить дескриптор окна стороннего приложения и контекстного меню |
|
107 / 107 / 9
Регистрация: 19.12.2010
Сообщений: 417
|
|
| 11.03.2012, 22:06 | |
|
0
|
|
|
5 / 5 / 1
Регистрация: 26.10.2010
Сообщений: 126
|
||||
| 12.03.2012, 13:28 [ТС] | ||||
|
( Речь о том, как бы переключить на передний план главное окно другого приложения (которое я же и запускаю). ну и интересно, почему MainWindowHandle по разному работает )) Добавлено через 10 минут Второе применение: Я запускаю программу, которая должна быть одна на систему. Если программа уже запущена, то выполняется перевод программы на передний план, а запущенный вторым экземпляр останавливается
0
|
||||
|
107 / 107 / 9
Регистрация: 19.12.2010
Сообщений: 417
|
|
| 12.03.2012, 16:02 | |
|
1
|
|
|
5 / 5 / 1
Регистрация: 26.10.2010
Сообщений: 126
|
|||||||||||||||||||||
| 13.03.2012, 13:14 [ТС] | |||||||||||||||||||||
|
FutureCome, Спасибо. Не скажу что код по ссылкам для моего случая подходит, но позволил работать в нужном направлении. Вот что получилось.
Задача: 1. сделать сервер, который запускается один на систему, а при попытке вызвать его ещё раз - выставляет запущенный сервер на передний план, даже если он свёрнут в область уведомлений 2. Сделать несколько клиентов, первый из которых при запуске запустит сервер, а последний - корректно его прибъёт (Заранее извиняюсь за нерасставленные директивы using - дёргал куски из боевого кода) Для удобства и читабельности, обращения к WINAPI вынесены в отдельный класс. Вот он:
Код сервера
код клиента
думаю, стоит пояснить несколько моментов: 1. в коде есть манипуляции с процессами. Я надеялся получить handle без обращения WINAPI через них. Не получилось. Почему - выяснить не удалось. Но: Process.Kill может завершить процесс АВАРИЙНО, что не подходит для меня, но может кому-то и пригодится. 2. По поводу способа закрывания сервера. Дело в том, что сервер работает из трея. Соответственно, для удобства ALT+F4 и x-кнопка сворачивают в трей, но не закрывают его. Поэтому код:
1
|
|||||||||||||||||||||
| 13.03.2012, 13:14 | |
|
Помогаю со студенческими работами здесь
5
Перерисовка окна другого процесса через дескриптор этого окна
Узнать название приложения активного окна, хук на переключения окон Как из DLL узнать дескриптор приложения Как из DLL узнать дескриптор приложения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|