Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   автоматическое открытие программы (http://forum.oszone.net/showthread.php?t=259510)

mihanklinov@vk 27-04-2013 16:20 2140489

автоматическое открытие программы
 
Нужно создать BAT, открывающий программу при открытии папки.

Iska 27-04-2013 16:50 2140506

На пакетных файлах — это невозможно в принципе. На скриптах — в Windows XP и выше это так же невозможно. На AutoIt или других ЯВУ можно написать приложение, следящее за окнами Проводника, отлавливающее появление окна/смену заголовка на потребный и запускающее Ваше приложение.

Какова глобальная цель такого действа?

Georgio 27-04-2013 20:37 2140662

mihanklinov@vk, вирус пишете?

Нашёл у себя в коллекции vbscript:

Код:

set WshShell = WScript.CreateObject("WScript.Shell")
KEY = true
do while KEY
if WshShell.AppActivate("Имя папки") then
WriteWord()
KEY = false
end if
WScript.Sleep 1000
loop

function WriteWord()
WSHShell.Run("%SystemRoot%\system32\notepad.exe")
end function

В примере после запуска скрипа при открытии в любом месте компьютера любой папки с именем "Имя папки" запустится "Блокнот"

При желании генерацию и запуск скрипта можно вставить и в BAT-файл.

Iska 28-04-2013 05:16 2140925

Лучше так:
читать дальше »
Код:


       
Код:

       
Option Explicit

With WScript.CreateObject("WScript.Shell")
        Do
                WScript.Sleep 100
        Loop Until .AppActivate("Имя папки")
       
        .Run "%SystemRoot%\system32\notepad.exe"
End With

WScript.Quit 0




Но отнюдь не:
Цитата:

Цитата Georgio
В примере после запуска скрипа при открытии в любом месте компьютера любой папки с именем "Имя папки" запустится "Блокнот" »

А «в примере после запуска скрипта при открытии в любом месте компьютера» любого приложения, чей заголовок не только совпадает, но так же начинается, либо оканчивается на «Имя папки» — «запустится «Блокнот»:
Цитата:

The AppActivate method returns a Boolean value that identifies whether the procedure call is successful. This method changes the focus to the named application or window, but it does not affect whether it is maximized or minimized. Focus moves from the activated application window when the user takes action to change the focus (or closes the window).

In determining which application to activate, the specified title is compared to the title string of each running application. If no exact match exists, any application whose title string begins with title is activated. If an application still cannot be found, any application whose title string ends with title is activated. If more than one instance of the application named by title exists, one instance is arbitrarily activated.

Georgio 28-04-2013 06:04 2140927

Iska, да, я зто знаю, но не стал уточнять, так как "играться" будут с конкретной папкой. Занимательно также, что если вместо "Имя папки" вписать "Блокнот", то при открытии любого файла в "Блокноте" будет открываться и второй, "чистый", "Блокнот", так как заголовок окна у "Блокнота" всегда оканчивается на " — Блокнот".

Iska 28-04-2013 08:21 2140946

Georgio, ну, дык, и я про то же.


Время: 17:24.

Время: 17:24.
© OSzone.net 2001-