Как отправить ключевые команды на другой компьютер в .Net?

Я вижу много примеров, когда нажатия клавиш/команды отправляются другим приложениям на том же ПК, но мне нужно отправлять команды нажатия клавиш на другой ПК. Это возможно? Через удаленный рабочий стол или чище/проще?

Цель здесь в том, что я нажимаю клавишу здесь, мне нужно выполнить эту клавишу (скажем, она открывает программу) на другом ПК без необходимости установки программы на клиенте. Подумайте об отправке CTR + ALT + DEL на другом ПК.

Изменить: у нас есть Kinect, подключенный к одному из наших ПК (который мы собираемся использовать в качестве сервера), а затем у нас есть много клиентов, которые будут получать эти ключевые команды. Представьте, что я говорю Kinect открыть PowerPoint для меня на каком-то ПК, поскольку PowerPoint можно открыть с помощью ключевой команды, я надеялся, что самым простым способом будет отправить эти ключевые команды с моего сервера. Если это невозможно, то каковы альтернативные способы сделать это? Я пытаюсь избежать развертывания каких-либо приложений на клиентах, иначе я считаю, что тогда RDP может работать?


person Rafi W.    schedule 01.07.2013    source источник
comment
Пожалуйста, уточните свои ограничения (поскольку, с одной стороны, вы говорите об удаленном рабочем столе, а с другой стороны, не нуждаетесь в программе...) и, возможно, добавьте свою фактическую цель, поскольку ее, вероятно, можно достичь гораздо более стандартными способами. Примечание: я не думаю, что вы можете отправить Ctrl+Alt+Del на локальном ПК...   -  person Alexei Levenkov    schedule 02.07.2013


Ответы (2)


без необходимости установки программы на клиенте

На целевом ПК должен быть сервер для получения ваших команд. Поскольку вы исключаете установку программы, у нас остается ОС (я полагаю, Windows) и удаленный рабочий стол.

С этой целью может помочь приведенная ниже ссылка (сам я ею не пользовался): http://www.codeproject.com/Articles/43705/Remote-Desktop-using-C-NET

person henginy    schedule 01.07.2013
comment
Значит, в Windows или .Net нет способа отправить нажатие клавиши на какой-либо ПК (используя IP или что-то в этом роде)? Наша цель здесь состоит в том, чтобы избежать двустороннего общения... только одностороннее. - person Rafi W.; 02.07.2013
comment
Конечно, да, но на другой стороне должен быть сервер (слушатель). Поэтому я сомневаюсь, что Kinect может быть вашим сервером; сервер должен быть программой/службой ОС на целевом ПК. Связь по-прежнему будет односторонней, но для нее нужна конечная точка. - person henginy; 02.07.2013
comment
Я понимаю. Я нашел способ использовать свой ПК с Kinect в качестве сервера, и каждому клиенту требуется установить мою клиентскую программу, все они получали сигналы Kinect (видео и т. д.), но я надеялся, что мы сможем сделать что-то подобное, не устанавливая этот клиент. программного обеспечения. Я просто хотел активировать некоторые клавиши на другом ПК. - person Rafi W.; 02.07.2013
comment
Я понимаю. К сожалению, я не знаю, как сделать то, что вы хотите, мне это не кажется возможным. - person henginy; 02.07.2013

вы должны использовать сетевое соединение, такое как tcp или udp, и вы можете использовать SendKeys. но нет возможности прослушивать команды без запуска приложения на удаленном компьютере.

person Omer Faruk Zorlu    schedule 01.07.2013