![]() |
Функция "Расположение файла" в Windows XP
В Windows 7, когда кликаем правой кнопкой мыши по ярлыку, в контекстном меню можно увидеть пункт "Расположение файла", которая ведет к папке, содержащей исходный файл.
Как такое, реализовать в ХР? Код:
[HKEY_CLASSES_ROOT\*\shell] |
Вложений: 1
Вот готовый REG-файл (распакуйте и запустите), появится пункт "Расположение файла"
|
Цитата:
файл ХХХ, находится на диске J:\1, а ярлык(Ярлык для XXX.txt) на Рабочем Столе(E:\Рабочий Стол XP) следую пункта "Расположение файла", попадаю на E:\Рабочий Стол XP, на ярлык, но не на папку с файлом. |
Ну а почему у меня работает? Может вы нажимаете на ярлык ярлыка? :)
|
Цитата:
Если в свойствах ярлыка - жму кн. Найти объект, все четко. Все, нашел, не работает, потому, что у меня удалены стрелки с ярлыков, поставил стрелки, все ОК, но не нравятся, стрелки... |
Спасибо, только не на всех ярлыках работает. Например на ярлыках Сетевые подключения, не работает.
|
ВладимирВ., там ярлыки организованы иначе, нежели «обычные» ярлыки на объекты файловой системы.
|
Расположение файла появилось не только на ярлыках, а на всех файлах.
Как сделать чтобы только на ярлыках? |
Цитата:
|
Petya V4sechkin Спасибо тебе большое!
|
как я понял надо для данного скрипа Visual Basic ставить. А какую версию? или без разницы? Я в этом не сильно разбираюсь не охота загаживать систему. У меня и так все работает без всяких бейсиков яв питонов, ну правда нет фтенворк поставил а директ х даже не ставил. Прийдется ради одной минюшки ставить этот бейсик да? ((
Я вот сделал https://yadi.sk/d/uh7l_j_lmXcp9 пункт добавился но пишет "не удалось найти файл сценария" хотя путь вроде правильный C:\vbs_BolgarchukR\context_menu Может кто кинет рабочий скрипт? п.с. поменял путь кинул туда же в систем 32 заработало. Но все равно не понятно что в пути нельзя указывать нижнее подчеркивание? Будет ли работать в др. папках? Не охота кидать в систем 32 там и так куча всего... |
Цитата:
Цитата:
Цитата:
|
Короче надоело, уже и не знаю что и думать впрочем ну его (((
Вот это рабочий рег файл REGEDIT4 [HKEY_CLASSES_ROOT\lnkfile\shell\FindTarget] @="&Найти объект" [HKEY_CLASSES_ROOT\lnkfile\shell\FindTarget\command] @="C:\\WINDOWS\\System32\\WScript.exe \"C:\\vbsBolgarchukR\\FindTarget.js\" \"%1\"" А вот этот почему то не рабочий REGEDIT4 [HKEY_CLASSES_ROOT\lnkfile\shell\FindTarget] @="&Найти объект" [HKEY_CLASSES_ROOT\lnkfile\shell\FindTarget\command] @="C:\\WINDOWS\\System32\\WScript.exe \"С:\\vbsBolgarchukR\\FindTarget.js\" \"%1\"" Хотя они как мне кажется идентичны. Может имеет значения с какой папки его запускать ... Или даже не знаю... ну и FindTarget.js // FindTarget.js // аргумент - путь к lnk-ярлыку try { OpenParentFolderAndSelectItem( GetFolderItemByFilePath(WScript.Arguments.Item(0)).GetLink.Target, 1|4|8|16 ); } catch (Err) {}; function GetFolderItemByFilePath(Path) { var FSO=new ActiveXObject("Scripting.FileSystemObject"); return ( new ActiveXObject("Shell.Application")). NameSpace(FSO.GetParentFolderName(Path)).ParseName(FSO.GetFileName(Path)); } function OpenParentFolderAndSelectItem(FolderItem, Flags) { var Shell=FolderItem.Application, ShellWindows=Shell.Windows(), ParentFolder=FolderItem.Parent, Err; Shell.Open(ParentFolder); for (var t=50; --t>=0; WScript.Sleep(50)) try { var FolderView=ShellWindows.Item().Document; if (FoldersAreEqual(ParentFolder, FolderView.Folder)) { FolderView.SelectItem(FolderItem, Flags); return; } } catch (Err) {} } function FoldersAreEqual(Folder1, Folder2) { while (Folder1!=Folder2) { if (Folder1==null || Folder2==null || Folder1.Self.Path!=Folder2.Self.Path) return false; Folder1=Folder1.ParentFolder; Folder2=Folder2.ParentFolder; } return true; } по пути C:\vbsBolgarchukR хотя я думал в этой папке сделать еще папку context_menu но все другое не работает. Только первый рег рабочий именно с тем путем остальные как не крути как не меняй не пашут. Выдает ![]() 2015-12-30 22_06_34-ProbnaXpFren3 - VMware Workstation.png [IMG]]https://img-fotki.yandex.ru/get/9170/10425752.3/0_ed1c2_598303ce_orig.png[/IMG] |
Цитата:
|
Время: 17:53. |
Время: 17:53.
© OSzone.net 2001-