
Последние записи
- Копирование русского текста в буфер
- Уменьшить картинку в два раза
- Сохранить дату изменения файла после редактирования
- Как можно удалить строки ListView с теми же значениями, оставив лишь одну из них
- Обрезать фото
- Технология производства чая (белый, зелёный, жёлтый, улун, шен, красный, шу)
- Форматирование таблиц в документе (Microsoft Office Word)
- Добавить текст на картинку JPEG
- Повторяющийся звук в Delphi
- Выгрузка TImage в Excel

14th
Дек
Открыть программу при повторном клике по ярлыку
Posted by obzor under Delphi
На рабочем столе есть ярлык программы. При двойном клике по ярлыку программа запускается и показывает свой интерфейс и это правильно.
Как сделать, чтобы при повторном двойном клике по ярлыку уже запущенная программа снова показала свой интерфейс?
Например, программа свёрнута на панели задач или закрыта в трей
Не проверял (нет под рукой Дельфи), но выглядит крайне правдоподобно (код взят ОТСЮДА):
Код:
var
Semafor: THandle;
procedure RestoreWindow(aFormName: string);
var
Wnd,
App: HWND;
begin
Wnd := FindWindow(PChar(aFormName), nil);
if (Wnd <> 0) then
begin { Set Window to foreground }
App := GetWindowLong(Wnd, GWL_HWNDPARENT);
if IsIconic(App) then
ShowWindow(App, SW_RESTORE);
SetForegroundwindow(App);
end;
end;
begin
{ Don't start twice ... if already running bring this instance to front }
Semafor := CreateSemaphore(nil, 0, 1, 'MY_APPLICATION_IS_RUNNING');
if ((Semafor <> 0) and { application is already running }
(GetLastError = ERROR_ALREADY_EXISTS)) then
begin
RestoreWindow('TMyApplication');
CloseHandle(Semafor);
Halt;
end;
Application.CreateForm(....);
Application.Initialize;
Application.Run;
CloseHandle(Semafor);
end;
Случайные статьи

пеллетные котлы

Пеллетный котел Emtas

Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)