Получение дескрипторов окна Delphi

Поскольку многие клиенты требуют соответствия NIST криптографические стандарты, я использую руководство в NIST Специальная Публикация 800†‘57, Рекомендация для управления ключами Часть 1, В§5.6. Большинство наших приложений является подходящим вариантом для 112 "битов" безопасности, так, чтобы соответствовал тройному DES (или маленький удар до 128-разрядного AES) для симметричных шифров и 2048-разрядного ключа для RSA. Посмотрите Таблицу 2 для грубой эквивалентности.

Допустимый или нет, способность отослать их к публикации NIST помогает клиентам чувствовать себя лучше о безопасности (если они потрудились спрашивать).

7
задан Jon Tackabury 11 September 2009 в 03:56
поделиться

3 ответа

Нет, нет документированного способа узнать, какое из окон представляет Application.MainForm извне приложения. В более новых версиях Delphi дескриптор окна основной формы в любом случае не обязательно Application.MainForm.Handle ; приложения могут обрабатывать событие OnGetMainFormHandle , чтобы возвращать все, что они хотят - это используется для выбора родительского окна для модальных диалогов.

Вы можете угадать , ища окна с "main" в имена их классов, но даже если вы его найдете, нет гарантии, что существует только один его экземпляр. У приложений может быть несколько окон верхнего уровня, и в этом случае нет смысла назначать какое-либо из них «главным».

14
ответ дан 6 December 2019 в 10:02
поделиться

Имя класса любая форма Delphi также является зарегистрированным именем класса окна для лежащее в основе "окно Windows". Таким образом, вы должны иметь возможность использовать вызов Windows API FindWindow () , чтобы получить дескриптор окна TFrmMain, что-то вроде:

 hWnd := FindWindow('TFrmMain', NIL);

Если существует (потенциально) несколько экземпляров данного имени класса формы, тогда вы можете различить их, используя второй параметр (имя окна, т.е. «заголовок» или заголовок). Если этого по-прежнему недостаточно, вам, возможно, придется немного усложнить ситуацию и посмотреть на использование функции EnumWindows () и проверку свойств окон, чтобы найти интересующее.

Чтобы проверить имя класса произвольного дескриптора окна (например,

4
ответ дан 6 December 2019 в 10:02
поделиться

Обычно я использую WinDowse , чтобы помочь мне начать работу, но тогда вам придется использовать функции API, как описано Deltics.

1
ответ дан 6 December 2019 в 10:02
поделиться
Другие вопросы по тегам:

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