Страница: 1 |
Страница: 1 |
Вопрос: Рабочий стол
Добавлено: 20.01.09 20:02
Автор вопроса: lexei | ICQ: 464882716
Как определить находиться ли пользователь сейчас на робочем столе? Пробовал сравнивать GetDesktopWindow и GetForegroundWindow, но чёт не получается...
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
Skywalker
ICQ: 300-70-6пятьЪ
Вопросов: 62
Ответов: 545
Web-сайт:
Профиль | | #1
Добавлено: 20.01.09 21:53
попробуй перебрать все окна, если они минимизированы, то на раб столе))
Номер ответа: 2
Автор ответа:
lexei
ICQ: 464882716
Вопросов: 13
Ответов: 32
Профиль | | #2
Добавлено: 20.01.09 22:22
А почему сравнение GetDesktopWindow и GetForegroundWindow не даёт требуемого результата?
Номер ответа: 3
Автор ответа:
lexei
ICQ: 464882716
Вопросов: 13
Ответов: 32
Профиль | | #3
Добавлено: 20.01.09 22:25
Пытаюсь, но чёт не могу разовратсо с функцией GetWindowPlacement, эт она кажись отвечает за, минимизировано ли окно...
И вообще - нет ли чегонить не такого хитрого, как переберать окна))?
Номер ответа: 4
Автор ответа:
Боцман
ICQ: 295725312
Вопросов: 53
Ответов: 830
Web-сайт:
Профиль | | #4
Добавлено: 20.01.09 23:25
Я правда незнаю ответа, но может это где-то в области поверх всех?
Нет возможности поковырятся, а жаль.
Вот подумалось, нет ли хранения у винды последнего открытого окошка?
По идее оно поверх всех?
Номер ответа: 5
Автор ответа:
GDK
Вопросов: 13
Ответов: 348
Профиль | | #5
Добавлено: 21.01.09 09:12
Не пробовал через Spy++ просмотреть все окна?
Номер ответа: 6
Автор ответа:
GDK
Вопросов: 13
Ответов: 348
Профиль | | #6
Добавлено: 21.01.09 09:23
И ещё. По моему десктоп - это родительское окно для всех остальных, которые "верхнего уровня". Он же, вроде бы, содержит что то вроде Syslistview32, которое является дочерним для десктопа(все значки с надписями - его содержимое). Но не уверен. Попробуй перебрать все дочерние окна десктопа (чё то типа GetChildWindow) и сравни каждое с тем, что покажет GetForegroundWindow. Попробуй выяснять класс окна (API). Думаю поможет.
Номер ответа: 7
Автор ответа:
lexei
ICQ: 464882716
Вопросов: 13
Ответов: 32
Профиль | | #7
Добавлено: 21.01.09 17:54
GDK натолкнул на идейку... Что если сравниветь класс окна GetDesktopWindow (которая по идее должна возвращять нэндл десктопа) и класс GetForegroundWindow? Кажется класс по хэндлу можно узнать функцией на подобие GetClassName...