motorboy
 - Стаж: 10 дней
- Сообщений: 12
- Репутация:2[+] [-]
|
Последний раз редактировалось: motorboy (2026-03-10 21:49), всего редактировалось 11 раз(а)
|
AZJIO
  - Стаж: 8 лет
- Сообщений: 1357
- Репутация:127[+] [-]
|
motorboy, вот ещё пример со списком, с привязкой данных к пунктуcode;- TOP EnableExplicit ;- ● Structure Structure prog path.s name.s idxImage.i size.q *p EndStructure ;- ● Define Define ListIcon_ID, hImgList Define hIcon, i, idx, tmp, tmp$ Define item.LVITEM Define *p Define NewList ProgName() Define NewList prog.prog() ;- List *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files\7-Zip\7zFM.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files\AIMP\AIMP.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files\WinRAR\WinRAR.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Windows\System32\notepad.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Windows\System32\calc.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files\Internet Explorer\iexplore.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files\Everything\Everything.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files\WinMerge\WinMergeU.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files (x86)\K-Lite Codec Pack\MPC-HC64\mpc-hc64.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files (x86)\Resource Hacker\ResourceHacker.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files (x86)\Scanner\Scanner.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files (x86)\HxD\HxD.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files (x86)\QTranslate\QTranslate.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files (x86)\HTML Help Workshop\hhw.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files (x86)\FastStone Image Viewer\FSViewer.exe" *p = AddElement(prog()) : prog()\p = *p : prog()\path = "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" ;-┌──GUI──┐ If OpenWindow(0, 0, 0, 300, 350, "Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) ListIcon_ID = ListIconGadget(#PB_Any, 5, 5, 290, 340, "Файлы", 200, #PB_ListIcon_FullRowSelect | #LVS_NOCOLUMNHEADER) hImgList = ImageList_Create_(32, 32, #ILC_COLOR32 | #ILC_MASK, 1, 1) SendMessage_(GadgetID(ListIcon_ID), #LVM_SETIMAGELIST, #LVSIL_SMALL, hImgList) ; Добавляем данные ForEach prog() Next i = 0 SendMessage_(GadgetID(ListIcon_ID), #WM_SETREDRAW, 0, 0) ForEach prog() If FileSize(prog()\path) > 100 hIcon = 0 ExtractIconEx_(prog()\path, 0, @hIcon, 0, 1) If hIcon tmp = ImageList_AddIcon_(hImgList, hIcon) DestroyIcon_(hIcon) ; Иконку уже в ImageList, оригинал можно удалить If tmp <> -1 prog()\idxImage = i item\mask = #LVIF_IMAGE item\iItem = i item\iImage = i tmp$ = GetFilePart(prog()\path, #PB_FileSystem_NoExtension) AddGadgetItem(ListIcon_ID, i, tmp$) SendMessage_(GadgetID(ListIcon_ID), #LVM_SETITEM, 0, @item) SetGadgetItemData(ListIcon_ID, i, prog()\p) i + 1 EndIf EndIf Else DeleteElement(prog()) ; удалить несуществующий путь из списка EndIf Next SendMessage_(GadgetID(ListIcon_ID), #WM_SETREDRAW, 1, 0) ;-┌──Loop──┐ Repeat Select WaitWindowEvent() ;- ├ Gadget Case #PB_Event_Gadget Select EventGadget() Case ListIcon_ID If EventType() = #PB_EventType_LeftClick idx = GetGadgetState(ListIcon_ID) If idx <> -1 *p = GetGadgetItemData(ListIcon_ID, idx) ChangeCurrentElement(prog() , *p) RunProgram(prog()\path) EndIf EndIf EndSelect ;- ├ Close Case #PB_Event_CloseWindow CloseWindow(0) ImageList_Destroy_(hImgList) End EndSelect ForEver ;-└──Loop──┘ EndIf
|
motorboy
 - Стаж: 10 дней
- Сообщений: 12
- Репутация:2[+] [-]
|
AZJIO Спасибо за помощь! Скоро выложу новую версию в которой реализовал то о чем просили, а потом займусь размером иконок, Hover меню, и фильтром показа программ на разных версиях винды.
|
 Отправлено: Вчера, в 11:15
(спустя 13 часов)
Stranger13
 - Стаж: 3 года 1 месяц
- Сообщений: 20
- Репутация:0[+] [-]
|
motorboy опробовал версию 1.1 спасибо за увеличение шрифта до 11, если можно для порядка до 12 увеличить мало ли кому пригодится. выявились косячки: -горячие клавиши на закрытие не работает, хотя в настройках написано "отображать/скрывать"; -в настройках при смене языка пропадает пункт свернуть в трей, приходится сохранить настройки и перезапустить тогда все норм; -при нажатии на DEL иногда прога завершает работу и удаляет не выделенные программы; -текст во вкладке "запуск от имени" редактировании проги не вмещается во вкладке; -если со всплывающими подсказками не получается, тогда может при наведении курсора мыши на прогу сделать чтоб описание тоже менялось, а то при включении запуска прог одним щелчком теряется возможность описания просматривать внизу панелей; -Запустить без ключей, для порядку может тогда и в меню "запустить от" добавить чтоб был полный функционал Проверял на Windows 10x64 LTSC 1809 Еще одна хотелочка - возможно ли сделать запуск программ в запароленных архивах, как в 2K10 SoftPack или что то подобное.
|
 Отправлено: Вчера, в 13:06
(спустя 1 час 51 минута)
xnik
  - Стаж: 7 лет 4 месяца
- Сообщений: 511
- Репутация:12[+] [-]
- Откуда: СССР
|
возможно ли сделать запуск программ в запароленных архивах Запорольте, потом в окне cmd пропишите пароль
|
 Отправлено: Вчера, в 18:53
(спустя 5 часов)
motorboy
 - Стаж: 10 дней
- Сообщений: 12
- Репутация:2[+] [-]
|
Stranger13 -Закрытие окна горячей клавишей отключил случайно. В обновлении будет исправлено. -Пропадает пункт "Свернуть в трей" - исправил. -При нажатии на DEL иногда прога завершает работу и удаляет не выделенные программы - тут не знаю в чем причина. У меня такого не было. При удалении через меню такой проблемы не было? Попробуйте проследить когда именно происходит вылет(при удалении последней программы в списке, первой программы или другое). -Текст во вкладке "запуск от имени" редактировании проги не вмещается во вкладке - исправил. -Со всплвающими подсказками попробую что то придумать. -Запустить без ключей в меню "запустить от" добавлю. -Запуск программ в запароленных архивах... Можно подробнее. Что именно нужно? Добавить опцию ввода пароля под звездочками в окне добавления\редактирования и хранить пароль в зашифрованном виде? Что бы прога запускалась только из лаунчера?
|
AZJIO
  - Стаж: 8 лет
- Сообщений: 1357
- Репутация:127[+] [-]
|
106629-Со всплвающими подсказками попробую что то придумать. BalloonTip
|
 Отправлено: Вчера, в 22:30
(спустя 2 минуты)
Stranger13
 - Стаж: 3 года 1 месяц
- Сообщений: 20
- Репутация:0[+] [-]
|
motorboyПопробуйте проследить когда именно происходит вылет к примеру ставим курсор на самую верхнюю прогу в списке группы и нажимаем два раза подряд DELL верхняя прога удаляется и после вылет лаунчера. Еще один момент, выбираем верхнюю прогу в группе, затем выбираем другую группу (мышкой) выбирается другая группа но в правой панели не одна прога не выбрана, и после нажатия на DELL удаляется прога с прошлой группы, ну а если два раза делл то вылетает лаунчер.Со всплывающими подсказками попробую что то придумать. я чего затронул эту тему с подсказками всплывающими, когда просил сделать запуск программ по одиночному клику, то понимал что нарушится функционал описаний к программам который уже имеется, поэтому и предложил. Тут автору решать ка сделать так чтоб при изменении настроек функционал не хромал.хранить пароль в зашифрованном виде? Что бы прога запускалась только из лаунчера? Да. Вот тут для примера можно посмотреть чтоб не расписывать 2k10@Next_ru
|
Страница 3 из 3
Текущее время: 12-Мар 00:18
Часовой пояс: UTC + 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы
|
|