pop-up меню, найти объект.

Языки ASM, Pascal, C/C++, Perl, Delphi, PHP, Java...
Программируем сами, помогаем друг другу...

Модераторы: Al_lexx, Sharp, ionika, Happy_MAN, 0xFF, Atom, Serega S.U.

Ответить
Аватара пользователя
Indicar
Сообщения: 83
Зарегистрирован: 05 июн 2007, 09:39

pop-up меню, найти объект.

Сообщение Indicar »

в общем есть такое желание вставить в контекстное меню для .lnk (ярлыков) такую функцию как найти объект, которую можно выбрать в свойствах, используется часто, но это лишний клик ^_^

по возможности подкиньте ссылок на хорошие (полные) ресурсы по тонкому твику винды, спасибо за внимание.

SoftModerator послал к вам.
http://conf.computery.ru/viewtopic.php?t=15689
Аватара пользователя
LW001
Сообщения: 382
Зарегистрирован: 14 окт 2006, 23:42
Откуда: Сергиев Посад
Контактная информация:

Сообщение LW001 »

есть прекрасная программа по твику контекстного меню. сейчас не вспомню - комп далеко, пишу силой мысли :lol:
утром сообщу подробнее
Хватит повторять чужие глупости! Пора совершать свои собственные!
Аватара пользователя
LW001
Сообщения: 382
Зарегистрирован: 14 окт 2006, 23:42
Откуда: Сергиев Посад
Контактная информация:

Сообщение LW001 »

Посмотри вот тут Изображение

Это не та программа про которую писал, найду - отпишусь. Попробуй пока это

Интересно вот тут:
http://www.whatis.ru/reg/reg_w9.shtml
Зачастую, возможностей стандартного контекстного меню файлов не хватает для различных задач пользователей. Уже была статья о том, как расширить это меню, однако, в Windows 2000 и Windows XP можно добавить еще пару пунктов, которые заложены в самой операционной системе, но по умолчанию не включены.

Ковыряясь очередной раз в реестре, обратил внимание на два интересных раздела {C2FBB630-2971-11d1-A18C-00C04FD75D13} и {C2FBB631-2971-11d1-A18C-00C04FD75D13} со своими параметрами, которые отвечают за копирование и перемещение файлов в Windows. В общем, эти две возможности, "Копировать в папку" и "Переместить в папку", можно включить в контекстное меню файлов.

..............................
тут: http://alognev.narod.ru/tekst/windows/r ... vodnik.htm
«Проводник»
На этой странице:
Изменение стандартного значка диска (9x,NT,Me,2000,XP)
Отключение авто-записи состояния окон проводника (XP)
Добавление пункта «Открыть с помощью...» в контекстное меню «Проводника» (9x,NT,Me,2000,XP)
Добавление вызова любого приложения в контекстное меню «Проводника» (9x,NT,Me,2000,XP)
Открытие незарегистрированных типов файлов с помощью своей программы (9x,NT,Me,2000,XP)
Добавление пункта «Проводник» в контекстное меню папок (9x,NT,Me,2000,XP)
Добавление пункта «Copy To» в контекстное меню «Проводника» (9x,NT,Me,2000,XP)
Добавление пункта «Move To» в контекстное меню «Проводника» (9x,NT,Me,2000,XP)
Добавление пункта «Send To» в контекстное меню «Проводника» (9x,NT,Me,2000,XP)
Контекстное меню папок (9x,NT,Me,2000,XP)
Использование «Менеджера программ» в качестве оболочки «Windows» (Me,2000,XP)
Изменение диалогового окна «Открыть\Сохранить файл» (Me,2000,XP)
Хватит повторять чужие глупости! Пора совершать свои собственные!
Аватара пользователя
Indicar
Сообщения: 83
Зарегистрирован: 05 июн 2007, 09:39

Сообщение Indicar »

круто спасибо ^_^
life is better than it seems
Аватара пользователя
Indicar
Сообщения: 83
Зарегистрирован: 05 июн 2007, 09:39

Сообщение Indicar »

нашел способ сделать это без применения программ, скриптом

Код: Выделить всё

// FindTarget.js
// аргумент - путь к lnk-ярлыку
try {
  var
    Item=GetItemByPath(WScript.Arguments.Item(0)).GetLink.Target,
    ShellWindows=Item.Application.Windows(),
    ParentItem=Item.Parent.Self,
    ParentFolderPath=ParentItem.Path,
    GrandParentFolderPath=ParentItem.Parent.Self.Path;
  ParentItem.InvokeVerb("Open");
  for (var t=50; --t>=0; WScript.Sleep(50))
    try {
      var
        FolderView=ShellWindows.Item().Document,
        FolderViewItem=FolderView.Folder.Self;
      if (
        FolderViewItem.Path==ParentFolderPath &&
        FolderViewItem.Parent.Self.Path==GrandParentFolderPath
      ) {
        FolderView.SelectItem(Item, 1|4|8|16);
        break;
      }
    } catch (Err) {}
} catch (Err) {}

function GetItemByPath (Path) {
  var
    Shell=new ActiveXObject("Shell.Application"),
    FSO=new ActiveXObject("Scripting.FileSystemObject");
  return Shell.
    NameSpace(FSO.GetParentFolderName(Path)).ParseName(FSO.GetFileName(Path));
}
сохраняем с расширением .js кладем например в G:\findobject\findobject.js

делаем там же рег файл

Код: Выделить всё

REGEDIT4

[HKEY_CLASSES_ROOT\lnkfile\shell\FindTarget]
@="&Найти объект"
[HKEY_CLASSES_ROOT\lnkfile\shell\FindTarget\command]
@="C:\\WINDOWS\\System32\\WScript.exe \"G:\\findobject\\findobject.js\" \"%1\""
выполняем и наслаждаемся функционалом =)
отдельное спасибо ребятам с http://forum.script-coding.info
life is better than it seems
Ответить