пятница, 6 ноября 2009 г.
Coding4Fun
И, как гром среди ясного неба, для меня стало известие, что издательство Символ и его интернет-магазин Books.ru выпустили книгу Coding4Fun.Программируем для удовольствия.
Честно говоря, не ожидал, что в России напечатают эту книгу (и достаточно оперативно).
Сам я давно являюсь постоянным читателем блога Coding4Fun, начиная с самых первых выпусков 2005 года. Уже тогда статьи из блога привлекали меня своей нестандартностью. Несколько раз я не удержался и разместил на своем сайте статьи в вольном переводе. К счастью, недавно появилось русскоязычное зеркало блога, где достаточно оперативно выкладываются новые материалы. Но, к сожалению, по словам координатора русской версии, старые материалы переводиться не будут. А жаль, там встречаются интересные проекты.
Вернемся к книге. В ней представлено 10 проектов из тех примеров, которые были описаны в блоге. Кто-то может спросить, а зачем читать эту книгу. Разве нельзя почитать эти же материалы в блоге? Конечно, можно. Но, иногда чтение книги более продуктивнее и удобнее. Возможно, это дело привычки. Лично мне было приятно держать бумажный вариант на руках и читать главу за главой об интересных примерах.
Примеры поражают своей широтой - здесь есть примеры для Windows, Xbox, ASP.NET, Wiimote, светомузыки и т.д.
Кстати, пусть вас не вводит в заблуждение малое количество проектов. Возьмем, для примера проект InnerTube. В этом проекте описывается процесс взаимодействия с популярным онлайн-сервисом YouTube. Авторы знакомят нас с YouTube API, при помощи которых мы можем скачать нужный ролик. Но это еще не все. Попутно, мы узнаем, как можно сконвертировать скачанный ролик в нужный нам формат, а также синхронизировать полученные материалы с iTunes и Zune. Фактически, в одном проекте описываются три разных задачи, каждая из которых вполне может потянуть на отдельный проект.
Также мне порадовало наличие примеров для Wiimote, так как я являюсь счастливым обладателем приставки Wii. Надеюсь, что у меня дойдут руки для подробного изучения примеров, и я напишу какое-нибудь приложение, использующее возможности Wiimote.
Теперь добавлю ложку дегтя в бочку меда, чтобы не перехвалить книгу. Откровенно говоря, меня удивило, что в текстах книги используется слово броузер. Мне это напомнило далекие 90-е, когда половина людей использовала это слово, а другая половина говорила - браузер. Мне кажется, что на данный момент больше прижился термин браузер. Я даже не поленился, и во время написания этих строчек, запустил поиск в справочной системе Windows 7. По слову броузер было найдено 0 документов.
Второй момент, который мне не понравился - это обложка. Оригинальная обложка американского издания мне нравится больше. Возможно, это дело вкуса. Не будем спорить.
Если вы интересуетесь программированием под .NET Framework как хобби, то эта книга для вас из категории Must Have. Советую вам поторопиться с приобретением книги. Тираж у книги небольшой и, есть предположение, что до книжных прилавков он не дойдет. Самый удобный способ - приобрести через интернет-магазины, например, ОЗОН.
Приятного вам чтения!
суббота, 24 октября 2009 г.
Фотоотчет о посещении офиса Microsoft
четверг, 22 октября 2009 г.
WM_APPCOMMAND
Недавно в справочник по функциям Windows API я добавил новый материал - описание сообщения WM_APPCOMMAND. Предлагаю вашему вниманию рассказ об этом интересном сообщении в сжатом виде. Само сообщение объявляется следующим образом:
private const int WM_APPCOMMAND = 0x319;
Сообщение WM_APPCOMMAND уведомляет окно о том, что пользователь создал командное событие прикладной программы, например, щелкнул на кнопке в приложении, используя мышь, или нажал на клавиатуре клавишу управления приложением.
С помощью данного сообщения можно, например, отключить системный микшер, значок которого находится в области уведомлений рядом с часиками.
private const int APPCOMMAND_VOLUME_MUTE = 0x8 * 0x10000;
private void button2_Click(object sender, EventArgs e)
{
// выключаем/включаем микшер
SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle, (IntPtr)APPCOMMAND_VOLUME_MUTE);
}
Обратите внимание, что микшер включается или выключаетя циклически, т.е. для включения микшера нужно еще раз послать данное сообщение.
Также можно увеличивать или уменьшать уровень громкости микшера(константы APPCOMMAND_VOLUME_DOWN и APPCOMMAND_VOLUME_UP). Кроме того, среди используемых констант можно найти управление микрофоном, браузером или универсальным проигрывателем. Вот как можно поставить на паузу Windows Media Player из своей программы:
private const int APPCOMMAND_MEDIA_PLAY_PAUSE = 0x14 * 0x10000;
SendMessageW(this.Handle, WM_APPCOMMAND, this.Handle, (IntPtr)APPCOMMAND_MEDIA_PLAY_PAUSE);
Полный список доступных констант вы найдете в справочнике. Хочу обратить ваше внимание, что все значения констант в сообщении WM_APPCOMMAND необходимо умножить на 0x10000, что я и сделал в предыдущих примерах. Используются ли данные константы без умножения в других сообщениях , я не знаю. Кто в курсе - отзовитесь.
Кстати, при изучении документации MSDN, я обнаружил еще одну интересную константу APPCOMMAND_DWM_FLIP3D, который включает режим FLIP 3D в Windows 7 (Кстати, сегодня первый день розничной продажи Windows 7).
Удачного вам программирования!
воскресенье, 23 августа 2009 г.
Кнопка Пуск и панель задач в Windows 7
Также на CodeProject имеется другой пример для работы с кнопкой. Но он также мне ничем не помог.
Сам пример описан в моей книге C#.Советы программистам, поэтому нет смысла его приводить здесь. Просто имейте в виду, что пример с кнопкой Пуск из книги в Windows 7 работать не будет.
суббота, 13 июня 2009 г.
Windows Mobile
На моем сайте также появилось несколько новых материалов. Например, статья о разработке виджетов для Windows Mobile 6.5. На самом деле, эта тема более обширна, чем изложено в статье. Я также написал расширенный вариант для одного журнала. Посмотрим, опубликуют ли статью.
Кроме того, Андрей Коновалов (кстати, один из лучших участников блога о Windows Mobile) на Хабре стал публиковать статьи Криса Крафта, того самого человека, который обещал за тридцать дней написать тридцать приложений. Я сам подумывал о переводах этого цикла, но времени совсем нет. Поэтому я решил использовать с небольшими сокращениями переводы Андрея, внося свои изменения. Вот, например, вы можете прочитать первую статью Обратный отсчёт до полуночи.
Обратите внимание, кстати, что вышел набор разработчика Windows Mobile 6.5 DTK. В этом наборе появилось несколько новых эмуляторов с различными разрешениями. После установки эмуляторов, вы можете использовать их и для старых проектов. Например, для Windows Mobile 6.1 есть модели с разрешением 800х400. Раньше нельзя было посмотреть в эмуляторе, как выглядит ваше приложение на экране с таким разрешением. Теперь это стало возможным. Сам проект не обязательно компилировать под новую платформу, просто запускайте нужный эмулятор.
И последнее. Как вы знаете, в этому году у меня вышла книга Программирование для мобильных устройств под управлением Windows Mobile. Хочу провести небольшую акцию - за 250 рублей вы можете приобрести эту книгу + получите годовую подписку на мой справочник по Windows API для .NET Framework. В эту цену входит и почтовая доставка. Так как количество книг ограничено, то вам сначала нужно написать мне письмо о своем желании (rusproject@mail.ru) и я вам вышлю свой номер кошелька WebMoney (также можно перечислить Яндекс-деньгами). Акция расчитана на жителей России. Заказывайте!
Удачного вам программирования!
среда, 27 мая 2009 г.
Microsoft Visual C# в задачах и примерах
Книга рассчитана для начинающих программистов, которые хотят повысить свою квалификацию. Автор предлагает практичные примеры, взятые из жизни, и понятные для восприятия. Я с удовольствием почитал эту книжку и, даже, нашел для себя что-то новое. Например, описание функции Windows API TaskDialog, которая появилась в Windows Vista/Windows 7 (на момент покупки книги я еще не был близко знаком с библиотекой Windows Vista Bridge Sample Library).
Рекомендую приобрести и почитать книжку всем, кто только начинает программировать на C#.
Счастливого вам чтения!
суббота, 23 мая 2009 г.
Windows Vista Bridge Sample Library
Поэтому я решил написать свой вариант статьи на эту тему. Чтобы не начинать работу с нуля, я взял за основу уже имеющиеся статьи и немного поправил их. Предварительный вариант статьи можно прочитать по адресу http://developer.alexanderklimov.ru/articles/vbsl.php. В дальнейшем я переработаю статью и постараюсь сделать ее более понятной. Если у вас есть вопросы по данной библиотеке, то можете обратиться ко мне. Самый лучший способ поделиться своим вопросом - это воспользоваться специальной формой Оставь свой отзыв, которую можно найти в правой части главной страницы http://developer.alexanderklimov.ru. Также можете задать свой вопрос по электронной почте или в комментариях к этому посту.
Удачного вам программирования!