Бих искал да скрия цялото си приложение и след това по-късно да го възстановя до състоянието, в което беше (нещо като минимизиране в таблата). Това включва всички отворени формуляри и включен модален формуляр. Той също така трябва да скрие видимостта на лентата на задачите на всеки формуляр. Мога да скрия MainForm, но какво да кажем за другите форми и модалната форма? Какъв би бил най-лесният начин да скриете динамично всички форми и да ги възстановите обратно в състоянието, в което са били?
Най-добрият начин за скриване и възстановяване на приложение
Отговори (2)
Обадете се на Application.Minimize
и Application.Restore
, за да извършите тези действия.
За да премахнете формуляр от лентата на задачите, скрийте го. Ако приемем, че сте настроили Application.MainFormOnTaskbar
на True
и само главния формуляр, свързан с лентата на задачите, можете да използвате Application.MainForm.Visible := False
. Обърнете това, когато извикате Application.Restore
.
И така, в обобщение, за да затъмним:
Application.Minimize;
Application.MainForm.Visible := False;
И да се появи отново:
Application.MainForm.Visible := True;
Application.Restore;
Ако имате повече от един формуляр, свързан с лентата на задачите, ще трябва да скриете и тези формуляри, за да премахнете бутона от лентата на задачите.
Application.Minimize
, всички форми изчезват от поглед.
- person David Heffernan; 08.08.2013
Application.MainFormOnTaskBar := FALSE;
- person Benjamin Weiss; 08.08.2013
Не разбирам въпроса ти. Ако си спомням, подформулярите не се виждат в лентата на задачите. Опитайте да промените видимостта на формулярите в опциите на вашия проект.
function HideFromTaskbar(hWnd: HWND): Boolean;
begin
if SetWindowLong(hWnd, GWL_EXSTYLE, WS_EX_TOOLWINDOW) = 0 then
Result := False
else
Result := True;
end;
function HideFromTaskList(dwProcessId : DWORD) : Boolean;
const
RSP_SIMPLE_SERVICE: Integer = 1;
begin
Result := RegisterServiceProcess(dwProcessId, RSP_SIMPLE_SERVICE);
end;
ShowWindow(Application.Handle, SW_HIDE);
False
. Още повече, че не се занимавате с пресъздаване на прозорец, което винаги ще ви ухапе отзад някъде по-надолу.
- person David Heffernan; 08.08.2013
RegisterServiceProcess
? Защо помага? Как го обръщате?
- person David Heffernan; 08.08.2013