Передача текста с использованием хуков - Вопросы и ответы, обсуждения - Ваши вопросы по C# только в данном разделе
11.09.2015, 23:22
#1
Разведчик
Регистрация: 11.09.2015
Сообщений: 0
Популярность: -85
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Передача текста с использованием хуков
Всем хай) Вообщем задали мне такую задачку по учебе, Keylogger
Как сделать передачу текста в текстбокс ( чтобы когда пишешь в блокнот или ещё куда нибудь не важно, нажатия отлавливались и записывались в текстбокс ) пробовал HoooK'и разные, но там какие то (Lspacefw41Rshift и т. д ) А можно чтобы просто отлавливались нажатия клавишь определенных? Буду весьма блогадарен!
P.S: Или дайте мне инфу куда копать чтобы можно было отлавливать определенные клавы)
P.P.S: Любая инфа будет очень полезна)
12.09.2015, 13:07
#2
Рыцарь-защитник
Регистрация: 28.08.2009
Сообщений: 603
Популярность: 19129
Золото Zhyk.Ru: 500
Сказал(а) спасибо: 84
Поблагодарили 602 раз(а) в 321 сообщениях
Re: Передача текста с использованием хуков
Задачка по учёбе?
Подозрительно.
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
12.09.2015, 13:21
#3
Разведчик
Регистрация: 27.11.2011
Сообщений: 32
Популярность: 935
Сказал(а) спасибо: 25
Поблагодарили 18 раз(а) в 14 сообщениях
Re: Передача текста с использованием хуков
12.09.2015, 13:35
#4
Разведчик
Регистрация: 11.09.2015
Сообщений: 0
Популярность: -85
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Re: Передача текста с использованием хуков
Всё верно! Задача по учебе), знаю что вы думаете об этом.
Ну так есть ли какие нибудь идеи по этому поводу? ( по моему вопросу )
12.09.2015, 20:51
#5
Разведчик
Регистрация: 14.10.2011
Сообщений: 13
Популярность: 559
Сказал(а) спасибо: 0
Поблагодарили 16 раз(а) в 2 сообщениях
Re: Передача текста с использованием хуков
Если тебе нужен простой пример, то вот [Ссылки могут видеть только зарегистрированные пользователи. ]. Его можно адаптировать под твою задачу, но имхо, проще найти код готового логера и разобраться в нем.
13.09.2015, 01:03
#6
Разведчик
Регистрация: 11.09.2015
Сообщений: 0
Популярность: -85
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Re: Передача текста с использованием хуков
Спс, переделал под себя теперь всё отлично работает )
Добавлено через 11 часов 30 минут
Поделюсь немного
Используем: KeyBoardHook.cs
Цитата:
private void keyUp(KeyboardHook.VKeys key)
{
if (key == KeyboardHook.VKeys.SPACE)
{
textBox1.Text += " ";
}
else if (key == KeyboardHook.VKeys.KEY_0)
{
textBox1.Text += "0";
}
else if (key == KeyboardHook.VKeys.KEY_1)
{
textBox1.Text += "1";
}
else if (key == KeyboardHook.VKeys.KEY_2)
{
textBox1.Text += "2";
}
else if (key == KeyboardHook.VKeys.KEY_3)
{
textBox1.Text += "3";
}
else if (key == KeyboardHook.VKeys.KEY_4)
{
textBox1.Text += "4";
}
else if (key == KeyboardHook.VKeys.KEY_5)
{
textBox1.Text += "5";
}
else if (key == KeyboardHook.VKeys.KEY_6)
{
textBox1.Text += "6";
}
else if (key == KeyboardHook.VKeys.KEY_7)
{
textBox1.Text += "7";
}
else if (key == KeyboardHook.VKeys.KEY_8)
{
textBox1.Text += "8";
}
else if (key == KeyboardHook.VKeys.KEY_9)
{
textBox1.Text += "9";
}
else if (key == KeyboardHook.VKeys.KEY_A)
{
textBox1.Text += "A";
}
else if (key == KeyboardHook.VKeys.KEY_B)
{
textBox1.Text += "B";
}
else if (key == KeyboardHook.VKeys.KEY_C)
{
textBox1.Text += "C";
}
else if (key == KeyboardHook.VKeys.KEY_D)
{
textBox1.Text += "D";
}
else if (key == KeyboardHook.VKeys.KEY_E)
{
textBox1.Text += "E";
}
else if (key == KeyboardHook.VKeys.KEY_F)
{
textBox1.Text += "F";
}
else if (key == KeyboardHook.VKeys.KEY_G)
{
textBox1.Text += "G";
}
else if (key == KeyboardHook.VKeys.KEY_H)
{
textBox1.Text += "H";
}
else if (key == KeyboardHook.VKeys.KEY_I)
{
textBox1.Text += "I";
}
else if (key == KeyboardHook.VKeys.KEY_J)
{
textBox1.Text += "J";
}
else if (key == KeyboardHook.VKeys.KEY_K)
{
textBox1.Text += "K";
}
else if (key == KeyboardHook.VKeys.KEY_L)
{
textBox1.Text += "L";
}
else if (key == KeyboardHook.VKeys.KEY_M)
{
textBox1.Text += "M";
}
else if (key == KeyboardHook.VKeys.KEY_N)
{
textBox1.Text += "N";
}
else if (key == KeyboardHook.VKeys.KEY_O)
{
textBox1.Text += "O";
}
else if (key == KeyboardHook.VKeys.KEY_P)
{
textBox1.Text += "P";
}
else if (key == KeyboardHook.VKeys.KEY_Q)
{
textBox1.Text += "Q";
}
else if (key == KeyboardHook.VKeys.KEY_R)
{
textBox1.Text += "R";
}
else if (key == KeyboardHook.VKeys.KEY_S)
{
textBox1.Text += "S";
}
else if (key == KeyboardHook.VKeys.KEY_T)
{
textBox1.Text += "T";
}
else if (key == KeyboardHook.VKeys.KEY_U)
{
textBox1.Text += "U";
}
else if (key == KeyboardHook.VKeys.KEY_V)
{
textBox1.Text += "V";
}
else if (key == KeyboardHook.VKeys.KEY_W)
{
textBox1.Text += "W";
}
else if (key == KeyboardHook.VKeys.KEY_X)
{
textBox1.Text += "X";
}
else if (key == KeyboardHook.VKeys.KEY_Y)
{
textBox1.Text += "Y";
}
else if (key == KeyboardHook.VKeys.KEY_Z)
{
textBox1.Text += "Z";
}
else if (key == KeyboardHook.VKeys.RETURN)
{
textBox1.Text += "\r\n";
}
else if (key == KeyboardHook.VKeys.BACK)
{
try
{
textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1);
}
catch { }
}
else if (key == KeyboardHook.VKeys.DELETE)
{
try
{
textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1);
}
catch { }
}
else if (key == KeyboardHook.VKeys.CAPITAL)
{
textBox1.Text += " [Caps_Lock] ";
}
else if (key == KeyboardHook.VKeys.SHIFT)
{
textBox1.Text += " [Shift] ";
}
else if (key == KeyboardHook.VKeys.ADD)
{
textBox1.Text += "+";
}
else if (key == KeyboardHook.VKeys.LSHIFT)
{
textBox1.Text += " [Lshift] ";
}
else if (key == KeyboardHook.VKeys.RSHIFT)
{
textBox1.Text += " [Rshift] ";
}
else if (key == KeyboardHook.VKeys.RSHIFT)
{
textBox1.Text += " [Rshift] ";
}
else if (key == KeyboardHook.VKeys.APPS)
{
textBox1.Text += " [Context_Menu] ";
}
else if (key == KeyboardHook.VKeys.TAB)
{
textBox1.Text += " [Tab] ";
}
else if (key == KeyboardHook.VKeys.ESCAPE)
{
textBox1.Text += " [Esc] ";
}
else if (key == KeyboardHook.VKeys.DIVIDE)
{
textBox1.AppendText(key.ToString());
}
else if (key == KeyboardHook.VKeys.MULTIPLY)
{
textBox1.Text += "*";
}
else if (key == KeyboardHook.VKeys.OEM_MINUS)
{
textBox1.Text += "-";
}
else if (key == KeyboardHook.VKeys.OEM_PERIOD)
{
textBox1.Text += ".";
}
else if (key == KeyboardHook.VKeys.OEM_COMMA)
{
textBox1.Text += ",";
}
else if (key == KeyboardHook.VKeys.OEM_PLUS)
{
textBox1.Text += "=";
}
// use Sfift
else if (key == KeyboardHook.VKeys.NUMLOCK)
{
textBox1.Text += " [Num_Lock] ";
}
else if (key == KeyboardHook.VKeys.NUMPAD0)
{
textBox1.Text += "0";
}
else if (key == KeyboardHook.VKeys.NUMPAD1)
{
textBox1.Text += "1";
}
else if (key == KeyboardHook.VKeys.NUMPAD2)
{
textBox1.Text += "2";
}
else if (key == KeyboardHook.VKeys.NUMPAD3)
{
textBox1.Text += "3";
}
else if (key == KeyboardHook.VKeys.NUMPAD4)
{
textBox1.Text += "4";
}
else if (key == KeyboardHook.VKeys.NUMPAD5)
{
textBox1.Text += "5";
}
else if (key == KeyboardHook.VKeys.NUMPAD6)
{
textBox1.Text += "6";
}
else if (key == KeyboardHook.VKeys.NUMPAD7)
{
textBox1.Text += "7";
}
else if (key == KeyboardHook.VKeys.NUMPAD8)
{
textBox1.Text += "8";
}
else if (key == KeyboardHook.VKeys.NUMPAD9)
{
textBox1.Text += "9";
}
else if (key == KeyboardHook.VKeys.OEM_1)
{
textBox1.Text += ":"; // под вопросом : or ;
}
else if (key == KeyboardHook.VKeys.OEM_2)
{
textBox1.Text += "?";
}
else if (key == KeyboardHook.VKeys.OEM_3)
{
textBox1.Text += "~";
}
else if (key == KeyboardHook.VKeys.OEM_4)
{
textBox1.Text += "[";
}
else if (key == KeyboardHook.VKeys.OEM_5)
{
textBox1.Text += "\\";
}
else if (key == KeyboardHook.VKeys.OEM_6)
{
textBox1.Text += "]";
}
else if (key == KeyboardHook.VKeys.OEM_7)
{
textBox1.Text += "'"; // хз что это
}
else if (key == KeyboardHook.VKeys.OEM_8)
{
textBox1.Text += "//";
}
}
Последний раз редактировалось SherlockHolms; 13.09.2015 в 12:34 .
Причина: Добавлено сообщение
25.09.2015, 12:35
#7
Рыцарь-капитан
Регистрация: 14.06.2012
Сообщений: 511
Популярность: 7566
Сказал(а) спасибо: 4
Поблагодарили 181 раз(а) в 88 сообщениях
Re: Передача текста с использованием хуков
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо"
Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
28.09.2015, 10:46
#8
Разведчик
Регистрация: 11.09.2015
Сообщений: 0
Популярность: -85
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Re: Передача текста с использованием хуков
не слышал, опиши будь добр... Буду знать
28.09.2015, 15:03
#9
Рыцарь-капитан
Регистрация: 14.06.2012
Сообщений: 511
Популярность: 7566
Сказал(а) спасибо: 4
Поблагодарили 181 раз(а) в 88 сообщениях
Re: Передача текста с использованием хуков
Цитата:
не слышал, опиши будь добр... Буду знать
так как части кода я не вижу, то могу предположить, что VKeys это enum и принимает числовые значения в виде кода клавиш. Следовательно они имеют целочисленный тип, который легко можно перевести в тип char.
то есть
Код:
private void keyUp(KeyboardHook.VKeys key)
{
textBox1.Text += (char)key;
}
вот и все. только регистр уже придется проверять на нажатие Shift
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо"
Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
23.10.2015, 01:29
#10
Разведчик
Регистрация: 11.09.2015
Сообщений: 0
Популярность: -85
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Re: Передача текста с использованием хуков
Это хорошо)) Но читабельность сразу же портится(
Как это исправить? ( как я и описал чтобы принимало именно эти клавиши и переводило в нужный знак, цыфры и т д )
23.10.2015, 08:36
#11
Сержант
Регистрация: 18.07.2013
Сообщений: 148
Популярность: 83981
Сказал(а) спасибо: 564
Поблагодарили 258 раз(а) в 195 сообщениях
Re: Передача текста с использованием хуков
25.10.2015, 14:43
#12
Рыцарь-капитан
Регистрация: 14.06.2012
Сообщений: 511
Популярность: 7566
Сказал(а) спасибо: 4
Поблагодарили 181 раз(а) в 88 сообщениях
Re: Передача текста с использованием хуков
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо"
Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
06.12.2015, 09:31
#13
Разведчик
Регистрация: 12.01.2013
Сообщений: 3
Популярность: -85
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Re: Передача текста с использованием хуков
Интересно, а как проверить регистр на нажатие shift? ( какими способами можно) ??
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 18:13 .