1

Тема: VbScript: свойства pif-файлов

Работавшие с pif-файлами (ярлыки на DOS-программы), подскажите, пожалуйста, как на VbScript получить доступ к их свойствам, в частности, "Команда" и "Рабочий каталог". Функция IsObject(<объект>) возвращает true, функция Vartype(<объект>) возвращает 9 ("Объект автоматизации"), где <объект - pif_fi> (фрагмент процедуры):

var_name = "xxx.pif"
set app = CreateObject("Shell.Application")
set fso = CreateObject("Scripting.FileSystemObject")
set wsh = CreateObject("WScript.Shell")

LastChange = var_name & " отсутствует"
pathv = fso.GetAbsolutePathName(".")
set curdir = app.NameSpace(pathv)
  if curdir is Nothing then
  elseif lcase(right(var_name,4))=".pif" then
    set pif_fi = curdir.ParseName(var_name)
    msgbox var_name & " " & vartype(pif_fi)
    if isObject(pif_fi) then msgbox var_name & " isObject"
...

Pif-файл с определенным именем находится в текущем каталоге, а вызываемый им exe-модуль может быть любым. Применение методов
GetLink и IsLink дает ошибку, т.е. полноценным ShellLinkObject он не является.
Заранее спасибо.

2

Re: VbScript: свойства pif-файлов

как на VbScript получить доступ к их свойствам, в частности, "Команда" и "Рабочий каталог".

Напрямую — никак.

3

Re: VbScript: свойства pif-файлов

Хорошо, не напрямую. Я недавно занялась HTML+VbScript, но c VBA работаю давно, там средства просмотра объектов, в т.ч. создаваемых программно, доступны при отладке макроса в режиме "Редактор Visual Basic", а перечень их свойств и методов высвечивается при простом наборе точки после имени объекта. Здесь же при запуске HTA-приложения со скриптами специально вставляю ошибку выполнения, чтобы выйти на предложение об отладке, тогда запускается MSE и останавливается на ошибочном операторе. При обычном запуске страницы из MSE точки останова не работают, хотя в эти ветки управление передается. Т.о. удалось поймать в "Quick Watch" объект document, а другие объекты HTML-страницы, например, списки - нет. В процедуре обработки onmouseover пробовала использовать конструкцию document.ActiveElement.id, чтобы узнать обрабатываемый объект, но, хотя в процедуру управление и попадает, и все объекты страницы имеют id, но значение не присваивается. Здесь практически во всех темах постоянно упоминается Debugger или Debug - в разных вариациях - какая именно программа имеется в виду? Я понимаю, что тут обсуждают гораздо более серьезные вопросы, и не хочу приставать со своими проблемами, но подскажите, пожалуйста, хоть какие-нибудь программные средства или учебники. Я прочитала уже много литературы, но на практике не получается почти ничего. Подскажите что-нибудь, пожалуйста,...

4

Re: VbScript: свойства pif-файлов

gts, из-под VBA сие можно сделать, и будет даже намного, намного проще, нежели из-под VBScript (поскольку VBA — типизированный язык). Дело за малым — найти описание внутреннего формата файла *.pif.