Re[3]: Падает Visual Studio 2008.
От: okman Беларусь https://searchinform.ru/
Дата: 17.12.10 11:37
Оценка: 3 (1)
Здравствуйте, P.loo.t, Вы писали:

PLT>Скажи, а как бы ты реализовал это? Я разберусь.


С хуками вечно какие-то проблемы — то права доступа, то крэш системы...
Мне в конце концов надоело и я сделал проще:
Цикл, в котором, скажем, раз в секунду вызывается GetForegroundWindow.
Если полученное значение отличается от предыдущего, значит открылось новое окно.
Дальше получаем заголовок окна, — GetWindowText, — и имя exe-шника, которому оно
принадлежит — GetWindowThreadProcessId/OpenProcess/GetModuleBaseName.
Вот и все решение.
Re[11]: Падает Visual Studio 2008.
От: sidorov18 США  
Дата: 17.12.10 12:41
Оценка:
Здравствуйте, P.loo.t, Вы писали:

PLT>Спасибо за исправленный код, сейчас попробую его протестить. И тебе совет: чуть терпимей к людям относись. Спроси ты меня об уровне моих познаний Visual я бы тебе честно ответил, что не ас и пальцы бы гнуть не стал. Пишу прогу не для рынка, а для себя. Если указываешь на ошибки, постарайся в следующий раз не опускать людей, не поддевать их о не знании. Всё впереди. Со всем уважением. Я только учусь, чего ты хотел от меня? Всё равно я её не брошу пока не добью.


Он вам это говорит, потому что вопросы у вас почти "почему оно не работает?".
т.е. обычный программист бы вначале посмотрел на то, о чем вас информирует ассерт. кстати, можете разобратся, что это такое и для чего они используются. assert(0) напишите в программе для примера .
а еще поставьте Visual Assist X. там легко находить инклуды для нужной ф-ии/класса и т.п. правой кнопкой — add include

затем он посмотрел бы в доку по crt(это библиотека, из которой fprintf) — как там ошибки обрабатываются.
и в конце узнал бы, что ассерт информирует о том, что файл не открылся и по какой причине.
Re[4]: Падает Visual Studio 2008.
От: P.loo.t  
Дата: 17.12.10 16:16
Оценка:
Здравствуйте, okman, Вы писали:

O>Цикл, в котором, скажем, раз в секунду вызывается GetForegroundWindow.

O>принадлежит — GetWindowThreadProcessId/OpenProcess/GetModuleBaseName.
O>Вот и все решение

Спасибо за подсказку! Идея хорошая))) Скорее всего я так и сделаю!
Re[5]: Падает Visual Studio 2008.
От: P.loo.t  
Дата: 17.12.10 16:21
Оценка:
Здравствуйте, npak, Вы писали:

N>PS: За такую проверку я бы тоже вынес "молодому талантливому программисту" моск. fclose должен вызываться только в том случае, если fopen вернул не NULL


Ты прав))) Я нашкодил! С проверками разобрался, прога больше не падает. Сейчас буду разбераться с причиной почему файл не создаёться!
Re[6]: Падает Visual Studio 2008.
От: P.loo.t  
Дата: 17.12.10 16:29
Оценка:
на ошибках учатся)
Re: Падает Visual Studio 2008.
От: P.loo.t  
Дата: 17.12.10 16:52
Оценка:
Ну впринципе все проблемы решены. Спасибо всем ответившим. Я разобрался со всем.
Re[12]: Падает Visual Studio 2008.
От: P.loo.t  
Дата: 17.12.10 16:55
Оценка:
Здравствуйте, swingus, кстати хоть убей не компилиться error C2061: синтаксическая ошибка: идентификатор "CBT_ACTIVATESTRUCT". Всяко разно пробовал менять — без результатно.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.