Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Неперсональный компьютер

Сообщения:  [1-10]    [11-20]   [21-30]   [31-40]  [41-42] 

 
 автор: GeorgeIV   (08.10.2009 в 10:11)   письмо автору
 
   для: Commander   (08.10.2009 в 04:13)
 

То что вы не понимаете сущностей и не знаете, как это реализовать, еще не означает, что это невозможно.
Я когда то баловался ассемблером и написал именно то, о чем вы сейчас говорите, т.е. запускал несколько виртуальных машин с поддержкой своих драйверов парой клавиатур, парой мониторов и принтером. При этом программы не путались. Вы же сами написали, что программа получает события от системы, так разделите эти системы.
Если бы мне это было нужно и интересно, я бы нашел возможность как это реализовать, а не стал бы искать причины, которые мешают это сделать.

  Ответить  
 
 автор: DJ Paltus   (08.10.2009 в 09:38)   письмо автору
 
   для: Киналь   (07.10.2009 в 21:17)
 

Да, сначала написал, а потом уж подумал. Учитывая, что таких "велосипедов" пока что мало, может, изобретут новый.

  Ответить  
 
 автор: Commander   (08.10.2009 в 04:13)   письмо автору
 
   для: GeorgeIV   (07.10.2009 в 21:44)
 

Посмотрите мое сообщение, на которое Вы ответили. Драйвер написать не проблема - вопрос в том, как связать одну клавиатуру с одной программой, а вторую - с другой. И как при этом одновременно сделать обе программы активными, да еще с фокусом ввода. Я почему и говорю, что требуется две оси - и эмулятор здесь не поможет, он, как и любая другая программа получает события от системы, а она не станет сообщать, какая именно клава вызвала событие onkeypress.

  Ответить  
 
 автор: GeorgeIV   (07.10.2009 в 21:44)   письмо автору
 
   для: Commander   (07.10.2009 в 19:08)
 

Как то поздно заглянул в эту ветку. Все это решаемо и даже есть в вариациях. Писать драйвер не такая уж большая проблема, тем более что для клавиатур можно обойтись HID драйвером. Запускать несколько ОС на одном компе современные виртуализаторы могут прекрасно. В чем вы сложности видите. Две видеокарты тоже можно поодерживать без проблем. Не делайте проблемы.

  Ответить  
 
 автор: Киналь   (07.10.2009 в 21:17)   письмо автору
 
   для: DJ Paltus   (07.10.2009 в 18:19)
 

Да вы им всё удовольствие портите=))

  Ответить  
 
 автор: Commander   (07.10.2009 в 19:08)   письмо автору
 
   для: cheops   (07.10.2009 в 18:32)
 

Вроде алгоритм я придумал. Если писать программу, которая будет переключателем для разных пользователей, то она без проблем сможет просто сама переключать фокус ввода с одного приложения на другое, в зависимости от того, какая программа какому пользователю принадлежит. Сложность в том, как этой программе отличить сигналы одной клавы от сигналов другой. Система таких данных не предоставляет. С драйвером напрямую взаимодействовать невозможно. Разве что писать свой драйвер. Да еще и решать проблему, как одному пользователю передать один рабочий стол, а другому - другой.

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

Но основная проблема в том, как определить, какая клава (мышь) дергает прерыванием (то есть посылает событие нaшей прикладной программе). Если Вы, cheops, знаете - можно написать такую программу. По-моему, это невозможно. Система не дает нам данных об устройстве, которое вызвало событие - она просто сообщает, что событие произошло. Чтобы понять, какое устройство вызвало событие, нужно спускаться на системный уровень, то есть заменить собой библиотеку аппаратных абстракций (в ней перехватывается прерывание от клавы) и часть ядра системы (в котором генерируются события). Впрочем, часть ядра заменить невозможно - ядро представляет собой один exe-файл.

  Ответить  
 
 автор: Commander   (07.10.2009 в 19:00)   письмо автору
 
   для: cheops   (07.10.2009 в 18:57)
 

Опечатался. Хотел спросить, какие учетные записи Вы имеете в виду.

  Ответить  
 
 автор: cheops   (07.10.2009 в 18:57)   письмо автору
 
   для: Commander   (07.10.2009 в 18:48)
 

>>управления учетными записями
>
>Какие ученые записи Вы имеете в виду?
Хм... вроде правильно написал "учетные", а не "ученые"...

  Ответить  
 
 автор: Commander   (07.10.2009 в 18:48)   письмо автору
 
   для: cheops   (07.10.2009 в 18:34)
 

>управления учетными записями

Какие ученые записи Вы имеете в виду?

  Ответить  
 
 автор: Commander   (07.10.2009 в 18:35)   письмо автору
 
   для: cheops   (07.10.2009 в 18:32)
 

>PS Скорее проблема будет в другом - в фокусах - два одновременно активных окна по умолчанию не создать - вот это не знаю можно обойти или нет.

В этом-то вся проблема.

  Ответить  

Сообщения:  [1-10]    [11-20]   [21-30]   [31-40]  [41-42] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования