6
smaharbA
17.11.10
✎
11:36
|
где то так
//******************************************* Функция Регистрировать(Знач Программа="",Сообщ=0) Если ПустоеЗначение(Программа)=1 Тогда Попытка Шел=СоздатьОбъект("Shell.Explorer"); Программа=Шел.fullname(); Исключение Стр=КаталогПрограммы()+"1cv7s.exe |"+КаталогПрограммы()+"1cv7.exe"; Для к=1 По СтрКоличествоСтрок(Стр) Цикл Если ФС.СуществуетФайл(СтрПолучитьСтроку(Стр,к))=1 Тогда Программа=СтрПолучитьСтроку(Стр,к); к=0; Прервать; КонецЕсли; КонецЦикла; Если к>0 Тогда Сообщить("Не найдена "+Программа,"!"); Возврат 0; КонецЕсли; КонецПопытки; ИначеЕсли ФС.СуществуетФайл(Программа)=0 Тогда Сообщить("Не найдена "+Программа,"!"); Возврат 0; КонецЕсли; Программа=СтрЗаменить(Программа,"\","\\"); КаталогПрограммыСтр=СтрЗаменить(КаталогПрограммы(),"\","\\"); Стр="REGEDIT4 |[HKEY_CURRENT_USER\Software\Classes\CLSID\{BF417C70-9A34-11D2-9F3D-008048DA120F}] |@=""V1CEnterprise.Application"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{BF417C70-9A34-11D2-9F3D-008048DA120F}\InprocHandler32] |@=""ole32.dll"" |[HKEY_CURRENT_USER\Software\Classes\CLSID\{BF417C70-9A34-11D2-9F3D-008048DA120F}\LocalServer32] | |@="""+Программа+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{BF417C70-9A34-11D2-9F3D-008048DA120F}\ProgID] |@=""V1CEnterprise.Application"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{E6148B91-6562-11D1-83FD-00C0DF4A7431}] |@=""V77.AccountOperPropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{E6148B91-6562-11D1-83FD-00C0DF4A7431}\HelpDir] |@="""+КаталогПрограммыСтр+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{E6148B91-6562-11D1-83FD-00C0DF4A7431}\InprocHandler32] |@=""ole32.dll"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{E6148B91-6562-11D1-83FD-00C0DF4A7431}\LocalServer32] |@="""+Программа+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{E6148B91-6562-11D1-83FD-00C0DF4A7431}\ProgID] |@=""V77.AccountOperPropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{E443E3D1-F46D-11D0-A46B-004095E1DAEA}] |@=""V77.AccountPropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{E443E3D1-F46D-11D0-A46B-004095E1DAEA}\HelpDir] |@="""+КаталогПрограммыСтр+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{E443E3D1-F46D-11D0-A46B-004095E1DAEA}\InprocHandler32] |@=""ole32.dll"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{E443E3D1-F46D-11D0-A46B-004095E1DAEA}\LocalServer32] |@="""+Программа+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{E443E3D1-F46D-11D0-A46B-004095E1DAEA}\ProgID] |@=""V77.AccountPropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{CE245201-0F42-11D1-BE02-00A024BE803F}] |@=""V77.AccountRangePropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{CE245201-0F42-11D1-BE02-00A024BE803F}\HelpDir] |@="""+КаталогПрограммыСтр+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{CE245201-0F42-11D1-BE02-00A024BE803F}\InprocHandler32] |@=""ole32.dll"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{CE245201-0F42-11D1-BE02-00A024BE803F}\LocalServer32] |@="""+Программа+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{CE245201-0F42-11D1-BE02-00A024BE803F}\ProgID] |@=""V77.AccountRangePropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{668FDEB1-8231-11D2-8E5E-004095E1DAEA}] |@=""V77.AdminPropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{668FDEB1-8231-11D2-8E5E-004095E1DAEA}\HelpDir] |@="""+КаталогПрограммыСтр+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{668FDEB1-8231-11D2-8E5E-004095E1DAEA}\InprocHandler32] |@=""ole32.dll"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{668FDEB1-8231-11D2-8E5E-004095E1DAEA}\LocalServer32] |@="""+Программа+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{668FDEB1-8231-11D2-8E5E-004095E1DAEA}\ProgID] |@=""V77.AdminPropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D80-94F0-11D2-9F39-008048DA120F}] |@=""V77.Application"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D80-94F0-11D2-9F39-008048DA120F}\InprocHandler32] |@=""ole32.dll"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D80-94F0-11D2-9F39-008048DA120F}\LocalServer32] |@="""+Программа+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D80-94F0-11D2-9F39-008048DA120F}\ProgID] |@=""V77.Application"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{8DD74E81-E8A6-11D0-A448-004095E1DAEA}] |@=""V77.BasicPropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{8DD74E81-E8A6-11D0-A448-004095E1DAEA}\HelpDir] |@="""+КаталогПрограммыСтр+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{8DD74E81-E8A6-11D0-A448-004095E1DAEA}\InprocHandler32] |@=""ole32.dll"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{8DD74E81-E8A6-11D0-A448-004095E1DAEA}\LocalServer32] |@="""+Программа+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{8DD74E81-E8A6-11D0-A448-004095E1DAEA}\ProgID] |@=""V77.BasicPropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD71-D8CE-11D0-910A-004095E1DAEA}] |@=""V77.GeneralPropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD71-D8CE-11D0-910A-004095E1DAEA}\HelpDir] |@="""+КаталогПрограммыСтр+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD71-D8CE-11D0-910A-004095E1DAEA}\InprocHandler32] |@=""ole32.dll"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD71-D8CE-11D0-910A-004095E1DAEA}\LocalServer32] |@="""+Программа+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD71-D8CE-11D0-910A-004095E1DAEA}\ProgID] |@=""V77.GeneralPropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD73-D8CE-11D0-910A-004095E1DAEA}] |@=""V77.InterfacePropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD73-D8CE-11D0-910A-004095E1DAEA}\HelpDir] |@="""+КаталогПрограммыСтр+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD73-D8CE-11D0-910A-004095E1DAEA}\InprocHandler32] |@=""ole32.dll"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD73-D8CE-11D0-910A-004095E1DAEA}\LocalServer32] |@="""+Программа+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD73-D8CE-11D0-910A-004095E1DAEA}\ProgID] |@=""V77.InterfacePropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{EB2AA791-D8CD-11D0-910A-004095E1DAEA}] |@=""V77.ModulePropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{EB2AA791-D8CD-11D0-910A-004095E1DAEA}\HelpDir] |@="""+КаталогПрограммыСтр+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{EB2AA791-D8CD-11D0-910A-004095E1DAEA}\InprocHandler32] |@=""ole32.dll"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{EB2AA791-D8CD-11D0-910A-004095E1DAEA}\LocalServer32] |@="""+Программа+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{EB2AA791-D8CD-11D0-910A-004095E1DAEA}\ProgID] |@=""V77.ModulePropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{3980C501-E7CC-11D0-A445-004095E1DAEA}] |@=""V77.SalaryPropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{3980C501-E7CC-11D0-A445-004095E1DAEA}\HelpDir] |@="""+КаталогПрограммыСтр+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{3980C501-E7CC-11D0-A445-004095E1DAEA}\InprocHandler32] |@=""ole32.dll"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{3980C501-E7CC-11D0-A445-004095E1DAEA}\LocalServer32] |@="""+Программа+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{3980C501-E7CC-11D0-A445-004095E1DAEA}\ProgID] |@=""V77.SalaryPropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{CEB94321-8317-11D2-8A55-008048DA06DF}] |@=""V77.SrcTemplatePropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{CEB94321-8317-11D2-8A55-008048DA06DF}\HelpDir] |@="""+КаталогПрограммыСтр+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{CEB94321-8317-11D2-8A55-008048DA06DF}\InprocHandler32] |@=""ole32.dll"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{CEB94321-8317-11D2-8A55-008048DA06DF}\LocalServer32] |@="""+Программа+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{CEB94321-8317-11D2-8A55-008048DA06DF}\ProgID] |@=""V77.SrcTemplatePropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD72-D8CE-11D0-910A-004095E1DAEA}] |@=""V77.TextPropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD72-D8CE-11D0-910A-004095E1DAEA}\HelpDir] |@="""+КаталогПрограммыСтр+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD72-D8CE-11D0-910A-004095E1DAEA}\InprocHandler32] |@=""ole32.dll"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD72-D8CE-11D0-910A-004095E1DAEA}\LocalServer32] |@="""+Программа+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{000BDD72-D8CE-11D0-910A-004095E1DAEA}\ProgID] |@=""V77.TextPropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{43DF7A11-E7B8-11D0-A445-004095E1DAEA}] |@=""V77.TradePropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{43DF7A11-E7B8-11D0-A445-004095E1DAEA}\HelpDir] |@="""+КаталогПрограммыСтр+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{43DF7A11-E7B8-11D0-A445-004095E1DAEA}\InprocHandler32] |@=""ole32.dll"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{43DF7A11-E7B8-11D0-A445-004095E1DAEA}\LocalServer32] |@="""+Программа+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{43DF7A11-E7B8-11D0-A445-004095E1DAEA}\ProgID] |@=""V77.TradePropPage"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D82-94F0-11D2-9F39-008048DA120F}] |@=""V77S.Application"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D82-94F0-11D2-9F39-008048DA120F}\InprocHandler32] |@=""ole32.dll"" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D82-94F0-11D2-9F39-008048DA120F}\LocalServer32] |@="""+Программа+""" | |[HKEY_CURRENT_USER\Software\Classes\CLSID\{63112D82-94F0-11D2-9F39-008048DA120F}\ProgID] |@=""V77S.Application"" |"; ФайлРег=КаталогВременныхФайлов()+"v7.application+.reg"; Текст=СоздатьОбъект("Текст"); Текст.ДобавитьСтроку(Стр); Текст.Записать(ФайлРег); Возв=0; Попытка Шел=СоздатьОбъект("WScript.Shell"); СпКлючей=СоздатьОбъект("СписокЗначений"); Ветка=""; Для к=1 По Текст.КоличествоСтрок() Цикл Стр=Текст.ПолучитьСтроку(к); Стр=СтрЗаменить(Стр,"\\","\"); Если Найти(Стр,"HKEY_CURRENT_USER")>0 Тогда Ветка=Стр+"\"; Ветка=СтрЗаменить(Ветка,"[",""); Ветка=СтрЗаменить(Ветка,"]",""); ИначеЕсли (Найти(Стр,"=")>0) и (Найти(Ветка,"HKEY_CURRENT_USER")>0) Тогда Стр=СтрЗаменить(Стр,"=","" ""); Стр=СтрЗаменить(Стр,"@",""); Стр=СтрЗаменить(Стр,"""",""); СпКлючей.ДобавитьЗначение(СтрПолучитьСтроку(Стр,2),СтрЗаменить(Ветка,"HKEY_CURRENT_USER","HKCU")+СтрПолучитьСтроку(Стр,1)); КонецЕсли; КонецЦикла; Для к=1 По СпКлючей.РазмерСписка() Цикл Ключ=""; Значение=СпКлючей.ПолучитьЗначение(к,Ключ); Шел.RegWrite(Ключ,Значение); КонецЦикла; Возв=1; Исключение КонецПопытки; Если Возв=0 Тогда Попытка Шел.Run("cmd /c start """" /wait regedit /s """+ФайлРег+"""",0,-1); Исключение КомандаСистемы("cmd /c start """" /min /wait regedit /s """+ФайлРег+""""); КонецПопытки; КонецЕсли; Попытка БазаОЛЕ=СоздатьОбъект("v77.application"); БазаОЛЕ=""; Если Сообщ=1 Тогда Сообщить("Удачно зарегистрирован объект v77.application: "+СтрЗаменить(Программа,"\\","\"),"i"); Сообщить("Файл регистрации: "+ФайлРег,"i"); КонецЕсли; Возв=1; Исключение Сообщить(ОписаниеОшибки()); Возв=0; КонецПопытки; Возврат Возв; КонецФункции
|
|