![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Klin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: нет Всего: 25 |
Как сделать, чтобы:
1)когда в винд входишь запускалась программа и пока она не закроется работу не начнёшь. 2)программу нельза было закрыть через Ctrl+Alt+Del. 3)программу можно было закрыть только кнопкой на форме. Заранее спасибо! -------------------- Я человек - попробуйте обвинить меня за это. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
Moderator: пожалуйста 1 вопрос для 1 топика.
2)Какая ось? (На NT практически невозможно) 3)обрабатывай onCloseQuery событие формы -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Klin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: нет Всего: 25 |
1) Насчёт вопросов понял - на будущее запомню
2)Windows 98 3)Ты всмысле в кнопку событие пихнуть? -------------------- Я человек - попробуйте обвинить меня за это. |
|||
|
||||
| Dexter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1562 Регистрация: 2.7.2002 Где: Москва, Бирюлево Репутация: нет Всего: 4 |
На форме событие onCloseQuery.
Когда юзер попытается выйти из проги произойдет то что ты там написал -------------------- The only thing you really know about me is... ...that's all you'll ever know |
|||
|
||||
| Klin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: нет Всего: 25 |
Спасибо Daxter!
Но это в смыле вообще нельзя выйти? -------------------- Я человек - попробуйте обвинить меня за это. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
Что значит вообще? TaskManager конечно может убить твой процесс невзирая ни на какие извороты внутри программы, особенно трудно сделать неубиенной программу для NT/2000/XP. Здесь реально выходов 3 -
1) Запускать программу как сервис (так же как драйвер например диска) 2) Сделать 2 программы, которые будут с достаточно высокой частотой проверять в памяти наличие друг друга и при убиении одной задачи другая будет немедленно ее запускать снова - это т.н. принцип "Робин Гуд и отец Тук" 3) Запускать программу из батника в бесконечном цикле OnCloseQuery способен предотвратить стандартное закрытие программы по нажатию крестика на заголовке или Alt-F4 -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Klin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: нет Всего: 25 |
Странно onCloseQuery - не работает!
-------------------- Я человек - попробуйте обвинить меня за это. |
|||
|
||||
| Dexter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1562 Регистрация: 2.7.2002 Где: Москва, Бирюлево Репутация: нет Всего: 4 |
А че ты там написал?
-------------------- The only thing you really know about me is... ...that's all you'll ever know |
|||
|
||||
| HexoGenus |
|
|||
![]() Шустрый ![]() Профиль Группа: Экс. модератор Сообщений: 110 Регистрация: 28.8.2002 Где: Ростов-на-Дону Репутация: нет Всего: нет |
Для того что бы самому решить когда пользователю можно закрыть форму а когда нет можно обрабатывать событие формы: void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action) { bool clos; … // Выполняем вычисления и в зависимости от того хотим мы // разрешить закрыть форму или ну его нафиг этого наглого пользователя // присваиваем clos значение или true или false Action=TCloseAction(clos); } --------------------
Когда невозможно уже работать напряженнее, начни работать умнее. |
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: 8 Всего: 12 |
1. Возьми и переправь в win.ini (кажется) значение оболочки с explorer.exe на твою прогу. Во завершению себя запускай explorer.exe
2. Самое надежное - это вытащить эти клавиши из клавиатуры и спрятать их подальше. 3. Убрать все лишнии кнопки с формы (крестик и систем меню), а еще можно заоодно с контролом альтом и делом и ф4 вытащить. Никак шелл для клуба пишешь? -------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
| HexoGenus |
|
|||
|
Unregistered |
В Project1.cpp или как там у тебя называется главный файл проекта... пишешь функцию : typedef DWORD (WINAPI *PREGISTERSERVICEPROCESS)(DWORD,DWORD); bool RSP(double p1, double p2) { PREGISTERSERVICEPROCESS rsp; HINSTANCE hK32; bool Rc=false; hK32=GetModuleHandle("kernel32.dll"); if(hK32!=NULL) { rsp=(PREGISTERSERVICEPROCESS) GetProcAddress(hK32, "RegisterServiceProcess"); if(rsp!=NULL) { Rc=true; rsp(p1,p2); } FreeLibrary(hK32); } return Rc; } Потом вставляешь в WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { try { //************************ // Вот эту строчку //*************VVVVVVVVVVVVVVVVVVVV if (!RSP(NULL,1)) return 0; Application->Initialize(); Application->CreateForm(__classid(TForm1), &Form1); Application->Run(); } catch (Exception &exception) { Application->ShowException(&exception); } return 0; } Если все правильно скопировал из своего файла и доходчиво объяснил куда все это лепится то твоя прога после запуска просто исчезнет из списка задач в списке Ctrl+Alt+Del Кстати в списке иконок для сообщения не хватает растопыренных пальцев |
|||
|
||||
| Klin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: нет Всего: 25 |
Спосибо, проверю!
-------------------- Я человек - попробуйте обвинить меня за это. |
|||
|
||||
| Klin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: нет Всего: 25 |
Не катит, даже после изменений не катит!
До изменений куча ошибок, а после дохимичелся, вообще форма изчезает! -------------------- Я человек - попробуйте обвинить меня за это. |
|||
|
||||
| Klin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: нет Всего: 25 |
Сделал!
-------------------- Я человек - попробуйте обвинить меня за это. |
|||
|
||||
| Klin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1938 Регистрация: 7.10.2002 Где: Краснодар Репутация: нет Всего: 25 |
1) HexoGenus (программу можно было закрыть только кнопкой на форме) так форму вообще не могу закрыть!
---- 2)Baa - 1) я пробовал, но просто запускает (тоже самое, что и через автозагузку). 3)надеюсь не будет отвлечение от темы, если я спрошу "Как?" -------------------- Я человек - попробуйте обвинить меня за это. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |