Page 3 of 3
Posted: Wed May 28, 2014 5:28 am
by TNX
Instructor
Проверил дату изменения AkelPad.exe: 27 мая 2014 г., 21:09:00. В диалоге Open/Save нужно выбирать не папку, а файл. Открывать его не нужно, просто кликнуть один раз мышкой.
Так и задумано.
В чем смысл? Учитывая, что имя файла сохраняется при переходе в другой каталог, это только мешает, к тому же нетипично для приложений Windows (проверил в 12-ти распространенных программах).
Posted: Wed May 28, 2014 6:14 am
by Instructor
TNX wrote:Проверил дату изменения AkelPad.exe...
Проверил на Win7 - да, есть такое поведение. Посмотрим, что можно сделать.
Posted: Mon Jun 02, 2014 8:14 am
by Instructor
Posted: Tue Jun 03, 2014 5:27 am
by TNX
Instructor
Не работает: когда указываешь полный путь C:\Dir1, воспринимает как файл.
Posted: Tue Jun 03, 2014 6:51 am
by Instructor
Posted: Tue Jun 03, 2014 8:42 am
by TNX
Instructor
Работает. Вот еще глюки:
1) Не понимает пути file://C:/Dir1, предлагает создать новый файл.
2) При открытии из несуществующего каталога C:\FakeDir1\File1.txt предлагает создать новый файл, но не может этого сделать. То же самое при сохранении. Должен ругаться на несуществующий путь.
3) При фильтрации по маске со знаком вопроса AkelHistory-???.txt или звездочки *.xml выдает ошибку "Wrong file name". Должен просто фильтровать.
4) Не работает сохранение через UAC в корневом каталоге системного диска C:\File1.txt
Posted: Tue Jun 03, 2014 4:23 pm
by Instructor
TNX
В процессе дописывания указанных замечаний, найден иной способ для поддержки потоков NTFS потоков и путей, содержащих обратные слэши (без необходимости заново реализовывать стандартное поведение диалога) -
тестовая.
На Win7 пока нет возможности проверить.
Posted: Tue Jun 03, 2014 6:21 pm
by TNX
Instructor
Классно, диалог заработал! C:\File1.txt + UAC не пашет, выдает ошибку "Cannot open file". Я понял, ждем Win7

Posted: Wed Jun 04, 2014 9:48 am
by Instructor
TNX
Невозможность записи в файл в корне относится к политике UAC. Даже, когда у файла в корне есть права на запись, UAC блокирует запись в файл.
Posted: Thu Jun 05, 2014 7:52 am
by TNX
Instructor
Ох уж эта виртуализация! На каждый хитрый болт...
http://msdn.microsoft.com/en-us/library/bb625960.aspx
void SetLowLabelToFile()
Только там нужен уровень medium, а не low.
Posted: Sat Jun 07, 2014 4:39 am
by Instructor
TNX
Благодарю за наводку. Сделал на всякий случай Low (как в примере), т.к. в любом случае после изменения начальные значения доступа восстанавливаются.
Тестовый
AkelAdmin.zip
Posted: Sat Jun 07, 2014 7:20 am
by TNX
Instructor wrote:Сделал на всякий случай Low (как в примере)
Работает, но у меня не получилось изменить файл из Low. AkelAdmin.exe запускается и не завершается при выходе.
Может, лучше брать метку у AkelPad.exe? Все-таки Low предназначен для потенциально уязвимых компонентов.
Instructor wrote:после изменения начальные значения доступа восстанавливаются.
Было: "D:
AI(...", "S:
AI(..."
Стало: "D:(...", "S:(..." (исчез SDDL_AUTO_INHERITED)
Posted: Sat Jun 07, 2014 12:00 pm
by Instructor
TNX wrote:Работает, но у меня не получилось изменить файл из Low.
Изменил на medium.
TNX wrote:(исчез SDDL_AUTO_INHERITED)
Тестовый
AkelAdmin.zip
Posted: Sat Jun 07, 2014 1:15 pm
by TNX
Instructor
Вроде работает

Еще я заметил, что у некоторых файлов в папке Windows (*.log) отсутствует SACL, а после обработки AkelAdmin'ом, появляется пустой список "S:". Впрочем, это не критично.
После запуска AkelAdmin.exe курсор мыши несколько секунд отображается как выполняющий фоновую операцию. Можно исправить созданием невидимого окна с работающей очередью сообщений.