Програма написана за мотивами "StartPlus - стартер 1С всіх версій і інших програм" (//infostart.me/public/86205/).
АЛГОРИТМ:
1. Програма періодично (задається в настройках) перезавантажує (оновлює) меню, наприклад із загальної мережевої папки.
2. При побудові списку програм (меню) перевіряється доступність кожного пункту меню. Якщо файл запуску недоступний (а це можна обмежити мережевими правами), то даний пункт меню у користувача не з'являється. Є можливість задати додатковий шлях перевірки. Наприклад це потрібно коли запускной файл 1С один і той же, а баз кілька, тоді шлях до баз задаємо в цьому додатковому шляху.
3. Програма згортається в трей. При спробі закрити - також згортається в трей.
4. При запуску програми перевіряється, чи не запущена чи вона вже (щоб не запускати кілька копій).
5. Можливість зручного інтерактивного редагування списку. а не ручне редагування текстового файлу.
17. Едуард Аскадуллін (AERoport) 17 12.10.11 22:45 Зараз в темі
СКЛАД.
Automenu.exe - сама програма Автоменю.
start.ini - файл параметрів
start.txt - вміст автоменю
st.cmd - приклад запускной скрипта
ico - папка для ico-файлів. Використовується для "своїх" іконок і прискорення оновлення.
ico \ стандарт.ico - іконка за замовчуванням.
ВСТАНОВЛЕННЯ.
1. Копіюємо всі файли в мережеву папку, доступну "тільки для читання" звичайним користувачам.
2. в start.ini прописуємо шлях до мережевої папки з меню без слеша, наприклад, "s: \ start".
МЕТОДИ запуску:
Перший. запуск Automenu.exe
ПЛЮСИ: Простий. МІНУСИ: Постійно відкритий * .exe на сервері.
Другий. Запуск * .cmd, який копіює * .exe на "локалку" і запускає вже звідти.
ПЛЮСИ: Ні постійно відкритого * .exe на сервері. Мінуси: вимагає продуманого скрипта запуску.
У будь-якому варіанті методами GPO (Груповий політики домену)
або вручну даємо всім користувачам ярлик на Automenu.exe або st.cmd відповідно.
ПРИНЦИП РОБОТИ
1.В папці запуску (exe) шукається start.ini, параметр [main] / MenuPath - це шлях до меню.
Якщо параметр не знайдений, то передбачається папка запуску програми.
2.Чітаем файл меню start.txt
3.Фільтруем недоступні по основному шляху запуску пункти (прибираємо),
Якщо вказано додатковий пункт шлях перевірки, то перевіряємо його теж.
4.Чістім порожні групи (папки) в меню.
5.Грузім іконки. Якщо є відповідний \ ico \ *. Ico, то читаємо його (швидше),
інакше витягуємо іконку з запускається файлу (довше).
РЕЖИМ НАЛАШТУВАННЯ
Режим настройки (адміністратора) включається по маленькій кнопочки біля диаграма завантаження.
Тут з'являються кнопочки управління, думаю все зрозуміло.
У формі редагування пункту меню:
1. "Пункт меню": власне сама назва пункту
2. "Файл" - що запускаємо, може бути будь-яким файлом або папкою (* .exe, * doc, * .mp3, папка).
3. "Параметри запуску" - параметри, застосовуються до виконуваних файлів.
4. "Шлях перевірки (опц.)" - шлях дополнітельнйо перевірки.
наприклад,
1. "Пункт меню": Каса
2. "Файл": \\ Server \ 1Cv77 \ bin \ 1cv7.exe,
3. "Параметри запуску": enterprise / D \\ Server \ 1C_Db \ / N% USERNAME%,
4. "Шлях перевірки (опц.)": \\ Server \ 1C_Db \,
так як файл запуску "\\ Server \ 1Cv77 \ bin \ 1cv7.exe" може бути загальним для несколькіз баз,
то доступність потрібно перевіряти по шляху до конкретної бази (\\ Server \ 1C_Db \).
18. Едуард Аскадуллін (AERoport) 17 12.10.11 22:45 Зараз в темі
МОЖЛИВІ ШЛЯХИ РОЗВИТКУ ПРОГРАМИ (TO DO?)
1.Drag and Drop при редагуванні меню:
а) Пункти меню між собою,
б) Перетягування зовнішніх файлів (ярликів).
2.Використовувати інший формат для файлу меню start.txt, наприклад JSON або ini.
3.Необходімость шифрування файлу start.txt.
(Елемент безпеки, так як доступний на читання всім, навіть з "закритими" пунктами меню.)
4.Файл додаткових налаштувань в мережевій теці, наприклад частота оновлення (зараз строго -10 хвилин);
згортання програми після запуску пункту меню; щось ще.
5.Автозапуск зазначених пунктів меню при старті програми? Можливо, що краще зробити під кожного користувача індивідуально.
6.Прінудітельное закриття запущеного пункту меню по команді адміністратора (наскільки коректно вийде?)
7.Распісаніе (зозуля на перерву і т.д. і т.п.)
8.Прівязка деякого функціоналу чату (наприклад програми unichat) або інтеграція?
19. Едуард Аскадуллін (AERoport) 17 20.10.11 22:53 Зараз в темі
23. Павло Хорев (w22u) 30 20.11.11 20:44 Зараз в темі
(19) AERoport, можна надіслати на [email protected] версію з відображенням імені користувача і комп'ютера?