Как определить, является ли текущее окно активным окном?

Логика следующая: у вас есть n слова, которые являются анаграммами друг друга. Сколько пар анаграмм вы можете выбрать оттуда? Это простой комбинаторный вопрос с известным ответом: биноминальный коэффициент из (n,2), который равен n*(n-1)/2.

Логика заключается в том, что если вы посчитаете все анаграммы, первую анаграмму вы можете выбрать n способами, вторую - n-1 способами, но каждая анаграмма будет рассматриваться дважды: один раз как ab=ba и другой раз как [ 116]

10
задан Mark Ingram 4 February 2009 в 10:50
поделиться

3 ответа

Да, это - единственный способ, которым я знаю.

Но необходимо обработать то, что GFW может возвратить ПУСТОЙ УКАЗАТЕЛЬ. Как правило, это происходит, когда другой рабочий стол (например, рабочий стол экранной заставки) активны. Обратите внимание, что использование пароля средства сохранения может влиять, используется ли другой рабочий стол (это зависимо от версии для Windows, и я не могу помнить детали того, как различные версии работают).

Также этот код не будет работать правильно в режиме отладки в соответствии с Visual Studio, потому что Вы получите дескриптор окна VS.

Кроме этого все замечательно :-)

11
ответ дан 3 December 2019 в 23:15
поделиться

Да Вы корректны, если иначе Вы не хотите проверить activewindow каждого потока.

1
ответ дан 3 December 2019 в 23:15
поделиться

Я предполагаю, что Вы имеете в виду окно, которое имеет фокус ввода, когда Вы говорите "активное окно"?

В этом случае забудьте GetForegroundWindow () API. Это возвратит самое верхнее окно - не всегда окно, которое имеет фокус ввода.

Используйте GetFocus () вместо этого.

1
ответ дан 3 December 2019 в 23:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: