2012-01-22 2 views
1

Здравствуйте, я делаю программу, которая заметит, когда будет нажата конкретная клавиша, и напишите конкретное письмо, в котором человек пишет. Я думал о том, чтобы делать это в приложении консоли или должен ли я делать это в Windows Forms? Я тоже не понимаю, как заставить его работать в фоновом режиме или как записать его там, где пользователь пишет?C# Написать текст в другую программу, с фона

код я не сделал до сих пор выглядит как:

static void Main(string[] args) 
    { 
     while (true) 
     { 
      ConsoleKeyInfo cki; 
      cki = Console.ReadKey(); 
      Console.WriteLine(cki.Key.ToString()); 

      if (cki.Key.ToString() == "F" && (cki.Modifiers & ConsoleModifiers.Control) != 0) 
      { 
       //typ something where the person is writing 
      } 
     } 
    } 

спасибо всем помочь

+0

'SendKeys 'был моим старым другом ... –

+0

, но я не могу заставить его работать ... – flaimme

+0

функции' SendKeys' были отключены некоторыми windows-fix ... Microsoft выпустила исправление путь назад к окнам xp sp1 - с тех пор, 'SendKeys' больше не работают при особых обстоятельствах ... –

ответ

2

Если добавить ссылку на System.Windows.Forms, то вы можете сделать это:

//outside namespace: 
using TSendKeys = System.Windows.Forms.SendKeys; 

//To type a key: 
TSendKeys.Send("Put whatever you want here"); 
+0

Как я уже сказал в своем сообщении, вам нужно добавить ссылку на dll 'System.Windows.Forms'. Вы щелкните правой кнопкой мыши элемент «Ссылки» в вашем проекте, а затем нажмите «Добавить ссылку» – annonymously

+0

танков. Мне потребовалось несколько минут, чтобы понять: P – flaimme

Смежные вопросы