![]() |
программист-энтузиаст для win32
Если у кого-то есть желание программить под win32, и свободное время для этого, могу предложить тему Ж)
Мне нужна простенькая программка следующего толка: висит в трее, при нажатии на ее иконку правой кнопкой выдает контестное меню - первый пункт "сохранить", второй "выход". Второй пункт понятный, а первый вот что делает: берет заголовок окна плеера Apollo (то бишь, обычно там artist - title висит, исполнитель композиции и ее название), и добавляет его в текстовый файлик. Смысл - составить список любимых песен. Как только песня выскакивает нужная, вызываешь эту програмуху, и она сохраняет в файл. Дешево и сердито. Вот если кто-то такую тулзу сделает, буду очень благодарен. |
Могу сделать тулзу, висящую в памяти, отлавливающая заголовок и записывающую его в файл.
|
Без проблем... Сделать?
|
Цитата:
Цитата:
Вроде бы задачку я описал. Единственный вопрос, в какой файл сохранять заголовки - проще всего в файл в том же каталоге, откуда программа запускается, с именем например apollo.txt Аполло можно взять тут: http://apollo.caphost.biz/Apollo37zh.exe Исходники программы semagic, которая умеет заголовок аполло ловить, тут: http://sema.net.ru/semagic/Semagic_src.zip Да, забыл что упомянуть - не знаю, имеет ли это значение для выкусывания информации или нет, но apollo у меня в виде mini window используется. У него в тулбаре это вторая справа кнопка. |
Sly_G
Можно сделать через текстовый конфиг. Я просто не умею значки в трее делать. |
Вложений: 1
Написал, куда кинуть....
А вот и прога За глюки просьба не пинать писалось в свободное от работы время... |
А как она работает?
Я ее запускаю - она молча закрывается |
Вложений: 1
Возможно у тебя нет библиотек mfc7... На экран хоть чтонибудь выдает?
Компилировать в Microsoft VisualC.Net 2003 |
2ryfm
Торопишся. Есть ошибочка. Код:
void CSaveSongTitleDlg::OnTimer(UINT nIDEvent) if (cWnd == NULL) return cWnd->GetWindowText(st); При ненайденом окне завалится в "Access violation ...". |
Вообще не понимаю, зачем в такой задаче (маленькая и быстрая программа) использовать MFC???
|
Да ладно, не драконь парня. Он молодец что взялся. Пусть пишет как ему удобно.
|
Цитата:
Here Не требует инсталляции, занимает 31кб (и это не предел), в оперативке занимает 1600кб (по сведениям Task Manager'а). Обрезает номер песни и доп инфу (т.е. в лог пишется только Artist - Song). |
Вложений: 2
Писалось в свободное от работы время, просто чтобы вспомнить Visual C++, т.к. сейчас работаю с SQL и Шарпом...
alexey_ma да уж прикольная ошибочка... chesnok можно было написать и на asm с вызовом функций API, но ведь в данном случае это не принципиально. Может посоревнуемся? :) Поправленное, есть еще глюки, нет проверки на существование файла. Блин, суббота, воскресенье, завтра понедельник, нормальные люди отдыхают, а я последние два месяца все выходные и праздники провожу на работе... |
Зажал сабж ещё больше, теперь работает ещё быстрее, однако пришлось засунуть ресурсы (иконка от Apollo) в отдельную dll. exe + dll вместе занимают 17kb :) :) лежит там же
|
Цитата:
Прога запускается, в трее висит. Open log работает. А вот при попытке Save title - "apwatch.exe has generated errors and will be closed by Windows" :((( Цитата:
Библиотек таких не ставил, наверно нет их. Цитата:
И в этом случае название окна его что-то вроде ApolloMiniWindow, это я узнал от HotKeyboard. Хотя я попробовал и с открытым окном - все равно падает твоя программа. :confused: Кроме того, заголовок задан как %LEADARTIST% - %TITLE% (там по умолчанию как-то сложнее). |
Sly_G у тебя винда какая 98 или XP?
|
Ну если винда 98, то всё понятно, я MSLU не подключал, думал, что 98й ни у кого уже и нет... А если ХР, то проблема скорее всего в обработке строки Apollo (т.к. программа думает, что эта строка в формате номер исполнитель - композиция - время - (общ.время @ битрейт))
MSLU - Microsoft Layer For Unicode, нужен т.к. строку с Apollo я считываю в юникоде, чтоб не геморроиться с названиями в разных локалях. |
Цитата:
Цитата:
А разве так критично, как строчка выглядит? Нельзя просто всю строку целиком брать? У меня она такая: "исполнитель - композиция". Если нельзя целиком брать всю, то просьба переделать програмуху под такой вид строки. Спасибо! |
Подправил программу, теперь она ничего не делает со строкой, а просто записывает её в файл. Лежит там же, линк в предыдущих постах. Сейчас занимаюь тем, чтобы программа строку почти любого вида приводила к Исполнитель - Композиция.
|
работает!
chesnok - Спасибо огромное Ж)
Заработала! |
А насколько сложно сделать на основе этой проги плугин для Samurize (samurize.com)? С целью просто отдавать название композиции.
|
А зачем изобретать велосипед? Скорее всего, такой плаг уже есть...
|
Часовой пояс GMT +4, время: 10:53. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.