Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как узнать, запущено ли уже приложение.

248
14 декабря 2006 года
Dmitry2064
590 / / 06.12.2006
У меня а Autoexece в Ворде подписан запуск Мозиллы. Так, пока отлаживаешь макросы и перегружаешь Ворд, эта Мозилла достанет мертвого :mad: . Можно ли запретить ее запуск, если она уже работает в фоне?
Есть ли команда типа [COLOR="Navy"]IsRunning[/COLOR]?
405
15 декабря 2006 года
Dmitrii
554 / / 16.12.2004
Цитата: Dmitry2064
У меня а Autoexece в Ворде подписан запуск Мозиллы. Так, пока отлаживаешь макросы и перегружаешь Ворд, эта Мозилла достанет мертвого :mad: . Можно ли запретить ее запуск, если она уже работает в фоне?
Есть ли команда типа [COLOR="Navy"]IsRunning[/COLOR]?


Подобный вопрос рассматривался вот здесь:
http://forum.codenet.ru/showthread.php?t=27082

267
15 декабря 2006 года
Cutty Sark
1.2K / / 17.10.2002
А не проще ли убрать из Автоекзека запуск Мозиллы?
248
15 декабря 2006 года
Dmitry2064
590 / / 06.12.2006
Мозилла (IE открывается намного дольше) нужна, что бы по ней отслеживать статус сетевых принтеров (заняты-не заняты). Т.е. началась работа, загрузил вордовский док, начал его верстать, и уже знаешь, можно ли отправлять на принтер сверстанный документ. Принтер в другой комнате и не слышно, печатает ли он или не печатает. А если он печатал в момент посылки на него нового дока, то эта очередь может не сохраниться. Я буду думать, что документ распечатан и его смотрят. А люди будут ждать, когда же я распечатаю для них документ. Поэтому при попылке на принтер надо быть уверенным, что он н занят (во как все сложно и многословно ).:cool:
267
15 декабря 2006 года
Cutty Sark
1.2K / / 17.10.2002
Да я не возражаю против Мозиллы. В автоэкзек-то зачем? Когда надо узнать очередь, тогда и запускай.
248
15 декабря 2006 года
Dmitry2064
590 / / 06.12.2006
Когда она запускается через автозек ;), не надо тратить время на поиск нужной пиктограммки и ее последующее нажатие. Времени в обрез. Просто по Alt-Tab'у посмотрел на окно и понял, можно пускать или нет. Вобщем я стараюсь эконмить силы и время на всем, что может прийти в голову. Например мне надо будет придумать, как заполнять строки в Екселе, в зависимости от имени обрабатываемого дока. Чтобы самому не искать глазами в спиське из 30 документов, а чтобы оно все само. Но это я попробую сам... потом. Но без вопросиков-то не обойдется.

А указанной ветке форума написано:
Цитата:
Используются средства WMI и WSH


Это ж вроде, не VBA? Потому что VBA заругался на строке
[COLOR="Navy"]Option Explicit[/COLOR], что мол [COLOR="Navy"]Invalid Inside Proc[/COLOR]

405
15 декабря 2006 года
Dmitrii
554 / / 16.12.2004
Цитата: Dmitry2064
Это ж вроде, не VBA?


Разумеется - не VBA. Это примеры VB-сценариев. Однако ничто не мешает использовать любой из приведённых кодов в составе макроса.
Надо внести лишь минимальные изменения:
- добавить строку Sub MyName() в начало кода, [color=blue]между[/color] строками Option Explicit и следующей за ней (здесь [color=blue]MyName[/color] - это гипотетическое имя Вашего макроса);
- заменить выражение WScript.Echo на MsgBox;
- в конец кода добавить строку End Sub.
Итого:

Код:
Option Explicit
Sub Example()
Dim wmiObj, proCollection, scrShell
Set wmiObj = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set proCollection = wmiObj.ExecQuery("Select * from Win32_Process Where Name = 'Calc.exe'")
If proCollection.Count = 0 Then
    MsgBox "Калькулятор не запущен."
    Set scrShell = CreateObject("WScript.Shell")
    scrShell.Run "Calc.exe", 1
Else
    MsgBox "Калькулятор уже запущен."
End Sub
End If


Цитата: Dmitry2064
... VBA заругался на строке
[COLOR="Navy"]Option Explicit[/COLOR], что мол [COLOR="Navy"]Invalid Inside Proc[/COLOR]


Заругался потому, что эта строка должна стоять за пределами тела макроса (причём она должна быть первой в модуле кода ).

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог