Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
1

вернуть обратно

30.09.2012, 22:05. Показов 1677. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
здравствуйте - скажите как можно вернуть что бы после закрытия программы опять можно было все открыть.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure antio;
var
 tit:HWND;
begin
 tit:=FindWindow(nil, 'Диспетчер задач Windows');
 if (tit>0) then
 PostMessage(tit, WM_QUIT, 1, 0);
 tit:=FindWindow(nil, 'Запуск программы');
 if (tit>0) then
 PostMessage(tit, WM_QUIT, 1, 0);
 tit:=FindWindow(nil, 'Мой компьютер');
 if (tit>0) then
 PostMessage(tit, WM_QUIT, 1, 0);
 tit:=FindWindow(nil, 'Пуск');
 if (tit>0) then
 PostMessage(tit, WM_QUIT, 1, 0);
end;

этот код я использовал. а вот как вернуть не могу. а то после закрытия программы получается что ПУСК и т.д. не открываются(((
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.09.2012, 22:05
Ответы с готовыми решениями:

Как вернуть обратно записи после фильтрации
Доброго времени суток. У меня такой вопрос. Я создал в программе фильтр. Данные вводятся и в...

Как вернуть обратно Windows XP?
Вчера решил установить Windows 7 поверх XP. Всё установилось и работает. Единственная проблема в...

Как вернуть обратно к switch
// ConsoleApplication13.cpp: определяет точку входа для консольного приложения. // #include...

Изменения в DataGridView отменить и вернуть обратно
Здравствуйте) Помогите пожалуйста с кодом, хочу чтоб изменения в datagridview отменить и вернуть...

12
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
30.09.2012, 23:01 2
Конечно не открывается. Вы понимаете вообще, что делает ваш код? Вы перечисленным окнам, если они найдены добавляете в очередь сообщений сообщение WM_QUIT. Оно завершает работу приложений. Ну вы их все успешно и закрыли. И вся песня.

Не по теме:

P.S. правда WM_QUIT не является сообщением как таковым, оно просто взводит флаг ожидания закрытия в очереди сообщений, который проверяется тогда, когда все сообщения в очереди обработаны.

0
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
30.09.2012, 23:07  [ТС] 3
Цитата Сообщение от HighPredator Посмотреть сообщение
Конечно не открывается. Вы понимаете вообще, что делает ваш код? Вы перечисленным окнам, если они найдены добавляете в очередь сообщений сообщение WM_QUIT. Оно завершает работу приложений. Ну вы их все успешно и закрыли. И вся песня.

Не по теме:

P.S. правда WM_QUIT не является сообщением как таковым, оно просто взводит флаг ожидания закрытия в очереди сообщений, который проверяется тогда, когда все сообщения в очереди обработаны.

а как их можно заново запустить??? не перезагружая комп???
0
angstrom
30.09.2012, 23:12 4
WinExec
ShellExecute
CreateProcess
Выбирай по вкусу.
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
30.09.2012, 23:13  [ТС] 5
Цитата Сообщение от angstrom Посмотреть сообщение
Выбирай по вкусу.
ShellExecute - это можно как я думаю. а как мне их вообще искать как прописывать это. можешь подсказать?
0
angstrom
30.09.2012, 23:15 6
Перед тем как закрывать программу, узнай её путь. Правда я не уверен, что это "прокатит" для всего закрываемого. Не все из них исполняемые файлы.
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
30.09.2012, 23:21  [ТС] 7
Цитата Сообщение от angstrom Посмотреть сообщение
Перед тем как закрывать программу, узнай её путь. Правда я не уверен, что это "прокатит" для всего закрываемого. Не все из них исполняемые файлы.
из всего что закрывается меня больше всего интерисует кнопка "ПУСК" я не могу понять как ее запустить?
0
angstrom
30.09.2012, 23:28 8
Может её лучше не закрывать, а прятать, тогда и вернуть проблем не будет.
Delphi
1
2
3
4
  Wnd := FindWindow('Shell_TrayWnd', nil);
  Wnd := FindWindowEx(Wnd, HWND(0), 'Button', nil);
  {прячем кнопку "Пуск"}
  ShowWindow(Wnd, SW_HIDE);
соответственно и обратно также.

Delphi
1
2
3
4
  Wnd := FindWindow('Shell_TrayWnd', nil);
  Wnd := FindWindowEx(Wnd, HWND(0), 'Button', nil);
  {прячем кнопку "Пуск"}
  ShowWindow(Wnd, SW_SHOW);
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
30.09.2012, 23:43  [ТС] 9
все равно при запуске программы пуск работает а мне не надо это(((( у меня вин7 может внем не работает???

пробую такой код а толку нет

Отключаем пуск:

Delphi
1
enablewindow(findwindowex(findwindow('shell_traywnd',nil),0,'button',nil),false);
Включаем пуск :

Delphi
1
enablewindow(findwindowex(findwindow('shell_traywnd',nil),0,'button',nil),true);
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,432
Записей в блоге: 8
01.10.2012, 01:01 10
В "Семерке" кнопка Пуск уже не является дочерним окном shell_traywnd. Это самостоятельное отдельное окно, и искать его надо не в "детях" shell_traywnd с помощью FindWindowEx, а через FindWindow('Button', nil)
0
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
01.10.2012, 01:16  [ТС] 11
Цитата Сообщение от UI Посмотреть сообщение
В "Семерке" кнопка Пуск уже не является дочерним окном shell_traywnd. Это самостоятельное отдельное окно, и искать его надо не в "детях" shell_traywnd с помощью FindWindowEx, а через FindWindow('Button', nil)
можешь код кинуть к примеру какой использовать....?
0
angstrom
01.10.2012, 01:28 12
Можешь попытаться искать как и раньше, с указанием класса "BUTTON", дополнительно указав заголовок кнопки.
Delphi
1
  FindWindowEx(0, 0, 'BUTTON', 'Пуск');
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 832
Записей в блоге: 3
01.10.2012, 01:32  [ТС] 13
Цитата Сообщение от angstrom Посмотреть сообщение
Можешь попытаться искать как и раньше, с указанием класса "BUTTON", дополнительно указав заголовок кнопки.
Delphi
1
  FindWindowEx(0, 0, 'BUTTON', 'Пуск');
что то я не понимаю. то есть по этой строке кода он нашел кнопку "пуск" - и как сделать ее блокировку???

я хочу разобраться как блокировать эту кнопку или клавишу WIN???? поисковики скоро расплавятся от этих запросов)))
0
01.10.2012, 01:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.10.2012, 01:32
Помогаю со студенческими работами здесь

Как вернуть настройки VTune обратно?
Добрый день, все могучий All! Помоги если можешь (Парадокс для Бога: Говорят ты все можешь, а...

Как обратно вернуть их в свои форматы
У меня сестра что то скачала в интернете и когда запускала все файлы типа dock.exel изменили тип...

Как вернуть вид страниц обратно?
Доброго времени суток!!! Чтобы начать новую страницу, в то время как предыдущая еще не заполнена...

Нужно вернуть телефон обратно в магазин
Нужно вернуть телефон обратно в магазин, а для этого, надо стереть все следы подключения его к...

не могу вернуть гугл хром обратно
как вернуть домашнюю страницу гугл из bigseekpro случайно поменялась при установки проги

Есть ли возможность вернуть обратно ntldr?
У меня есть знакомый с ноутбуком. Ноут очень старый, времен Windows Vista. Установлена ХР-шка. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru