| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Блокировка приложений |
| Автор: Venedey 23.6.2009, 17:52 |
| Добрый день, уважаемые форумчане. У меня такая задачка. Пишу приложение. Оно запускается автозапуском. Мне нужно, чтобы пока оно не выполнится, невозможно было бы обратиться к другим приложениям и процессам. Другими словами, чтобы нельзя было запустить другие программы, зайти в Пуск и т.д. Пробывал найти по форуму, но нашел только это http://forum.vingrad.ru/topic-148926.html Но это несколько не удовлетворяет требованиям... Пишу в C++ Builder 2007. Заранее спасибо! |
| Автор: dumb 23.6.2009, 22:24 |
| нужно изменить способ авто-запуска - прописать свою программу(вместо Explorer.exe) в ключ реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell. в конце работы запускать Explorer.exe. |
| Автор: Venedey 24.6.2009, 00:16 |
| О, отлично! Это то, что нужно. Спасибо! Единственный вопрос остался: как корректно загрузить Explorer.exe? Просто я пробывал ставить на закрытие формы system("Explorer.exe"), но у меня грузится Проводник. |
| Автор: Comm 24.6.2009, 00:51 |
| А вроде нужно с параметром запустить about:blank или что-то в этом роде) |
| Автор: AntonChik 24.6.2009, 12:17 |
| насколько мне известно explorer.exe грузится проводником если уже есть запущенный процесс explorer.exe |
| Автор: Venedey 24.6.2009, 16:53 |
| И все равно я не понимаю, как это в код интегрировать... Подскажите, кто знает. |
| Автор: dumb 24.6.2009, 22:21 |
| Venedey, что именно ты не понимаешь? при отладке программы у тебя естественно запускается "Проводник", так как оболочка(Explorer.exe) уже запущена(и тебе тут уже об этом говорили). когда ты пропишешь свою программу в реестр вместо Explorer.exe и перезагрузишь компьютер, все будет работать как надо. ps. если что-то пойдет не так, и оболочка не загрузится, жми Ctrl-Alt-Del/Ctrl-Shift-Esc и в Task Manager(Диспетчер задач) запускай Explorer.exe через меню Файл-Новая задача... |
| Автор: Venedey 24.6.2009, 23:22 |
| Вот в том и дело, что так и приходится делать, т.к. после программы не грузится ни Пуск, ни рабочий стол. Просто появляется пустой экран. |
| Автор: dumb 25.6.2009, 01:33 | ||
замени свой system(xxx) на:
|
| Автор: yeputons 25.6.2009, 14:39 |
| либо можно когда требуется запустить Проводник, заменить значение в реестре обратно на explorer.exe, запустить его и поменять обратно. |
| Автор: dumb 25.6.2009, 17:07 |
| что значит "либо" и какой вообще смысл в описанных тобою действиях? |