Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.12.2016, 11:21   #11
Heneken87
Форумчанин
 
Регистрация: 27.04.2012
Сообщений: 219
По умолчанию

Цитата:
у меня программа скрывается от процессы на диспетчере задач как его обратно открыть с данными
что бы программа повторно не открывался ,открылся уже открытая форма
В project->View Sorce
Код:
if GetLastError <> ERROR_ALREADY_EXISTS then
begin
Sleep(2000);
end;
CreateMutex(nil, True, 'REESTERSKOMLEKS2013');
if GetLastError = ERROR_ALREADY_EXISTS then
begin
showmessage('Программа уже запущена!');
SetForegroundWindow(FindWindow('TSTART_FORM',nil));
Exit;
end;
Оно?
Пишу много и развернуто

Последний раз редактировалось Heneken87; 27.12.2016 в 11:34.
Heneken87 вне форума Ответить с цитированием
Старый 27.12.2016, 23:03   #12
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию

не тот, ошибку вылает
alman12 вне форума Ответить с цитированием
Старый 28.12.2016, 00:49   #13
Heneken87
Форумчанин
 
Регистрация: 27.04.2012
Сообщений: 219
По умолчанию

Цитата:
Сообщение от alman12 Посмотреть сообщение
не тот, ошибку вылает
Хоть напишите какую)
Пишу много и развернуто
Heneken87 вне форума Ответить с цитированием
Старый 28.12.2016, 01:37   #14
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию

Изображения
Тип файла: png 1.PNG (4.6 Кб, 100 просмотров)
alman12 вне форума Ответить с цитированием
Старый 28.12.2016, 07:13   #15
Heneken87
Форумчанин
 
Регистрация: 27.04.2012
Сообщений: 219
По умолчанию

Цитата:
Сообщение от alman12 Посмотреть сообщение
В Uses добавить нужно Windows и Dialogs

Полный листинг:
Код:
program ViandTy;

uses
  Forms,
  Windows,
  Dialogs,
   STARTS in 'STARTS.pas' {START_FORM};
{$R *.res}
begin
if GetLastError <> ERROR_ALREADY_EXISTS then
begin
Sleep(2000);//Время на выгрузку пограммы если она есть
end;
CreateMutex(nil, True, 'REESTERSKOMLEKS2013');
if GetLastError = ERROR_ALREADY_EXISTS then
begin
showmessage('Программа уже запущена!');
SetForegroundWindow(FindWindow('TSTART_FORM',nil));
Exit;
end;
  START_FORM.DisableProcessWindowsGhosting;
  Application.Initialize;
  ///Application.MainFormOnTaskbar := True;
  Application.CreateForm(TSTART_FORM, START_FORM);
  Application.Run;

end.
Пишу много и развернуто
Heneken87 вне форума Ответить с цитированием
Старый 28.12.2016, 10:14   #16
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Цитата:
Сообщение от alman12 Посмотреть сообщение
не тот, ошибку вылает
Совсем уже своей головой думать разучились.
Похоже не зря Репа -159
FaTaL вне форума Ответить с цитированием
Старый 29.12.2016, 12:33   #17
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию

добавил я в uses windows ,dialogs

Последний раз редактировалось alman12; 29.12.2016 в 12:57.
alman12 вне форума Ответить с цитированием
Старый 29.12.2016, 13:54   #18
Heneken87
Форумчанин
 
Регистрация: 27.04.2012
Сообщений: 219
По умолчанию

Цитата:
Сообщение от alman12 Посмотреть сообщение
добавил я в uses windows ,dialogs
Молодец)
Пишу много и развернуто
Heneken87 вне форума Ответить с цитированием
Старый 29.12.2016, 14:15   #19
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию

не вызывается ранее открытая окно только сообщения что
"Программа уже запущена! " и закрывается
alman12 вне форума Ответить с цитированием
Старый 29.12.2016, 14:19   #20
Heneken87
Форумчанин
 
Регистрация: 27.04.2012
Сообщений: 219
По умолчанию

Цитата:
Сообщение от alman12 Посмотреть сообщение
не вызывается ранее открытая окно только сообщения что
"Программа уже запущена! " и закрывается
SetForegroundWindow(FindWindow('TST ART_FORM',nil)); ТУт вместо TSTART_FORM что написали? Свою форму? Или так и оставили?
SetForegroundWindow- Делает форму активной, если форма свернута логично наверное что перед тем как сделать ее активной не мешало бы её развернуть.... Хотя бы так....ShowWindow(FindWindow('TSTAR T_FORM',nil),SW_SHOWNORMAL);
Пишу много и развернуто

Последний раз редактировалось Heneken87; 29.12.2016 в 14:31.
Heneken87 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отслеживать процесс в Диспетчере задач... xC0der Win Api 2 12.01.2012 10:41
Как сделать программу невидимой в диспетчере задач?? Дима я Общие вопросы Delphi 7 04.11.2010 10:12
Драйвер скрывающий процессы в диспетчере Damienn Операционные системы общие вопросы 4 26.06.2008 10:23
Как сделать, чтобы процес небыло видно в Диспетчере задач? HunterMan Win Api 1 25.06.2008 21:34
Показывать ранг процесса в Диспетчере Задач как системный BanDit Win Api 1 30.07.2007 15:02