Модераторы: bartram, Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нужна закрывать окно, с помощью задания 
:(
    Опции темы
tishaishii
Дата 5.4.2006, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


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

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



Нужна закрывать окно с помощью задания.
Я тут написал программку для WSH:
Код
use Win32::OLE;

my$wsh=Win32::OLE->new('WScript.Shell');
until(undef) {
    $wsh->SendKeys('(%{F4}){ENTER}') while $wsh->AppActivate('Process.exe');
    sleep 5;
}


и на JavaScript:
Код
wsh=new ActiveXObject("WScript.Shell");
while(wsh.AppActivate("Process.exe"))wsh.SendKeys("(%{F4}){ENTER}");


Запускаю двойным нажатием мышки - работает, закрывает окно.
Ставлю на задание в tasksheduler: "perl closewin.pl" или "wscript closewin.js" - работает, но окна не закрывает.

Что сделать и почему не закрывает окна?
PM MAIL ICQ Skype   Вверх
Gigabyte
Дата 7.4.2006, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Студент-халявщик
**


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

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



я думаю тебе надо перенести вопрос в раздел perl


--------------------

user posted image
user posted image
PM MAIL ICQ   Вверх
ivashkanet
Дата 10.4.2006, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

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



Занимался я тоже такими вопросами, и вот что сделал по твоему вопросу (правда на VB smile ) :
Код
Games = "notepad,winword"
strComputer = "127.0.0.1"
On Error Resume Next
While 1
        Set objWMIService = GetObject("winmgmts:" _
            & "{impersonationLevel=impersonate}!\\" & strComputer _
            & "\root\cimv2")
        Set colProcesses = objWMIService.ExecQuery _
            ("Select * from Win32_Process Where " & StrToQuery(Games))
        For Each Proc in colProcesses
            Proc.Terminate
        Next
Wscript.Sleep 60000
Wend

Function StrToQuery(Str)
    S = ""
    j = 0
    ListOfGames =Split(Str, ",")
    For Each Game in ListOfGames
        If j > 0 Then
            S = S & " Or "
        End If
        S = S & "Name = '" & Game & ".exe'"
        j = j + 1
    Next
    StrToQuery = S
End Function


Самая главная часть программы:
Код

        Set objWMIService = GetObject("winmgmts:" _
            & "{impersonationLevel=impersonate}!\\" & strComputer _
            & "\root\cimv2")
        Set colProcesses = objWMIService.ExecQuery _
            ("Select * from Win32_Process Where " & StrToQuery(Games))
        For Each Proc in colProcesses
            Proc.Terminate
        Next

здесь с помощью SQL запроса (к какой-то базе smile ) получаем все процессы удовлетворяющие критерию (Where Name=winword Or Name=notepad), с которыми можно потом делать все что угодно, например terminate smile

P.S. Функция StrToQuery просто преобразовывает строку с именами программ через запятую в условие отбора SQL.
Вот еще есть мой несколько похожих программок.
Разбирайся и пользуйся, на здоровье smile

Изменение приоритета:
Код

Const ABOVE_NORMAL = 32768
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery _
    ("Select * from Win32_Process Where Name = 'Notepad.exe'")
For Each objProcess in colProcesses
    objProcess.SetPriority(ABOVE_NORMAL) 
Next


Событие о Возникновени новой службы
Код

strComputer = "127.0.0.1"
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colMonitoredProcesses = objWMIService. _        
    ExecNotificationQuery("select * from __instancecreationevent " _ 
        & " within 1 where TargetInstance isa 'Win32_Process'")
i = 0
'Do While i = 0
    Set objLatestProcess = colMonitoredProcesses.NextEvent
    Wscript.Echo objLatestProcess.TargetInstance.Name
'Loop


перечень всех программ на компьютере
Код

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery _
    ("Select * from Win32_Process")
s =""     
For Each Proc in colProcesses
    s = s & Proc.Name & Chr(13)
Next
Wscript.Echo s

Запуск новой программы
Код

strComputer = "127.0.0.1" 'Имя или хост компьютера
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2:Win32_Process")

Error = objWMIService.Create("notepad.exe", null, null, intProcessID)
If Error = 0 Then
    Wscript.Echo "Notepad was started with a process ID of " _
         & intProcessID & "."
Else
    Wscript.Echo "Notepad could not be started due to error " & _
        Error & "."
End If


PM MAIL WWW ICQ   Вверх
ivashkanet
Дата 10.4.2006, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

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



Цитата(Gigabyte @ 7.4.2006, 17:39 Найти цитируемый пост)
я думаю тебе надо перенести вопрос в раздел perl

Нет это не перл, это WSH -- Windows Script Host.
PM MAIL WWW ICQ   Вверх
ivashkanet
Дата 10.4.2006, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

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



Скриптф взяты отсюда Справочник по админ скриптам
Рекомендую Справочник по WSH объектам

P.S. Все взято с сайта: http://souzp.aaanet.ru/forum/topic.php?id=26&page=2
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Windows"
December
bartram
Akella

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

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

2. Способствовать созданию и распространению вирусов

  • Для бессмертных бородатых вопросов типа Win vs Nix есть специальный форум Религиозные Войны
  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • ВСЕГДА УКАЗЫВАЙТЕ ВЕРСИЮ ОС

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

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


 




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


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

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