HPC.ru lite - Все форумы
Форум: Программирование для КПК
Тема: необходимо на покете заблокировать запуск всех приложений кр

[Ответить]
Andex [11.10.2005 18:22] необходимо на покете заблокировать запуск всех приложений кр:
Вобщем, задача следующая:

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

короче, нужно ограничить все так, чтобы работало только одно нужное мне приложение.

возможно ли такое?
Gngr [14.10.2005 11:29] :
Возможно и такая софтина есть. Сделали ее SPB Software House, правда, как называется забыл, но ее легко можно найти по стоимости: стоит она порядка 1000$. Искать, что-нить похожее или писать подзаказ - бесполезное трата сил и времени, а в конечном счете - денег.
igorekk [14.10.2005 12:25] :
Мне почему-то кажется, что оно должно быть несложно:
это должен быть сервис, который отлавливает события и не даёт переключаться между недопустимыми окнами.
Gngr [14.10.2005 15:33] :
Нее, там много нюансов, например запуск неразрешонного процесс разрешенным процессом или запуск нразрешенного процесса из командной строки.

Да и потом, чьи события надо отлавливать и что значит не давать переключаться между недопустимыми окнами, их же /*недопустимых*/ вообще быть не должно! =)

Может мы просто о разных вещах говорим?
igorekk [14.10.2005 15:36] :
Нее, там много нюансов, например запуск неразрешонного процесс разрешенным процессом или запуск нразрешенного процесса из командной строки.

Да и потом, чьи события надо отлавливать и что значит не давать переключаться между недопустимыми окнами, их же /*недопустимых*/ вообще быть не должно! =)

Может мы просто о разных вещах говорим?

Гмм... А можно ли на КПК как на обычной винде подменить explorer.exe чем-нибудь своим?
ВадимП [14.10.2005 15:42] :
Не знаю, как на Pocket PC, но на КПК с Linux проблема решается за три минуты тривиальнейшим образом.
igorekk [14.10.2005 15:49] :
Вадим, а как?
ВадимП [14.10.2005 17:09] :
раздачей привилегий.
Заводится еще один пользователь, который не имеет прав ни на что (даже на запуск оболочки).
а эта самая "софтина" забивается в /etc/inittab как respawn.
igorekk [14.10.2005 17:19] :
Ну, в принципе, я так и подумал.
Только про respawn не было мыслей.
Gngr [14.10.2005 17:45] :
Не знаю, но думаю, что найти возможность подменить можно, только дело это весьма не благодарное, даже на обычной винде (это самый худший вариант), гораздо проще внедрить в этот файл свою библиотечку и подменять адреса из таблиц экспорта (если надо импорта) вызываемых функций, но это не решение описаной выше проблемы, так как не один explorer запускает процессы. Надо перехватывать вызов функции CreateProcess() из библиотечки Coredll.lib различных процессов действующих на машине, а что за процесс и как они себя видут не известно.
И это только один шаг, а сколько их надо еще пройти я сейчас даже понятия не имею.
[Ответить]