[C++] Ты считаешь это глюк моей системы или MFC42.DLL или Visual C++?30.05.01 01:46 Число просмотров: 1316 Автор: kabanchik Статус: Незарегистрированный пользователь
да тут х поймешь сразу.
вообще я сторонник обновления того, что имеешь
поэтому, если у тебя WIndows NT, то скачай новый Service Pack. У тебя какая система? наверняка Windows 95/98, для них по моему патчи есть.
и еще в обязательном порядке Visual Studio Srvice Pack 6
не знаю у кого как, но я разничу чувствовал. совсем недавно один и тотже проект у меня компилился по разному, точнее компилился и линковался, но в одном случае он тут же вылетал, а в другом работал как надо - как вариант с RegisterHotKey. написал прогу, поставил компилиться на WinMe, он летал. сперва подумал разные системы и искал разницу в ф-иях, потом скачали новый СП и все решилось.
Вообще всем советую кто прочтет это сообщение - люди, поставьте новый VSSP, хотя он по размерам большой - около 133 Mb.
и еще, я смотрел твои мессаги - если хочешь занятся системным программированием и сетями под винд., в смесле широких возможностей, поставь Windows 2000. пусть это не звучит как наставление, просто добрый совет, потому что возможностей больше чем даже у NT. Хотя на Win 9X можешь написать VxD, что на System Based on NT Technoligy не сделаешь.
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
afx_msg void OnDestroy();
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
Удачи Vital.
Эх.. Я ведь так и делал.. Странно. Че у меня не пашет. Кстати, у тебя в коде кое-чего не 28.05.01 17:48 Автор: KMiNT21 <http://blog.kmint21.com> Статус: Member
Кое-чего не так. Хотя на это можно и не обращать внимания. То меня че-то подбило сказать. :-) Все равно хуже не будет.
(если это твоя прога)
У тебя в обработчике WM_HOTKEY не проверяется ID клавиши.
Вдруг потом добавишь еще одну ХОТ, придется переделывать. Лучше изначально делать дефайны и предусматривать все.. Это есть хороший стиль.
Но это я так, к слову. :-)
Слушай, скажи, я так понял что ты на MFC проги клепаешь. Вот интересно (для статистики), MFC ускоряет для тебя написание кода ?
[C++] Эх.. Я ведь так и делал.. Странно. Че у меня не пашет. Кстати, у тебя в коде кое-чего не 29.05.01 03:36 Автор: Vital Статус: Незарегистрированный пользователь
> Кое-чего не так. Хотя на это можно и не обращать внимания. > То меня че-то подбило сказать. :-) Все равно хуже не будет. > (если это твоя прога) > У тебя в обработчике WM_HOTKEY не проверяется ID клавиши. > Вдруг потом добавишь еще одну ХОТ, придется переделывать. > Лучше изначально делать дефайны и предусматривать все.. Это > есть хороший стиль. > Но это я так, к слову. :-) > Слушай, скажи, я так понял что ты на MFC проги клепаешь. > Вот интересно (для статистики), MFC ускоряет для тебя > написание кода ?
Что касается прог, то я сейчас их не особо клепаю.
Пока изучаю систему. А Visual C++ и MFC в частности,
начал изучать и использовать не так давно, так что для
статистики сказать ничего не могу.
А вообще меня больше привлекает программирование
больше приближенное к системному.
А ты как пишешь?
Vital.
to Vital : 29.05.01 12:13 Автор: KMiNT21 <http://blog.kmint21.com> Статус: Member
> Что касается прог, то я сейчас их не особо клепаю. > Пока изучаю систему. А Visual C++ и MFC в частности, А я сейчас решил MFC заняться пока.
> А вообще меня больше привлекает программирование > больше приближенное к системному. Ага. :-) Самое оно. И меня так же. Можешь глянуть последний продукт - www.nmap.ru, раздел tools. TCP_LOGGER - размер файла - ~ 13 Kb. Чистое API. Исходники прилагаются. MVC 5.0.
Net programming 29.05.01 22:56 Автор: Vital Статус: Незарегистрированный пользователь
> > Что касается прог, то я сейчас их не особо клепаю. > > Пока изучаю систему. А Visual C++ и MFC в > частности, > А я сейчас решил MFC заняться пока. > > > А вообще меня больше привлекает программирование > > больше приближенное к системному. > Ага. :-) Самое оно. И меня так же. Можешь глянуть последний > продукт - www.nmap.ru, раздел tools. TCP_LOGGER - размер > файла - ~ 13 Kb. Чистое API. Исходники прилагаются. MVC > 5.0.
Привет.
Я вижу ты занимаешься сетевым программированием.
Это круто. Не мог бы ты подсказать источники и(или) лит-ру
по этой теме. Что-нибудь такое "глубокое" типа "Windows" Д.Рихтера.
Спасибо. Vital.
Тогда лучше бы мыло оставил 30.05.01 11:57 Автор: KMiNT21 <http://blog.kmint21.com> Статус: Member
> Я вижу ты занимаешься сетевым программированием. > Это круто. Не мог бы ты подсказать источники и(или) лит-ру
Неа. Ничего такого я не припоминаю.
Я как-то так с этим всем разобрался... Хотя www.sources.ru тоже мне помог. Так переведенные RFC по протоколам некоторым лежат.
А вообще, разбирался я при помощи своей же проги (см. выше).
Так что, бери у меня вчерашнюю версию и вперед! :-) Она полностью протоколирует весь обмен сообщениями клиента с сервером.
Тогда лучше бы мыло оставил 30.05.01 12:09 Автор: Vital Статус: Незарегистрированный пользователь
> > Я вижу ты занимаешься сетевым программированием. > > Это круто. Не мог бы ты подсказать источники и(или) > лит-ру > > Неа. Ничего такого я не припоминаю. > Я как-то так с этим всем разобрался... Хотя www.sources.ru > тоже мне помог. Так переведенные RFC по протоколам > некоторым лежат. > А вообще, разбирался я при помощи своей же проги (см. > выше). > Так что, бери у меня вчерашнюю версию и вперед! :-) Она > полностью протоколирует весь обмен сообщениями клиента с > сервером.
Да мне бы разобраться с сокетами, функциями для них и портами
сначала.
E-mail: VitalH@yandex.ru
Vital.
А может RegisterHotKey не пашет если окно является диалоговым ?28.05.01 18:27 Автор: KMiNT21 <http://blog.kmint21.com> Статус: Member
не поленился проверил, все работает. и диалог тут не причем (именно на диалоге и проверил)
Hot Key регистрируется, и месаг ловится без проблем.
наверняка что то у тебя не так.
Возможно твой Key конфликтует с кем то.
Проверь еще раз, пропиши че нить не ординарное и попробуй отловить.
Всем Great сенкс! Глюк найнден. Правда я не понял его смысл.. :-)) (++)29.05.01 12:10 Автор: KMiNT21 <http://blog.kmint21.com> Статус: Member
Да, все пашет. Как тоьлко виртуал кей VK_F11 попробывал поставить вместо своей 't'.
Кстати, код возврата естественно был нормальный. Если бы конфликтовала, я бы видел. :-) А так просто не было мессаг WM_HOTKEY и все...
Не пойму, почему 't' нельзя написать ? Вроде тип данных DWORD нужно подствлять....
Ладно моя прога теперь выглядит так (и работает) :
> Да, все пашет. Как тоьлко виртуал кей VK_F11 попробывал > поставить вместо своей 't'. > Кстати, код возврата естественно был нормальный. Если бы > конфликтовала, я бы видел. :-) А так просто не было мессаг > WM_HOTKEY и все... > > Не пойму, почему 't' нельзя написать ? Вроде тип данных > DWORD нужно подствлять.... > > Ладно моя прога теперь выглядит так (и работает) : > > ...... > #define Show_HotKey 1 > ........... > RegisterHotKey(hwndMain,Show_HotKey,MOD_ALT,VK_F12); > ........... > > //обработчик... > .... > case WM_HOTKEY: > // а дальше уже проверки остальные..... > > > > P.S. А если > "RegisterHotKey(hwndMain,Show_HotKey,MOD_ALT,'t');" , или > др. символ, нифига не приходят мессаги WM_HOTKEY... Хотя > функ-я возвращает OK.
Пиши так:
RegisterHotKey(hwndMain,Show_HotKey,MOD_ALT,'T');
в этой ф-и надо использовать символы верхнего регистра,
т.к. сравнение идет именно по ним.
Vital.
Тю ты твою ... Ясно. А в доках что-то я не заметил об этом упоминания. 30.05.01 10:35 Автор: KMiNT21 <http://blog.kmint21.com> Статус: Member
> KMiNT, > > Vital прав > > не поленился проверил, все работает. и диалог тут не причем > (именно на диалоге и проверил) > Hot Key регистрируется, и месаг ловится без проблем. > наверняка что то у тебя не так. > Возможно твой Key конфликтует с кем то. > Проверь еще раз, пропиши че нить не ординарное и попробуй > отловить.
На самом деле код, который я привел для горячей клавиши
у меня работает немного странно, а именно: при
нажатии горячей клавиши больше трех раз моя программа вызывает
ошибку в MFC42.DLL и аварийно завершается.
Я еще этой проблемой особо не занимался, и может эта моя ошибка,
а может нет?
Vital.
[C++] А может RegisterHotKey не пашет если окно является диалоговым ?29.05.01 19:31 Автор: kabanchik Статус: Незарегистрированный пользователь
да тут х поймешь сразу.
вообще я сторонник обновления того, что имеешь
поэтому, если у тебя WIndows NT, то скачай новый Service Pack. У тебя какая система? наверняка Windows 95/98, для них по моему патчи есть.
и еще в обязательном порядке Visual Studio Srvice Pack 6
не знаю у кого как, но я разничу чувствовал. совсем недавно один и тотже проект у меня компилился по разному, точнее компилился и линковался, но в одном случае он тут же вылетал, а в другом работал как надо - как вариант с RegisterHotKey. написал прогу, поставил компилиться на WinMe, он летал. сперва подумал разные системы и искал разницу в ф-иях, потом скачали новый СП и все решилось.
Вообще всем советую кто прочтет это сообщение - люди, поставьте новый VSSP, хотя он по размерам большой - около 133 Mb.
и еще, я смотрел твои мессаги - если хочешь занятся системным программированием и сетями под винд., в смесле широких возможностей, поставь Windows 2000. пусть это не звучит как наставление, просто добрый совет, потому что возможностей больше чем даже у NT. Хотя на Win 9X можешь написать VxD, что на System Based on NT Technoligy не сделаешь.
2Vital - Тогда для начала сделай все четко, потом глянь (я про "ошибки" писал выше - мож в этом все дело)30.05.01 18:50 Автор: KMiNT21 <http://blog.kmint21.com> Статус: Member
> > WinMe, он летал. сперва подумал разные системы и искал > > разницу в ф-иях, потом скачали новый СП и все > решилось. > Да, прикол. :-) > > > возможностей больше чем даже у NT. Хотя на Win 9X > можешь > > написать VxD, что на System Based on NT Technoligy не > > сделаешь. > > ??? > Не понял. Почему ??
потому что Virtual Driver - базируется на 9х. NT и 9x - это все таки разные технологии. у Virtual Driver есть принципиальные отличия, которые не пройдут под NT.
VxD - virtual device driver например - VKD - Virt.Keyboard Dr., VDD - Virt. Display. (это к слову :)) Пишутся и для НТ, и для Win9x. 31.05.01 13:09 Автор: KMiNT21 <http://blog.kmint21.com> Статус: Member
> > > написать VxD, что на System Based on NT > Technoligy не > > > сделаешь. > > > > ??? > > Не понял. Почему ?? > > потому что Virtual Driver - базируется на 9х. NT и 9x - это > все таки разные технологии. у Virtual Driver есть > принципиальные отличия, которые не пройдут под NT.
?? Я не понял. Ты хочешь сказать что VxD под НТ не пишутся ??? :))
Чего-то я тебя понять никак не могу.