My environment: C++ Builder XE4
Я работаю над укрытием/показом одного приложения из другого приложения, оба из которых построены с использованием XE4.это-> Скрыть() работает только один раз
Два проекта
- UnitShow: показать/скрыть UnitHide
- UnitHide: чтобы показать/спрятать от UnitShow
Код для UnitShow выглядит следующим образом:
void __fastcall TFormShow::B_showClick(TObject *Sender)
{
HWND hwnd = GetDesktopWindow();
hwnd = FindWindowEx(hwnd, NULL, L"TFormHide", NULL);
ShowWindow(hwnd, SW_SHOWNORMAL);
}
Код для UnitHide выглядит следующим образом:
void __fastcall TFormHide::B_hideClick(TObject *Sender)
{
this->Hide();
}
Свыше, я попробовал следующее.
- На UnitHide, нажмите B_hide >> UnitHide скрыта
- На UnitShow, нажмите B_show >> UnitHide показано
- На UnitHide, нажмите B_hide >> UnitHide не спрятался
I ожидается, что нажатие кнопки 2-го B_hide скроет UnitHide.
В чем причина этой проблемы?
Бессмысленный вызов 'GetDesktopWindow'. Вы можете передать 'NULL' как первый аргумент' FindWindowEx' для эффекта sam. –