imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 08.12.2004, 15:54     # 1
Sly_G
Junior Member
 
Аватар для Sly_G
 
Регистрация: 03.02.2004
Сообщения: 96

Sly_G Путь к славе только начался
программист-энтузиаст для win32

Если у кого-то есть желание программить под win32, и свободное время для этого, могу предложить тему Ж)

Мне нужна простенькая программка следующего толка: висит в трее, при нажатии на ее иконку правой кнопкой выдает контестное меню - первый пункт "сохранить", второй "выход".
Второй пункт понятный, а первый вот что делает: берет заголовок окна плеера Apollo (то бишь, обычно там artist - title висит, исполнитель композиции и ее название), и добавляет его в текстовый файлик.

Смысл - составить список любимых песен. Как только песня выскакивает нужная, вызываешь эту програмуху, и она сохраняет в файл. Дешево и сердито.

Вот если кто-то такую тулзу сделает, буду очень благодарен.
Sly_G вне форума  
Старый 08.12.2004, 19:13     # 2
albo
Advanced Member
 
Аватар для albo
 
Регистрация: 20.08.2003
Адрес: Москва
Пол: Male
Сообщения: 402

albo Луч света в тёмном царствеalbo Луч света в тёмном царствеalbo Луч света в тёмном царствеalbo Луч света в тёмном царствеalbo Луч света в тёмном царствеalbo Луч света в тёмном царстве
Могу сделать тулзу, висящую в памяти, отлавливающая заголовок и записывающую его в файл.
albo вне форума  
Старый 09.12.2004, 08:48     # 3
ryfm
Guest
 
Сообщения: n/a

Без проблем... Сделать?
 
Старый 09.12.2004, 14:16     # 4
Sly_G
Junior Member
 
Аватар для Sly_G
 
Регистрация: 03.02.2004
Сообщения: 96

Sly_G Путь к славе только начался
Цитата:
Сообщение от albo
Могу сделать тулзу, висящую в памяти, отлавливающая заголовок и записывающую его в файл.
Классно, только не всякий заголовок, а именно что по выбору. Выбор как-то надо сделать. Горячей клавишей (но это я не особо люблю) или еще как - например, как я предложил, через tray

Цитата:
Сообщение от ryfm
Без проблем... Сделать?
Да, я был бы весьма признателен Ж)

Вроде бы задачку я описал. Единственный вопрос, в какой файл сохранять заголовки - проще всего в файл в том же каталоге, откуда программа запускается, с именем например apollo.txt

Аполло можно взять тут:
http://apollo.caphost.biz/Apollo37zh.exe

Исходники программы semagic, которая умеет заголовок аполло ловить, тут:
http://sema.net.ru/semagic/Semagic_src.zip

Да, забыл что упомянуть - не знаю, имеет ли это значение для выкусывания информации или нет, но apollo у меня в виде mini window используется. У него в тулбаре это вторая справа кнопка.
Sly_G вне форума  
Старый 09.12.2004, 17:03     # 5
albo
Advanced Member
 
Аватар для albo
 
Регистрация: 20.08.2003
Адрес: Москва
Пол: Male
Сообщения: 402

albo Луч света в тёмном царствеalbo Луч света в тёмном царствеalbo Луч света в тёмном царствеalbo Луч света в тёмном царствеalbo Луч света в тёмном царствеalbo Луч света в тёмном царстве
Sly_G
Можно сделать через текстовый конфиг. Я просто не умею значки в трее делать.
albo вне форума  
Старый 09.12.2004, 17:22     # 6
ryfm
Guest
 
Сообщения: n/a

Написал, куда кинуть....

А вот и прога

За глюки просьба не пинать писалось в свободное от работы время...
Вложения
Тип файла: rar test.rar (17.0 Кбайт, 14 просмотров - Кто скачивал? )

Последний раз редактировалось ryfm; 09.12.2004 в 17:20.
 
Старый 11.12.2004, 00:04     # 7
Sly_G
Junior Member
 
Аватар для Sly_G
 
Регистрация: 03.02.2004
Сообщения: 96

Sly_G Путь к славе только начался
А как она работает?
Я ее запускаю - она молча закрывается
Sly_G вне форума  
Старый 11.12.2004, 09:30     # 8
ryfm
Guest
 
Сообщения: n/a

Возможно у тебя нет библиотек mfc7... На экран хоть чтонибудь выдает?

Компилировать в Microsoft VisualC.Net 2003
Вложения
Тип файла: rar SaveSongTitle.rar (73.8 Кбайт, 7 просмотров - Кто скачивал? )
 
Старый 11.12.2004, 19:17     # 9
alexey_ma
Member
 
Регистрация: 10.03.2002
Адрес: Israel
Сообщения: 245

alexey_ma Нимб уже пробиваетсяalexey_ma Нимб уже пробивается
2ryfm
Торопишся. Есть ошибочка.
Код:
void CSaveSongTitleDlg::OnTimer(UINT nIDEvent)
{
	// TODO: Add your message handler code here and/or call default
	CWnd *cWnd = FindWindow("Apollo - Main Window", NULL);

	if (cWnd == NULL)return

	cWnd->GetWindowText(st);
	this->SetWindowText(st);

	CDialog::OnTimer(nIDEvent);
}
Поставь точку с зпятой после if (cWnd == NULL)return , то код выполняется так:
if (cWnd == NULL)
return cWnd->GetWindowText(st);
При ненайденом окне завалится в "Access violation ...".
__________________
Best Regards
alexey_ma вне форума  
Старый 11.12.2004, 20:17     # 10
chesnok
Member
 
Аватар для chesnok
 
Регистрация: 01.01.2004
Адрес: Воронеж, Россия
Сообщения: 206

chesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форуме
Вообще не понимаю, зачем в такой задаче (маленькая и быстрая программа) использовать MFC???
__________________
<SPEEDing|VoNK> you cant use knoppix as a server can you?
<bob> why not? people use windows as one.
chesnok вне форума  
Старый 11.12.2004, 20:28     # 11
alexey_ma
Member
 
Регистрация: 10.03.2002
Адрес: Israel
Сообщения: 245

alexey_ma Нимб уже пробиваетсяalexey_ma Нимб уже пробивается
Да ладно, не драконь парня. Он молодец что взялся. Пусть пишет как ему удобно.
__________________
Best Regards
alexey_ma вне форума  
Старый 11.12.2004, 23:02     # 12
chesnok
Member
 
Аватар для chesnok
 
Регистрация: 01.01.2004
Адрес: Воронеж, Россия
Сообщения: 206

chesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форуме
Цитата:
Сообщение от alexey_ma
Да ладно, не драконь парня. Он молодец что взялся. Пусть пишет как ему удобно.
Написал сабж на винапи.
Here
Не требует инсталляции, занимает 31кб (и это не предел), в оперативке занимает 1600кб (по сведениям Task Manager'а).
Обрезает номер песни и доп инфу (т.е. в лог пишется только Artist - Song).
__________________
<SPEEDing|VoNK> you cant use knoppix as a server can you?
<bob> why not? people use windows as one.
chesnok вне форума  
Старый 12.12.2004, 10:07     # 13
ryfm
Guest
 
Сообщения: n/a

Писалось в свободное от работы время, просто чтобы вспомнить Visual C++, т.к. сейчас работаю с SQL и Шарпом...
alexey_ma да уж прикольная ошибочка...
chesnok можно было написать и на asm с вызовом функций API, но ведь в данном случае это не принципиально.

Может посоревнуемся?
Поправленное, есть еще глюки, нет проверки на существование файла. Блин, суббота, воскресенье, завтра понедельник, нормальные люди отдыхают, а я последние два месяца все выходные и праздники провожу на работе...
Вложения
Тип файла: rar Release.rar (16.9 Кбайт, 4 просмотров - Кто скачивал? )
Тип файла: rar SaveSongTitle.rar (74.1 Кбайт, 4 просмотров - Кто скачивал? )

Последний раз редактировалось ryfm; 12.12.2004 в 11:03.
 
Старый 12.12.2004, 16:41     # 14
chesnok
Member
 
Аватар для chesnok
 
Регистрация: 01.01.2004
Адрес: Воронеж, Россия
Сообщения: 206

chesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форуме
Зажал сабж ещё больше, теперь работает ещё быстрее, однако пришлось засунуть ресурсы (иконка от Apollo) в отдельную dll. exe + dll вместе занимают 17kb лежит там же
__________________
<SPEEDing|VoNK> you cant use knoppix as a server can you?
<bob> why not? people use windows as one.
chesnok вне форума  
Старый 15.12.2004, 00:21     # 15
Sly_G
Junior Member
 
Аватар для Sly_G
 
Регистрация: 03.02.2004
Сообщения: 96

Sly_G Путь к славе только начался
Цитата:
Сообщение от chesnok
Зажал сабж ещё больше, теперь работает ещё быстрее, однако пришлось засунуть ресурсы (иконка от Apollo) в отдельную dll. exe + dll вместе занимают 17kb лежит там же
Проблемса Ж(

Прога запускается, в трее висит. Open log работает.

А вот при попытке Save title - "apwatch.exe has generated errors and will be closed by Windows" ((

Цитата:
Сообщение от ryfm
Возможно у тебя нет библиотек mfc7... На экран хоть чтонибудь выдает?

Компилировать в Microsoft VisualC.Net 2003
Не выдает вообще ничего - ни в консоль, ни в экран.
Библиотек таких не ставил, наверно нет их.

Цитата:
Сообщение от chesnok
Зажал сабж ещё больше, теперь работает ещё быстрее, однако пришлось засунуть ресурсы (иконка от Apollo) в отдельную dll. exe + dll вместе занимают 17kb лежит там же
Может быть из-за этого глюк - у меня аполло используется в виде мини-окна. Это вторая справа кнопка на тулбаре.
И в этом случае название окна его что-то вроде ApolloMiniWindow, это я узнал от HotKeyboard.
Хотя я попробовал и с открытым окном - все равно падает твоя программа.

Кроме того, заголовок задан как %LEADARTIST% - %TITLE% (там по умолчанию как-то сложнее).
Sly_G вне форума  
Старый 15.12.2004, 08:26     # 16
ryfm
Guest
 
Сообщения: n/a

Sly_G у тебя винда какая 98 или XP?
 
Старый 15.12.2004, 10:51     # 17
chesnok
Member
 
Аватар для chesnok
 
Регистрация: 01.01.2004
Адрес: Воронеж, Россия
Сообщения: 206

chesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форуме
Ну если винда 98, то всё понятно, я MSLU не подключал, думал, что 98й ни у кого уже и нет... А если ХР, то проблема скорее всего в обработке строки Apollo (т.к. программа думает, что эта строка в формате номер исполнитель - композиция - время - (общ.время @ битрейт))

MSLU - Microsoft Layer For Unicode, нужен т.к. строку с Apollo я считываю в юникоде, чтоб не геморроиться с названиями в разных локалях.
__________________
<SPEEDing|VoNK> you cant use knoppix as a server can you?
<bob> why not? people use windows as one.
chesnok вне форума  
Старый 15.12.2004, 13:34     # 18
Sly_G
Junior Member
 
Аватар для Sly_G
 
Регистрация: 03.02.2004
Сообщения: 96

Sly_G Путь к славе только начался
Цитата:
Сообщение от ryfm
Sly_G у тебя винда какая 98 или XP?
Не угадал, win2000

Цитата:
Сообщение от chesnok
Ну если винда 98, то всё понятно, я MSLU не подключал, думал, что 98й ни у кого уже и нет... А если ХР, то проблема скорее всего в обработке строки Apollo (т.к. программа думает, что эта строка в формате номер исполнитель - композиция - время - (общ.время @ битрейт))

MSLU - Microsoft Layer For Unicode, нужен т.к. строку с Apollo я считываю в юникоде, чтоб не геморроиться с названиями в разных локалях.
У меня win2000 sp4.

А разве так критично, как строчка выглядит? Нельзя просто всю строку целиком брать?

У меня она такая: "исполнитель - композиция". Если нельзя целиком брать всю, то просьба переделать програмуху под такой вид строки.

Спасибо!
Sly_G вне форума  
Старый 15.12.2004, 15:16     # 19
chesnok
Member
 
Аватар для chesnok
 
Регистрация: 01.01.2004
Адрес: Воронеж, Россия
Сообщения: 206

chesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форумеchesnok Популярный человек на этом форуме
Подправил программу, теперь она ничего не делает со строкой, а просто записывает её в файл. Лежит там же, линк в предыдущих постах. Сейчас занимаюь тем, чтобы программа строку почти любого вида приводила к Исполнитель - Композиция.
__________________
<SPEEDing|VoNK> you cant use knoppix as a server can you?
<bob> why not? people use windows as one.
chesnok вне форума  
Старый 20.12.2004, 17:32     # 20
Sly_G
Junior Member
 
Аватар для Sly_G
 
Регистрация: 03.02.2004
Сообщения: 96

Sly_G Путь к славе только начался
работает!

chesnok - Спасибо огромное Ж)

Заработала!
Sly_G вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 22:11.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.