5 / 5 / 0
Регистрация: 08.07.2011
Сообщений: 120
1

Глобальные горячие клавиши когда программа в трее

11.02.2012, 15:25. Показов 1864. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
все привет.
До сих пор пишу прогу для смены обоев
и на завершающей стадии решил сделать глобальную горячую клавишу для смены обоев
Но при смене(по этой самой клавише ошибка).
программа полностью скрыта в трей.
и еще одна странность этот же код по таймеру программа выполняет на ура(даже когда свернута)
и горячая клавиша при развёрнутой форме тоже работает нормально
помогите разобраться.
ниже скрин
вот сам код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm1.WMHotKey(var Mess: TWMHotKey);
 begin
ListBox1.Perform(LB_SELECTSTRING,-1,longint(Pchar(GetWallpaperDirectory)));
S:= listbox1.ItemIndex;
listbox1.ItemIndex := s+1;
Reg := TRegIniFile.Create('Control Panel');
Reg.WriteString('desktop', 'Wallpaper', (listbox1.Items[s+1]));
Reg.WriteString('desktop', 'TileWallpaper', '0');
Reg.Free;
SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, nil, SPIF_SENDWININICHANGE);
jpg:=tjpegimage.Create;
jpg.LoadFromFile(listbox1.Items[listbox1.ItemIndex]);
image1.Picture.Assign(jpg);
if Assigned(jpg) then jpg.Free;
 end;
Миниатюры
Глобальные горячие клавиши когда программа в трее  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2012, 15:25
Ответы с готовыми решениями:

Глобальные горячие клавиши
интересно как создать, условия для программы примерно следующие программа скрыта из процессов,...

Глобальные горячие клавиши
Народ помогите разобраться как сделать чтоб горячие клавиши работали глобально! Т.е. чтобы действие...

Глобальные горячие клавиши
Я использую в своей программе горячие клавиши, и появилась потребность сделать их глобальными, что...

Глобальные горячие клавиши RegisterHotKey
Всем привет! У меня что-то не получаеться сделать глобальные клавиши с помощью функции...

3
5 / 5 / 0
Регистрация: 08.07.2011
Сообщений: 120
11.02.2012, 19:24  [ТС] 2
открылись новые факты
если запустить программу она сразу сворачивается, тогда ошибка,
а если запустить программу, развернуть ее, потом опять свернуть(в трей) то обои переключаются по горячей клавише нормально
выбивает ошибку на вот этой строке
Delphi
1
Reg.WriteString('desktop', 'Wallpaper', (listbox1.Items[s+1]));
0
1085 / 571 / 79
Регистрация: 07.04.2011
Сообщений: 971
Записей в блоге: 2
12.02.2012, 02:45 3
попробуй так
Delphi
1
2
3
if lisbox1.itemindex   <  listbox1.items.count -1  then
     Reg.WriteString('desktop', 'Wallpaper', (listbox1.Items[lisbox1.itemindex ]));
else // тут сам решай, или с начала или выход
0
5 / 5 / 0
Регистрация: 08.07.2011
Сообщений: 120
13.02.2012, 13:07  [ТС] 4
решил проблему добавлением таймера на форму и через секунду сворачиваю форму тогда ни каких ошибок
0
13.02.2012, 13:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2012, 13:07
Помогаю со студенческими работами здесь

Как сделать глобальные горячие клавиши?
Как сделать глобальные горячие клавиши? Пользуюсь вот таким кодом public partial class Form1...

Как сделать глобальные горячие клавиши
Как сделать глобальные горячие клавиши как Winamp или Aimp. К примеру ты играешь и слушаешь музыку...

Глобальные горячие клавиши не работают через событие KeyDown
Как создать 2 глобальные горячие клавиши, я создал функцию на форме KeyDown и написал туда ...

Программа свернулась в трей, что бы работали горячие клавиши
Привет, подскажите как такое можно сделать, есть программа она свариваться в трей, и потом...

Как присваивать горячие клавиши к примеру на выполнение нажатие клавиши
Народ. не могу найти, как в студии присваивать горячие клавиши к примеру на выполнение нажатие...

Горячие клавиши - обойти наведение фокуса и привязать клавиши клавиатуры к кнопкам на форме
всем доброго времени суток. столкнулся с такой проблемой. требуется чтобы при нажатии определенных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru