Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 402
от 17.03.2007, 15:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 405, Экспертов: 30
В номере:Вопросов: 2, Ответов: 3


Вопрос № 77900: Здраствуйте!! У меня вопрос по поводу работы функций FindNextChangeNotification() и FindCloseChangeNotification(), когда например FindNextChangeNotification(h), хендл будет все время занят до изменения и его уже нельзя вызывать через FindNextChan...
Вопрос № 77936: Здравствуйте. Подскажите, где я не так делаю. Проблема такая: Мне нужно, чтобы при запуске программы окно распахивалось во весь экран. Так оно и происходит, но только при запуске из "студии"(Ctrl+F5). Но если запускать нормальным спосо...

Вопрос № 77.900
Здраствуйте!! У меня вопрос по поводу работы функций FindNextChangeNotification() и FindCloseChangeNotification(), когда например
FindNextChangeNotification(h), хендл будет все время занят до изменения и его уже нельзя вызывать через FindNextChangeNotification??
и когда FindCloseChangeNotification() возращает ложное значение, то уже пару раз возращала а я незнаю в чем проблема!!
можно Сылку (для чайников) с этими функциями!!! или разобраные примеры!!
Отправлен: 12.03.2007, 01:26
Вопрос задал: HITY (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Sergey A. Wedensky
Здравствуйте, HITY!

После вызова FindNextChangeNotification(h) Вы должны ждать, когда система выставит сигнал на хэндл h с помощью одной из wait-функций (WaitForSingleObject, WaitForMultipleObjects). В MSDN написано, что повторно вызывать FindNextChangeNotification без вызова wait-функции не следует, т.к. оповещение может не прийти. При получении отрицательного ответа от FindCloseChangeNotification() советую вызывать GetLastError(), должно сразу стать понятно в чем дело.
Ответ отправил: Sergey A. Wedensky (статус: Студент)
Ответ отправлен: 12.03.2007, 10:35
Оценка за ответ: 5
Комментарий оценки:
спасибо за объяснения??


Вопрос № 77.936
Здравствуйте. Подскажите, где я не так делаю. Проблема такая:
Мне нужно, чтобы при запуске программы окно распахивалось во весь экран. Так оно и происходит, но только при запуске из "студии"(Ctrl+F5). Но если запускать нормальным способом, т.е. через иконку, окно появляется с размерами(в приложении). Я перебрал много стилей - ничего не помогает. Может это глюк не мой а IDE?
Спасибо.

Приложение:

Отправлен: 12.03.2007, 11:46
Вопрос задал: Lameruga (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Korolyov Alexandr
Здравствуйте, Lameruga!
Попробуй не использовать CW_USEDEFAULT - т.к. он используется только с определенными стилями.
---------
Читайте help
Ответ отправил: Korolyov Alexandr (статус: 3-ий класс)
Ответ отправлен: 12.03.2007, 12:10
Оценка за ответ: 4
Комментарий оценки:
Спасибо. Не помогло.

Отвечает: Tek
Здравствуйте, Lameruga!
Вы создаете окно без стиля WS_VISIBLE, значит потом где-то вы вызываете функцию ShowWindow и скорее всего с параметром int nCmdShow, переданным в функцию WinMain.
В вашем ярлыке скорее всего указан параметр "окно: Обычный размер окна" - этот параметр и передается как раз в nCmdShow. По-этому из ярлыка запускается нормального размера.
Вообще это значение параметра используется по умолчанию, по-этому и при запуске не через ярлык, а самого ехе-файла используется это значение SW_NORMAL.
Вероятно вы в студии настроили (или стоит изначально) параметр запуска приложения со значением SW_MAXIMIZE, по-этому из студии запуск идет развернутого окна.
Где он выставляется - не скажу - не знаю.
---------
WinApi - жутко неудобные костыли, MFC и VCL - немногим полезнее, но ничего лучше еще не создано (C)Почти Уинстон Черчилль :)
Ответ отправил: Tek (статус: Студент)
Ответ отправлен: 12.03.2007, 12:22
Оценка за ответ: 5
Комментарий оценки:
Спасибо.


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.45 beta от 20.02.2007
Яндекс Rambler's Top100

В избранное