Что нового

Замена C:\Windows\system32\notepad.exe на notepad.exe (внутри AkelPad)

SharkyEXE

Новичок
Сообщения
134
Репутация
0
Версия AutoIt: 3.3.12.0, 3.3.13.19

Описание:
Здравствуйте.
1) я удалил файл C:\Windows\system32\notepad.exe
2) нужен код, содержащий следующее:
2-1) когда быстро два раза кликаешь левой кнопкой мышки по файлам, ассоциированным для открытия в стандартном Блокноте (txt и другие там файлы) - чтобы эти файлы открывались в C:\Program Files\AkelPadmax_port\AkelPad.exe
2-2) чтобы когда один раз кликаешь правой кнопкой мышки по файлам, ассоциированным для открытия в стандартном Блокноте (txt и другие там файлы), там будет появляться контекстное меню:
2-2-1) Изменить
2-2-2) Открыть
2-2-3) Печать
2-2-4) ...
чтобы если выбрать любой из этих пунктов, то эти пункты выполнялись бы через C:\Program Files\AkelPadmax_port\AkelPad.exe (типа нужен код Run ("C:\Program Files\AkelPadmax_port\AkelPad.exe" "%1"))
3) код компилируется, получается файл notepad.exe
4) новый файл notepad.exe кладем в папку C:\Windows\system32

Итого что имеем:
Было:
1) когда быстро два раза кликаешь левой кнопкой мышки по файлам, ассоциированным для открытия в стандартном Блокноте (txt и другие там файлы) - эти файлы открывались через стандартный Блокнот
2) когда один раз кликаешь правой кнопкой мышки по файлам, ассоциированным для открытия в стандартном Блокноте (txt и другие там файлы), там будет появляться контекстное меню:
2-1-1) Изменить
2-1-2) Открыть
2-1-3) Печать
2-1-4) ...
чтобы если выбрать любой из этих пунктов, то эти пункты выполнялись через стандартный Блокнот

Стало:
1) когда быстро два раза кликаешь левой кнопкой мышки по файлам, ассоциированным для открытия в стандартном Блокноте (txt и другие там файлы) - эти файлы станут открываться через C:\Program Files\AkelPadmax_port\AkelPad.exe
2) когда один раз кликаешь правой кнопкой мышки по файлам, ассоциированным для открытия в стандартном Блокноте (txt и другие там файлы), там будет появляться контекстное меню:
2-1-1) Изменить
2-1-2) Открыть
2-1-3) Печать
2-1-4) ...
чтобы если выбрать любой из этих пунктов, то эти пункты станут выполняться через C:\Program Files\AkelPadmax_port\AkelPad.exe

Спасибо.

Примечания:
Нет.
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
OffTopic:
Во-первых, AkelPad имеет режим установки "Замена блокнота Windows".

Во-вторых, если нет желания переустанавливать (или удалять блокнот), то
- запускаем AkelPad с правами администратора
- вызываем окно настроек "Настройки - Параметры..."
- на вкладке "Реестр" в рамке "Типы файлов" включаем нужные действия и перечисляем нужные расширения через ";"
- нажимаем "ОК"
 
Автор
S

SharkyEXE

Новичок
Сообщения
134
Репутация
0
InnI сказал(а):
OffTopic:
Во-первых, AkelPad имеет режим установки "Замена блокнота Windows".

Во-вторых, если нет желания переустанавливать (или удалять блокнот), то
- запускаем AkelPad с правами администратора
- вызываем окно настроек "Настройки - Параметры..."
- на вкладке "Реестр" в рамке "Типы файлов" включаем нужные действия и перечисляем нужные расширения через ";"
- нажимаем "ОК"
1) я не использую оригинальный инсталлятор, я пользуюсь этим: http://forum.oszone.net/post-1889376-1375.html , х(86) http://rghost.ru/58131303 - скачать ссылка от 21.09.14 v.4.9.0 39.8 МБ
2) а Вы попробуйте сделать так:
2-1) как-либо сделать ассоциацию txt расширения через AkelPad
2-2) после этого один раз кликните правой кнопкой мышки по любому txt файлу
2-3) появится контекстное меню
2-4) выберите Изменить
2-5) у Вас через AkelPad откроется txt файл или через стд. Блокнот?

PS. У меня система Windows 8.1 Update 1 Pro x64 Russian
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
SharkyEXE [?]
попробуйте как-либо сделать ассоциацию
Зачем "как-либо"? Я же вам написал, как надо. Если я это написал - значит у меня так работает (Win7 x86, Win8.1 x86). Если на x64 не работает - попробуйте временно отключить UAC.
Чтобы работал пункт "Изменить" нужно в параметрах AkelPad включить "Изменить" и рядом прописать расширения (например, скопировать все, указанные в "Открыть").
 
Автор
S

SharkyEXE

Новичок
Сообщения
134
Репутация
0
InnI сказал(а):
SharkyEXE [?]
попробуйте как-либо сделать ассоциацию
Зачем "как-либо"? Я же вам написал, как надо. Если я это написал - значит у меня так работает (Win7 x86, Win8.1 x86). Если на x64 не работает - попробуйте временно отключить UAC.
Чтобы работал пункт "Изменить" нужно в параметрах AkelPad включить "Изменить" и рядом прописать расширения (например, скопировать все, указанные в "Открыть").
1) UAC я выключил вообще, после этого перезагрузил ПК
2) посмотрите, пожалуйста, видео: https://yadi.sk/d/Nrr5QIgPccLcV
Там как раз видно, что контекстное меню по txt файлу -> Изменить - через стд. Блокнот идёт, а не через AkelPad
При этом контекстное меню по txt файлу -> Открыть или быстро два раза кликаешь левой кнопкой мышки по txt файлу идёт через AkelPad
3) по поводу прописывания расширений внутри AkelPad (Настройки -> Ассоциация (диалог ввода)) - у меня прописаны эти: txt,ini,inf,log,cfg,lst,sif,coder,info

PS. Поэтому я и хочу "стартер", потому что если будет стартер - то не надо заморачиться с ассоциацией расширений и прочей лабудой - файл Notepad.exe остается, только вместо оригинального Блокнота будет AkelPad.
И все действия будут идти через AkelPad - все пункты контекстного меню+двойной клик=открытие файлов.
Вот и всё!
 

BIOS

Жизнь - игра. График - супер, но сюжет - хреновый.
Сообщения
173
Репутация
69
SharkyEXE
Копай в сторону реестра, в частности ветвь HKEY_CLASSES_ROOT (/.txt->Default=txtfile=>/txtfile->*->command->Default)
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Кажется вся программа в одну строчку:
Код:
#NoTrayIcon
Run('C:\Program Files\AkelPadmax_port\AkelPad.exe ' & $CmdLineRaw)

Осталось собрать с именем notepad.exe и переместить в C:\Windows\system32
 
Автор
S

SharkyEXE

Новичок
Сообщения
134
Репутация
0
BIOS сказал(а):
SharkyEXE
Копай в сторону реестра, в частности ветвь HKEY_CLASSES_ROOT (/.txt->Default=txtfile=>/txtfile->*->command->Default)
Вы представляете, сколько мне расширений перебирать?
Ведь на стд. Блокноте не только расширение txt завязано...


Добавлено:
Сообщение автоматически объединено:

inververs сказал(а):
Кажется вся программа в одну строчку:
Код:
#NoTrayIcon
Run('C:\Program Files\AkelPadmax_port\AkelPad.exe ' & $CmdLineRaw)

Осталось собрать с именем notepad.exe и переместить в C:\Windows\system32
Большое Вам спасибо.

Этот код рабочий только для:
1) быстро два раза кликаешь левой кнопкой мышки по файлам, ассоциированным для открытия в стандартном Блокноте (txt и другие там файлы) - чтобы эти файлы открывались в C:\Program Files\AkelPadmax_port\AkelPad.exe
2) когда один раз кликаешь правой кнопкой мышки по файлам, ассоциированным для открытия в стандартном Блокноте (txt и другие там файлы), там будет появляться контекстное меню:
2-2-1) Изменить
2-2-2) Открыть
2-2-3) Печать
2-2-4) ...
я выбираю Изменить или Открыть, то только эти два пункта (Изменить или Открыть) выполняются через C:\Program Files\AkelPadmax_port\AkelPad.exe

Этот код нерабочий для:
1) когда один раз кликаешь правой кнопкой мышки по файлам, ассоциированным для открытия в стандартном Блокноте (txt и другие там файлы), там будет появляться контекстное меню:
2-2-1) Изменить
2-2-2) Открыть
2-2-3) Печать
2-2-4) ...
я выбираю Печать, то после выбора Печать просто открываются файлы в C:\Program Files\AkelPadmax_port\AkelPad.exe и всё

А через стд. Блокнот, один раз кликаешь правой кнопкой мышки по файлам, ассоциированным для открытия в стандартном Блокноте (txt и другие там файлы), там будет появляться контекстное меню:
1) Изменить
2) Открыть
3) Печать
4) ...
я выбирал Печать и сразу шла печать.
Файл не открывался в стд. Блокноте.

Пожалуйста, сделайте так, чтобы Печать через контекстное меню для файлов, через AkelPad работала бы.
Спасибо.
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
SharkyEXE [?]
Пожалуйста, сделайте так, чтобы Печать через контекстное меню для файлов, через AkelPad работала бы.Спасибо.
А кто его знает какой ключ на печать у блокнота и у AkelPad. Тут вся суть программы в том, что вся командная строка передается в AkelPad. И если блокноту скажем пришло что то: text.txt /print, то это же и отправляется в AkelPad


Добавлено:
Сообщение автоматически объединено:

Пожалуйста.
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
SharkyEXE [?]
Настройки -> Ассоциация (диалог ввода)
Это ассоциации только для "Открыть". Попробуйте "Настройки - Параметры программы", вкладка "Реестр". Там уже включены все опции для "Типы файлов". Сделайте какие-нибудь изменения в полях с расширениями (например, добавьте и удалите пробел) и нажмите "ОК".
 
Автор
S

SharkyEXE

Новичок
Сообщения
134
Репутация
0
InnI сказал(а):
SharkyEXE [?]
Настройки -> Ассоциация (диалог ввода)
Это ассоциации только для "Открыть". Попробуйте "Настройки - Параметры программы", вкладка "Реестр". Там уже включены все опции для "Типы файлов". Сделайте какие-нибудь изменения в полях с расширениями (например, добавьте и удалите пробел) и нажмите "ОК".
Я использую этот пак: http://forum.oszone.net/post-1889376-1375.html , х(86) http://rghost.ru/58131303 - скачать ссылка от 21.09.14 v.4.9.0 39.8 МБ
Что я сделал:
1) Запустил C:\Program Files\AkelPadmax_port\AkelPad.exe
2) Нажал на кнопку Настройки
3) Нажал на кнопку Параметры программы...
4) Появилось окно с заголовком Параметры...
5) В окне с заголовком Параметры... нажал на вкладку Реестр
6) В блоке Типы файлов стоят 3ри птички/галочки на пунктах:
6-1) Открыть
6-2) Изменить
6-3) Печать
7) В блоке Типы файлов, в пункте Изменить уже было прописано много расширений, в том числе txt
8) В блоке Типы файлов, в пункте Изменить я прописал: txt;log;ini;cfg;nfo;lss;lst;idl;sif;coder;js;param;spck;bbc;dxl;xml
9) В окне с заголовком Параметры... нажать на кнопку ОК
10) Закрыл AkelPad

Итого: всё равно при контекстном меню Изменить на файле txt открывается стд. Блокнот.

А у Вас, при контекстном меню Изменить на файле txt открывается AkelPad, так?
txt;log;ini;cfg;nfo;lss;lst;idl;sif;coder;js;param;spck;bbc;dxl;xml


Добавлено:
Сообщение автоматически объединено:

inververs сказал(а):
SharkyEXE [?]
Пожалуйста, сделайте так, чтобы Печать через контекстное меню для файлов, через AkelPad работала бы.Спасибо.
А кто его знает какой ключ на печать у блокнота и у AkelPad. Тут вся суть программы в том, что вся командная строка передается в AkelPad. И если блокноту скажем пришло что то: text.txt /print, то это же и отправляется в AkelPad


Добавлено:
Сообщение автоматически объединено:

Пожалуйста.



Это решается так (я использую этот пак: http://forum.oszone.net/post-1889376-1375.html , х(86) http://rghost.ru/58131303 - скачать ссылка от 21.09.14 v.4.9.0 39.8 МБ):
1) Запустить C:\Program Files\AkelPadmax_port\AkelPad.exe
2) Нажать на кнопку Плагины
3) Нажать на кнопку Sessions - Сессии (диалог)
4) Появиться окно с заголовком Sessions плагин
5) В окне с заголовком Sessions плагин нажать на кнопку Настройки...
6) Появиться окно с заголовком Настройки...
7) В блоке Сессия убрать птичку/галочку с пункта Открыть при запуске
8) В окне заголовком Настройки... нажать на кнопку ОК
9) В окне заголовком Sessions плагин нажать на кнопку ОК
10) Закрыть AkelPad

Усё.
Теперь если сделать:
1) один раз кликаешь правой кнопкой мышки по файлам, ассоциированным для открытия в стандартном Блокноте (txt и другие там файлы), там будет появляться контекстное меню:
1-1) Изменить
1-2) Открыть
1-3) Печать
1-4) ...
я выбираю Печать, то после выбора Печать файл печатается.
Усё! :IL_AutoIt_1:
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
SharkyEXE [?]
Этот пак на Win8.1 не ассоциирует расширения из диалога собственных настроек. Стандартная установка ассоциирует нормально и для "Открыть" и для "Изменить".

Вот и хорошо. Вопрос с ассоциациями снимается.
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
SharkyEXE
Зачем такие перенаправлятели делать? Удалит пользователь AkelPad и всё поломается. Если ты прописываешь расширения в реестр, то почему бы так же в класс txtfile не указать путь к AkelPad и все расширения через класс txtfile будут направлятся на AkelPad.
2-2-1) Изменить
2-2-2) Открыть
То есть открыть в AkelPad или изменить в AkelPad? Разве это не одно и тоже? Я лично "Печать" вообще удаляю, потому что надо видеть что печатаешь и в 99% откроешь файл и нажмёшь там "Печать", а вот вставлять не популярные пункты засоряя контекстное меню не лучший вариант.
Не знаю как у вас там addon устанавливается, но если есть возможность выполнить bat-файл, то лучше через него всё сделать. Можно приготовить reg-файл (экспортом из настроенной системы) и bat-файл его импортирует в реестр, а путь импортируется в реестр из самого bat-файла на основе места установки, так как путь может оказаться на диске "D:\".
у меня прописаны эти: txt,ini,inf,log,cfg,lst,sif,coder,info
inf имеет другой класс, поэтому там только прописать пункт "Открыть"
К вашему набору текстовых расширений я бы добавил: php, css, bat, cmd, reg, vbs, js, nfo, diz, md5, fb2, htm, html, xml, hta.
Для некоторых: bat, cmd, reg, htm, html, hta - добавить только "Изменить", а остальные на "Открыть" по клику.
Так как в реестр всё равно придётся писать, то уж записать прямой путь akelpad и не придумывать перенаправлятели. А ещё лучше добавить класс akelpad'а, чтобы при его удалении использовался предыдущий класс txtfile.
И ещё при установке akelpad с заменой блокнота у меня половина скриптов-примеров AU3 использовавших стандартный блокнот перестали работать.
 
Автор
S

SharkyEXE

Новичок
Сообщения
134
Репутация
0
AZJIO
Здравствуйте.

1) Никто не мешает перед установкой моего стартера вручную или с помощью cmd, bat файла переименовать файлы-оригинал Блокнота:
1-1) %WinDir%\notepad.exe в %WinDir%\notepadorig.exe
1-2) %WinDir%\system32\notepad.exe в %WinDir%\system32\notepadorig.exe
А если что не понравится - вручную или с помощью cmd, bat файла удаляем файлы-стартеры AkelPad:
2-1) %WinDir%\notepad.exe
2-1) %WinDir%\system32\notepad.exe
Переименовываем вручную или с помощью cmd, bat файла файлы-оригинал Блокнота:
3-1) %WinDir%\notepadorig.exe в %WinDir%\notepad.exe
3-2) %WinDir%\system32\notepadorig.exe в %WinDir%\system32\notepad.exe
Конечно, может возникнуть проблемка, в плане как переименовать вышеуказанные файлы, как удалять стартеры-AkelPad-а и прочее, ведь те файлы защищены от изменений - но на это есть изменить Безопастность для файлов, сделать себя владельцем файлов или LiveCD рулит. ;)

Вот и усё!

В том то и прикол, что ни я, ни стартер, ни та портативная сборка AkelPad, чем я пользуюсь, в контестное меню для файлов не добавляет/не удаляет никаких пунктов - все эти пункты:
1-1) Изменить
1-2) Открыть
1-3) Печать
это стандартные, по умолчанию, пункты в контекстном меню для тех файлов, которые открываются в стд. Блокноте

То есть ОС даже и не знает, что я использую стартер - имя стартера Notepad.exe, этот стартер находится там же, где находились оригинальные файлы Блокнота.

Что я говорю, можете сами попробовать, если есть желание, предварительно сделав бекап оригинальных файлов Блокнота воспользоваться стартером.

Да, еще: я использую этот пак: http://forum.oszone.net/post-1889376-1375.html , х(86) http://rghost.ru/58131303 - скачать ссылка от 21.09.14 v.4.9.0 39.8 МБ - это portable версия (работает без установки и не оставляет мусора в системе): скачал, распаковал куда хочешь, запустил файл \AkelPadmax_port\AkelPad.exe и пользуешься.

Оригинальный инсталлятор AkelPad по умолчанию сохраняет все настройки в реестр

Эта сборка, портативная версия, по умолчанию сохраняет все настройки в ini файл, который находится рядом с файлом \AkelPadmax_port\AkelPad.exe

Так что у меня, чем я пользуюсь, никаких установок exe, msi файлов, никаких записей в Удаление программ нету, никаких записей в реестре не вносится, никаких новых пунктов в контекстное меню не добавляется, никаких пунктов из контекстного меню не удаляется

Просто я уже не первый год пользуюсь сборкой AkelPad, поэтому этот стартер предпочтительно искал для себя.

Можно, конечно, и в реестре ковыряться, reg файлы делать, bat файлы делать - но, повторюсь, этот стартер предпочтительно искал для себя.

А так, как известно - на вкус и цвет...

Лично для меня стартер-замена стд. Блокнота - самое то.

Телодвижений со стартером практически нету, разве что бекап оригинальных файлов Блокнота сделать, если захочется назад откатиться.

Но лично я никогда не откажусь от AkelPad-а

:IL_AutoIt_1:
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
SharkyEXE
Тезис "Не изменяет реестр" в качестве критерия, а что лучше не изменить реестр или не изменить системные файлы? Такой файл вводит в заблуждение с большей вероятностью, так как файл блокнота есть, но он не блокнот. Как вариант, пропишите в скрипте поиск нескольких блокнотов, к примеру не нашёл AkelPad, пусть проверит существует ли Notepad++, предпоследним проверяет notepadorig.exe и если и его не существуют, то выводит сообщение типа "К сожалению блокноты не найдены, замените notepad.exe оригинальным блокнотом или установите один из блокнотов ..."

Кстати зачем делать notepadorig.exe не проще ли установить AkelPad и notepad.exe останется там же где и лежал, разница то какая от этой рокировки?

Никто не мешает
Я раньше тоже не долго горел идеей заменить блокнот, реально нет ни какой разницы где находится у вас блокнот, в системной ли папке или в папке программ.

Эта сборка, портативная версия
Портативная сборка которая требует замены системного файла и без которого система становится в ауте после вынимания флешки с портативной программой. Определитесь портативный ли вы проект позиционируете. Как я понимаю нет. А в настройках AkelPad случайно нет галочки "Сохранять найстроки в ini"? А то последнее время мода на вариативность хранения настроек. Обычно если программа видит свой ini рядом с исполняемым файлов, то использует его автоматически.

И ещё, как вы позиционируете установщик, для себя или для общества? Если для себя, то из выше-сказанного вы определяете любые способы копирования и изменения безопасности, а если для общества, то лучше такие грубые меры не применять. Иначе ваш дистрибутив требует от пользователя знания написания bat-файлов. Блокнот это такая вещь, обязательная на каждом компьютере и если ставить AkelPad то навсегда и правильно. Кстати экспорт/импорт настроек в реестре ничем не сложнее ini. Том же bat-фалом экспортировать раздел AkelPad в файл и импорт через слияние в реестр reg-файла.
 
Верх