Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> узнать запущен ли скрипт на vbs 
:(
    Опции темы
mihanik
Дата 16.1.2011, 00:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 11
Всего: 109



Дано: по назначенному заданию запускается скрипт на VBS
Надо: если скрипт обнаруживает, что его копия ещё запущена с прошлого раза, то он завершает свою работу (ранее запущенная копия скрипта должна продолжать работать)
 
Как сие сотворить?
Для VB6 - это просто 

Код

If App.PrevInstance Then
   MsgBox "Программа уже запущена."
   Unload Me
End If


А вот для скрипта...

Добавлено через 10 минут и 11 секунд
Ну... Я могу узнать, запущен ли wscript или cscript (и даже сколько экземпляров)
Но вот имя выполняемого ими скрипта пока не могу получить... :-(

Код

'********************************************************************
'*
'*  Функция   : ProcessCount
'*  Описание  : Возвращает количество запущенных экземпляров процесса с указанным именем
'*  Вход      : PName - имя процесса
'*  Выход     : число запущенных процессов
'*
'********************************************************************
Function ProcessCount (ByVal PName)
Dim N, objService, objProc    

    On Error Resume Next
    
    ProcessCount = 0
    N = 0
    
    Set objService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\CIMV2")
    
    For Each objProc In objService.ExecQuery("SELECT * FROM Win32_Process WHERE Name like  '" & PName & "'")
        N = N +1
    Next
    
    ProcessCount = N
    
End Function



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
Akina
Дата 16.1.2011, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Задача в общем случае не то что непростая - но, по-моему, вообще на VBS невыполнимая.
Попробуй обычный костыль в форме флага - скажем, значения некоего параметра в реестре. Ну и предусмотри у скрипта ключ /force есссно. 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
hclubmk
Дата 24.1.2011, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 14.7.2008

Репутация: нет
Всего: нет



Ну почему невыполнимая? COM-обертка для API + семафор. Должно получиться.
PM MAIL   Вверх
Akina
Дата 24.1.2011, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(hclubmk @  24.1.2011,  16:12 Найти цитируемый пост)
COM-обертка для API + семафор.

На VBS?????


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0447 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.