Глупый вопрос про трединг, DoEvents и пустые циклы!

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

NullPointer
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 09.05.2009 (Сб) 15:03

Глупый вопрос про трединг, DoEvents и пустые циклы!

Сообщение NullPointer » 12.05.2009 (Вт) 14:19

Есть программка для контроля рабочего времени и есть в ней модуль кейлоггера (руковводство попросило :mrgreen:).

Программка бОльшую часть времени спит (в прямом смысле - Sleep), вот как при этом заставить ее таки хватать нажатые кнопки?

Логгер реализован отдельной библиотечкой, но сложность в другом -- сделал под него отдельный поток, а какую передать функцию - чешу репу. Цикл или ДоЭвентс грузятЪ ядро на 100%, что-то еще скумекать не в силах, помогите плиз :D

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Глупый вопрос про трединг, DoEvents и пустые циклы!

Сообщение MIT » 12.05.2009 (Вт) 14:47

NullPointer писал(а):Цикл или ДоЭвентс
Фтопку оба.
С потоком - верное решение, но за неимением представления о том, что из себя представляет твой кейлоггер поправить тебя врядли получиться. Можно поподробнее?
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

NullPointer
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 09.05.2009 (Сб) 15:03

Re: Глупый вопрос про трединг, DoEvents и пустые циклы!

Сообщение NullPointer » 12.05.2009 (Вт) 15:16

Без проблем :wink:

В аттаче прожект. Компилится в длл, она втыкается в основной проект (как эмбеддед ресурс, но это частности).

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

Грубо говоря вопрос такой - как ентот кейлоггер заставить отрабатывать в пустом вб.нет проекте?
Вложения
ConsoleApplication1.rar
(27.71 Кб) Скачиваний: 44

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: Глупый вопрос про трединг, DoEvents и пустые циклы!

Сообщение Nord777 » 12.05.2009 (Вт) 21:42

Лови.
Вложения
HookDLL.rar
Немного изменённый проект
(33.22 Кб) Скачиваний: 42
TestHook.rar
Пример использования.
(61.31 Кб) Скачиваний: 50
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Глупый вопрос про трединг, DoEvents и пустые циклы!

Сообщение Williams » 12.05.2009 (Вт) 22:25

И все-таки нехорошо, пусть даже с благими целями ! :x
И вы думаете, что вас оставят в живых после прочтения этого поста?

NullPointer
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 09.05.2009 (Сб) 15:03

Re: Глупый вопрос про трединг, DoEvents и пустые циклы!

Сообщение NullPointer » 17.05.2009 (Вс) 23:26

Nord777 - Огромное спасибо! Открыл для себя коллбэки!

Остался маааленький вопросик - сам хук-то у меня сидит в ресурсах основного проекта, доступ к нему через CreateInstance, не могу понять, каким образом изменить или сам хук, чтобы принимал указатель на коллбэк (т.к., это unmanaged код получается) или создать объект типа KeyLogger.UserCallback на этапе выполнения. Ковыряю пока System.Type преобразования, но чувствую - это не то!

Williams
Можно рассматривать сию задачку как пример перехвата системных событий, работы с делегатами и, если получится, с встроенными ресурсами :)

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Re: Глупый вопрос про трединг, DoEvents и пустые циклы!

Сообщение Nord777 » 18.05.2009 (Пн) 16:47

Переведи код на VB.Net и объедени с основным проектом.
Зачем тебе морочиться с dll, с ресурсами ?

Для перевода зацени SharpDevelop
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 68

    TopList