|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Хочу все знать » Как запретить запуск двух копий 1С8 |
|
Как запретить запуск двух копий 1С8
|
Новый участник Сообщения: 3 |
Профиль | Отправить PM | Цитировать Всем привет! У меня такой вопрос, казалось бы его уже тут разжевывали сто раз.
Как запретить запуск двух копий 1С8? Тут на форуме нашел тему и получил ответ на свой вопрос, но не до конца. Так как пользователи работают по RDP с 1С то нужна проверка. Есть такой код который отлично работает под локальным пользователем: bitVersion = "'64'" strPath = "1cv8\8.3.10.2252\bin" strProcess = "1cv8c.exe" runProcess = "'1cv8c.exe'" strcomputer = "." set objwmiservice = getobject("winmgmts:" _ & "{impersonationlevel=impersonate}!\\" _ & strcomputer & "\root\cimv2") set colprocesses = objwmiservice.execquery( _ "select name from win32_process " _ & "where name = " & runProcess) if colprocesses.count = 0 then set objshell = wscript.createobject("wscript.shell") set objenv = objshell.environment("process") If bitVersion = "'64'" Then ProgramFilesPath = "%ProgramFiles%" Else ProgramFilesPath = "%ProgramFiles(x86)%" End If objshell.run """" + ProgramFilesPath + "\" + strPath + "\" + strProcess + "" else msgbox "Копия программы уже запущена. ", 48, "Внимание" end if strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" _ & strComputer & "\root\cimv2") Set colProcesses = objWMIService.ExecQuery( _ "Select Name From Win32_Process " _ & "Where Name = '1cv8.exe'") Set objShell = Wscript.CreateObject("Wscript.Shell") Set objEnv = objShell.Environment("Process") strCurrentUser = UCase(objEnv("UserDomain") & "\" & objEnv("UserName")) For Each objProcess in colProcesses If objProcess.GetOwner(strUser, strDomain) = 0 Then If UCase(strDomain & "\" & strUser) = strCurrentUser Then MsgBox "Копия программы уже запущена. ", 48, "Внимание" Wscript.Quit End If End If Next objShell.Run """" + objEnv("ProgramFiles") + "\1cv81\bin\1cv8.exe""" |
|
Отправлено: 11:03, 22-09-2020 |
Ветеран Сообщения: 4241
|
Профиль | Отправить PM | Цитировать Цитата ee0066:
Цитата ee0066:
|
||
Отправлено: 11:31, 22-09-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Написал как вы посоветовали чудо не случилось так же не находит путь и не запускает 1С
Написал как вы посоветовали чудо не случилось так же не находит путь и не запускает 1С %ProgramFiles(x86)% |
Отправлено: 12:01, 22-09-2020 | #3 |
Сообщения: 53175
|
Профиль | Отправить PM | Цитировать |
Отправлено: 12:17, 22-09-2020 | #4 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Petya V4sechkin,
Ошибка: Не удается найти указанный файл
Спасибо большое NickM, ответ на вопрос получил и выкладываю рабочий код. strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" _ & strComputer & "\root\cimv2") Set colProcesses = objWMIService.ExecQuery( _ "Select Name From Win32_Process " _ & "Where Name = '1cv8.exe'") Set objShell = Wscript.CreateObject("Wscript.Shell") Set objEnv = objShell.Environment("Process") strCurrentUser = UCase(objEnv("UserDomain") & "\" & objEnv("UserName")) For Each objProcess in colProcesses If objProcess.GetOwner(strUser, strDomain) = 0 Then If UCase(strDomain & "\" & strUser) = strCurrentUser Then MsgBox "Копия программы уже запущена. ", 48, "Внимание" Wscript.Quit End If End If Next objShell.Run """" + objEnv("ProgramFiles(x86)") + "\1cv8\8.3.8.1675\bin\1cv8.exe""" |
|
Отправлено: 12:31, 22-09-2020 | #5 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Как запретить запуск двух и более копий 1С8 в Терминальном сеансе пользователя! | sigmatik | Хочу все знать | 20 | 15-06-2019 11:48 | |
Как запретить запуск двух и более копий 1С8 | ragnar40 | Хочу все знать | 33 | 11-05-2018 14:02 | |
Как запретить запуск программы Mesa? | severagent007 | Лечение систем от вредоносных программ | 5 | 30-12-2012 19:36 | |
Запретить запуск конкретной программы более двух раз за сессию. | kardinal96 | Хочу все знать | 2 | 03-06-2012 21:54 | |
[решено] Как можно предотвратить запуск сразу нескольких копий одной программы??? | sashadeg | AutoIt | 8 | 01-04-2009 00:51 |
|