Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Эта подпись не продается!
1 / 1 / 0
Регистрация: 27.10.2016
Сообщений: 365

Глобальный хук клавиатуры

19.11.2016, 15:29. Показов 1620. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Для хука пользуюсь таким кодом:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace KeyLogger
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        
       
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
          
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            Hook.SetHook();
        }
 
        public static void myfunc()
        {
            MessageBox.Show("Rita OneLOVE");
          
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            
            textBox1.Text = gog.i;
        }
    }
 
 
    class Hook
    {
        [DllImport("user32.dll")]
        static extern IntPtr SetWindowsHookEx(int idHook, LowLevelKeyboardProc callback, IntPtr hInstance, uint threadId);
 
        [DllImport("user32.dll")]
        static extern bool UnhookWindowsHookEx(IntPtr hInstance);
 
        [DllImport("user32.dll")]
        static extern IntPtr CallNextHookEx(IntPtr idHook, int nCode, int wParam, IntPtr lParam);
 
        [DllImport("kernel32.dll")]
        static extern IntPtr LoadLibrary(string lpFileName);
 
        private delegate IntPtr LowLevelKeyboardProc(int nCode, IntPtr wParam, IntPtr lParam);
 
        const int WH_KEYBOARD_LL = 13; // Номер глобального LowLevel-хука на клавиатуру
        const int WM_KEYDOWN = 0x100; // Сообщения нажатия клавиши
 
        private static LowLevelKeyboardProc _proc = hookProc;
 
        private static IntPtr hhook = IntPtr.Zero;
 
        public static void SetHook()
        {
            IntPtr hInstance = LoadLibrary("User32");
            hhook = SetWindowsHookEx(WH_KEYBOARD_LL, _proc, hInstance, 0);
 
        }
 
        public static void UnHook()
        {
            UnhookWindowsHookEx(hhook);
        }
 
        public static IntPtr hookProc(int code, IntPtr wParam, IntPtr lParam)
        {
            if (code >= 0 && wParam == (IntPtr)WM_KEYDOWN)
            {
                int vkCode = Marshal.ReadInt32(lParam);
                //////ОБРАБОТКА НАЖАТИЯ
 
                Form1.myfunc();
                return (IntPtr)1;
                
            }
            else
                return CallNextHookEx(hhook, code, (int)wParam, lParam);
        }
    }
}
Как мне из этого кода сделать так, чтобы нажатие отображалось в textbox1.Спасибо.
P.S. Все это делается для программы, и не имеет отношения к вредоносным программам.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.11.2016, 15:29
Ответы с готовыми решениями:

Не работает глобальный хук
Здравствуйте. Накопал на codeproject код глобального клавиатурного хука, встроил его в свою программу. Проблема в том, что он...

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

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.11.2016, 15:29
Помогаю со студенческими работами здесь

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

Отслеживание состояния "NumLock" или глобальный хук клавиатуры
Здравствуйте! Нужно по нажатию NumLock выводить окно программы. Что предпочтительнее, отслеживать состояние NumLock(включен или выключен),...

Глобальный хук
Всем доброго времени суток! Помогите написать глобальный хук и функцию для него, чтобы перехватывал вводимый текст с клавиатуры и писал в...

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

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru