Админ

вторник, 8 сентября 2015 г.

Секреты программы «Записки» в Windows

|
В Windows, начиная с версии 7, есть такая программа: «Записки». Программа очень простая: она имитирует популярные у офисных работников «липкие записки». Иногда эта функция бывает полезной, и я стал время от времени пользоваться ею, чтобы оставить себе напоминание. Разумеется, примитивного функционала стало не хватать (особенно раздражала невозможность поменять начертание шрифта). Да, существуют более продвинутые программы, вроде Evernote или MS OneNote, но когда нужно иногда написать самому себе записку на пару строк, использовать такие громоздкие программы-«комбайны», наверное, лишнее.

Оглавление

 

Всё форматирование сделано встроенными средствами программы (в последних версиях Windows 10 такое сделать невозможно!)

Замечание по поводу версий Windows (обновлено 18.01.2017)

Эта статья была написана до выхода Windows 10. Перечисленные в ней сведения были актуальны на тот момент. Но с выходом Windows 10 Anniversary Update (1607) Microsoft существенно переделала эту программу. Вернее, до предела упростила и урезала возможности. Я по возможности откорректировал статью с учётом этих новшеств, хотя заранее можно сказать, что 90% описанных в ней приёмов работать уже не будет.

Сочетания клавиш в программе «Записки»

Замечание (18.01.2017). К сожалению, начиная с версии Windows 10 Anniversary Update (1607) почти все перечисленные ниже сочетания клавиш не работают. Я отметил неработающие комбинации значком ⚠. Видно, что разработчики отключили даже те сочетания, которые перечислены в официальной справке.

В справке по приложению (http://windows.microsoft.com/ru-ru/windows7/using-sticky-notes) указаны несколько сочетаний клавиш, которые действуют на выделенный текст:

Ctrl + B Выделение полужирным шрифтом
Ctrl + I Выделение курсивом
Ctrl + U Подчеркивание текста
Ctrl + T Перечеркивание текста
Ctrl + Shift + L Создание маркированного списка. Повторное нажатие этих клавиш преобразует маркированный список в нумерованный, а третье нажатие превращает обратно в текст
Ctrl + Shift + > Увеличение размера текста
Ctrl + Shift + < Уменьшение размера текста

Экспериментальным путём удалось выяснить ещё несколько интересных комбинаций:

Управление заметками
Ctrl + N Создание новой заметки (то же, что кнопочка «+» в левом верхнем углу заметки)
Ctrl + D Удаление заметки (то же, что кнопочка «x» в правом верхнем углу заметки)
Ctrl + Z Отменить последнее действие
Ctrl + Shift + Z Повторить отменённое действие
Форматирование абзаца в целом
(применяются ко всему абзацу, содержащему выделенный текст)
Ctrl + L Выровнять горизонтально по левому краю (по умолчанию)
Ctrl + R Выровнять горизонтально по правому краю
Ctrl + E Выровнять горизонтально по центру
Ctrl + 1 Одинарный междустрочный интервал (по умолчанию)
Ctrl + 2 Двойной междустрочный интервал
Ctrl + 5 Полуторный междустрочный интервал
Форматирование выделенных символов
Ctrl + [+] Нижний индекс: x1+x2=y
Ctrl + Shift + [+] Верхний индекс: x2+y2=z2
Ctrl + Shift + A Сделать все символы прописными. Меняет не регистр, а именно способ отображения, как в Word, то есть при копировании, скажем, в Блокнот буквы снова станут строчными
Вставка специальных символов
(практически все сочетания клавиш такие же, как в MS Word)
Ctrl + Shift + [пробел] Неразрывный пробел
Ctrl + Shift + [-] Неразрывный дефис
Ctrl + [-] Мягкий перенос

Вставка в записку ссылок на файлы

Замечание (18.01.2017). Начиная с версии Windows 10 Anniversary Update (1607) это не работает.

Легко заметить, что приложение умеет превращать строки вида «http://…» в гиперссылки. Менее очевидно, что точно так же можно сделать ссылку на файл на локальном диске. Делается такая ссылка при помощи префикса «file:», например, file:C:\docs\Резюме_нового_сотрудника.txt. Файл будет открыт средствами ОС, то есть таким образом можно сделать ссылку на exe-файл и запускать его, или на документ, который нужно открыть. Единственное неудобство: нельзя использовать пробелы в именах файлов, вместо них нужно писать «%20», то есть: file:C:\docs\Резюме%20нового%20сотрудника.txt. Ну, и то, что ссылки открываются только при щелчке с нажатой клавишей Ctrl, тоже не очень удобно.

Как поменять шрифт в Записках Windows

Замечание (18.01.2017). Начиная с версии Windows 10 Anniversary Update (1607) шрифт в записках заменён на более простой.

Шрифт Segoe Print, который используется в заметках по умолчанию, красив, но не очень хорошо читается с экрана и скоро начинает раздражать. Удивительно, но Microsoft не предусмотрела никакого штатного способа изменить шрифт, ни в Windows 7, ни в Windows 8.

Существует два способа поменять начертание шрифта: простой и сложный. Простой способ сделать любые шрифты — писать все заметки в Word или любом аналогичном редакторе с поддержкой форматирования, а потом копировать их в записку. Шрифты (как и некоторое другое форматирование) при этом сохраняются.

Замечание от 18.01.2017. Увы, в Windows 10 Anniversary Update 1607 эта возможность также отключена: копируется текст без форматирования, как в программу Блокнот.

Сложный способ требует некоторых технических познаний и наличия специальных программ. Рекомендуется он только для тех людей, которые не обижаются, если кто-то называет их гиками.

Замечание (18.01.2017). Полагаю, что описанный ниже приём в версиях Windows после Windows 10 Anniversary Update (1607) также не сработает.
  1. Находим файл C:\Windows\System32\ru-RU\StikyNot.exe.mui (если у вас не русская Windows, то вместо «ru-RU» выберите нужный идентификатор языка, скажем, «en-US»). Путь к системной папке зависит от компьютера и может быть другим, выяснить его можно, набрав %WINDIR% в командной строке (вызываемой комбинацией клавиш Win + R).
  2. Обязательно делаем резервную копию этого файла.
  3. Открываем любым редактором ресурсов (я использовал старенький Resource Hacker) и находим ресурс с типом 23, в нём подтип 3080, а внутри — ресурс с именем 1049. Это просто текст  в формате XML. При помощи любого текстового редактора (сойдёт и Блокнот) меняем везде шрифт Segoe Print на что-нибудь более приятное глазу (например, мне нравится шрифт Segoe UI, см. картинку в начале статьи) и сохраняем этот файл в другой папке (просто так перезаписать его не дадут, см. следующий пункт).
  4. Чтобы перезаписать файл в системной папке, придётся тоже помучиться, так как эти файлы недоступны для записи даже с правами администратора (они защищены технологией Windows Resource Protection). Вот тут есть очень хорошая статья с картинками на тему, как это победить: http://did5.ru/it/windows/kak-izmenyat-sistemnye-fajly-windows-7-trustedinstaller.html. Отмечу, что для Windows 8 эта инструкция тоже актуальна, только вместо вкладки «Владелец» и кнопки «Изменить» в окне свойств имеется ссылка с такой же подписью, сразу над закладками. И ещё: в Windows 8 мне не удалось восстановить владельца файла, но на работоспособности системы это не сказалось.

Где и как хранятся текст и оформление записок

Все записки в Windows до версии Windows 10 Anniversary Update хранились в одном файле %APPDATA%\Microsoft\Sticky Notes\StickyNotes.snt (переменную, отмеченную знаками процента можно точно так же расшифровать при помощи командной строки). Это файл формата Microsoft Storage (несжатый архив) — такими же архивами являются файлы документов Microsoft Word.

Технические детали

Этот архив содержит внутри себя два упакованных файла: Metafile (содержит координаты «листков» на экране, их цвет и другую подобную информацию) и Version (1 байт, который у меня  и в Windows 7, и в Windows 8.1 содержал единственный байт со значением 2). Также в архиве содержится некоторое количество папок с замысловатыми именами вида c46767f5-d92b-11e4-8, соответствующих активным заметкам. Каждая такая папка содержит три файла с именами из одной цифры: 0 (внутри лежит RTF с текстом заметки), 1 (двоичный, какая-то служебная информация) и 3 (текстовый, содержит первые 102 байта текста заметки без форматирования).

Начиная с упомянутой версии, данные переехали в папку с жутковатым именем %LOCALAPPDATA%\Packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe. Теперь данные хранятся в нескольких файлах, которые включают БД формата SQLite, MS Storage и другие файлы.

Но если на момент установки новой Windows были активны какие-то записки, то при обновлении программа сохраняет копию этого файла в старом формате в папке …\LocalState\Legacy, файл называется ThresholdNotes.snt. Этот файл не обновляется при дальнейших манипуляциях с записками.

Синхронизация записок между несколькими компьютерами

Отмечу сразу: штатного способа синхронизировать записки не существует. Как ни странно, нет его даже в Windows 8 и 10 с её интегрированным облаком OneDrive, хотя здесь это кажется логичным.

Скажу сразу: мне не удалось найти способа синхронизировать записки так, как хотелось бы. Дело в том, что файл данных этой программы блокируется на запись, пока она запущена, так что обновлять данные при работающей программе (то есть фактически при включённом компьютере) невозможно.

Можно синхронизировать только сам файл с содержанием записок (но записки на рабочем столе не будут меняться) для целей бэкапа. Для этого можно использовать любой облачный сервис, например, Dropbox. Работает это так:
  1. На компьютере переместить (или скопировать, а потом удалить) папку %APPDATA%\Microsoft\Sticky Notes\ в папку Dropbox в виде подпапки.
  2. Сделать ссылку на файл StyckyNotes.snt в этой папке при помощи команды из командной строки:
mklink /J "%APPDATA%\Microsoft\Sticky Notes\" <path to Dropbox>\StickyNotes

Вместо %APPDATA% надо бы вставить реальный путь к папке, а вместо <path to Dropbox> — путь к папке Dropbox.

 Велик соблазн сделать так на двух и более компьютерах, чтобы программа записывала и перечитывала файл. Но это не работает, я проверял.

Для создания записок с синхронизацией можно использовать другие средства, например, расширение Sticky Notes для Google Chrome, о котором я как-то уже писал. Оно очень похоже на штатные записки Windows, но работает под Windows, OS X, Linux и Chrome OS и умеет синхронизироваться через облако Google. Хотя там тоже есть свои сложности.

1 комментарий:

  1. в последней версии 10 в записках встроена панель управления шрифтом, пиздабол отсталый

    ОтветитьУдалить

Insert Emoticons
:))
:((
:D
:(
=))
b-(
:)
:P
:-o
:*
:-s
[-(
@-)
=d>
b-)
:-?
:->
X-(

К началу