Страница 1 из 1
Отключение MB-программ в MapInfo
Добавлено: 10 ноя 2015, 10:44
Dartix
В MapInfo пользуюсь большим количеством MB-программ, но иногда, для определённых целей нужно чтобы была запущена "чистая" MapInfo (без запущенных MB-программ). Приходится их отключать вручную.
Можно ли каким-нибудь скриптом или лучше программой MapBasic отключить все запущенные MapBasic программы в MapInfo?
Re: Отключение MB-программ в MapInfo
Добавлено: 10 ноя 2015, 11:33
Slinger
Все утилиты, которые есть у вас в списке "Программы - Каталог программ" лежат в реестре по этому пути
HKEY_CURRENT_USER\Software\MapInfo\MapInfo\Professional\НомерВерсии_MapInfo\Tools
Что бы я сделал
1) Экспортировал бы раздел Tools куда-нибудь. Это будет бэкап наших данных, стандартный запуск всех утилит и вообще всего списка
2) Создаю копию этого реестровского файла, открываю в любом текстовом редакторе (насчёт блокнота не уверен, так как он UTF-8 не поддерживает) и меняю
на
везде, где встретится. Это будет "чистый" файл реестра без автозапуска утилит.
3) Убедитесь, что Mapinfo выключен и применяйте чистый файл.
4) И всё.
з.ы. Соответственно при изменении списка утилит, добавление или удаление, или изменения автозагрузки, не забывайте заново создавать .reg файлы.
Re: Отключение MB-программ в MapInfo
Добавлено: 10 ноя 2015, 16:52
Alexgis
Как-то так
Код: Выделить всё
Include "MAPBASIC.DEF"
Declare Sub Main
Sub Main
DIM h as integer
DIM s as string
h = DDEInitiate ("MapInfo", "System")
s = DDERequest$(h, "Topics")
DDETerminate h
DIM ln as integer
DIM pos as integer
DIM fn as string
DIM ch as string
ln = Len(s)
FOR pos = 8 TO ln
ch = mid$(s, pos, 1)
IF Asc(ch) = 9 THEN
IF fn <> "" THEN
Terminate Application fn
fn = ""
END IF
ELSE
fn = fn + ch
END IF
NEXT
END SUB
Re: Отключение MB-программ в MapInfo
Добавлено: 12 ноя 2015, 10:16
Dartix
Спасибо за ответы! Всё, что задумывалось, получилось!)