|
v7: Открыть папку с заданным видом | ☑ | ||
---|---|---|---|---|
0
Дядя Васька
13.02.12
✎
23:54
|
Обычное открытие папки проводником. Программно. В данном случае из семерки, но не суть. Само по себе дело нехитрое, но имею бзик открывать с настройкой вида "обычные значки". Если правильно понял в реестре эта фигня для них по GUID хранится, мудрено так искать. Есть какой-то простой вариант?
|
|||
1
smartu
14.02.12
✎
00:05
|
Настроил вид папки - Сервис / Параметры папок / Вид / Применить к папкам
|
|||
2
Дядя Васька
14.02.12
✎
00:10
|
(1) Это уже пользовательские. Я папку из 1С открываю. В папке преимущественно картинки, потому независимо от предпочтений пользователя в данном конкретном случае удобнее ее открывать с предпросмотром. Хотел у себя в модуле реализовать. Что там пользователь для себя в проводнике настраивает меня не интересует.
|
|||
3
Господин ПЖ
14.02.12
✎
00:17
|
(0) уличной магией
|
|||
4
Дядя Васька
14.02.12
✎
00:22
|
(3) Да не хотелось бы... Оно конечно возможно, просто они там в таком виде хранятся, типа HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\ComDlg\{5c4f28b5-f869-4e84-8e60-f11db97c5cc7}, помимо основных там еще куча веток под номерами в которых тот или иной GUID.
http://qwers.com/Poleznie-soveti-dlja-Windows7/Reestr/reenasint26.htm В общем как-то его выяснить для нужной папки и потом в реестре раскопать оно конечно можно, да уж больно муторно. Если нет простого способа вроде запуска explorer.exe с параметрами (конкретно с ним не прокатило), то и не буду парится наверное. Просто может знает кто что-то подобное, чтоб без извратов. |
|||
5
NS
14.02.12
✎
00:23
|
В кратце -
Dim Папка As String Set objShell = CreateObject("Shell.Application") Папка = "D:\Рабочая папка\Нужное" 'не нужно в конце места нахождения папки ставить наклонную objShell.ShellExecute Папка & "\", , , , 0 'последняя цифра означает: 0 - скрытое окно Sleep 50 'нужна задержка, так как окно не успевает создаться For Each w In objShell.Windows If InStr(TypeName(w.Document), "ShellFolderView") > 0 Then If w.Document.Folder.self.Path = Папка Then w.Document.CurrentViewMode = 4 http://wordexpert.ru/forum/viewtopic.php?id=604 |
|||
6
Дядя Васька
14.02.12
✎
00:25
|
(5) Во! За это респектище. Sleep правда немного смущает, но главное сама суть.
|
|||
7
NS
14.02.12
✎
00:26
|
(6) Как Слип в семерке правильный делать знаешь?
|
|||
8
Дядя Васька
14.02.12
✎
00:27
|
(7) Мульон способов. Интереснее придумать как его тут не делать конечно :)
|
|||
9
Господин ПЖ
14.02.12
✎
00:28
|
(7) самое верное - циклом...
|
|||
10
Дядя Васька
14.02.12
✎
00:28
|
(8) Последний раз кажись вообще на сях реализовал, критично было количество мс. Пингами конечно не то.
|
|||
11
NS
14.02.12
✎
00:30
|
(9) нормальный слип - без загрузки проца и всяких изватов типа "предупреждение(,)"
|
|||
12
Дядя Васька
14.02.12
✎
00:30
|
В смысле сам-то слип по-любому нужен, но не мешало бы еще проверить, хватило его или нет, ну и зациклить это дело.
|
|||
13
NS
14.02.12
✎
00:31
|
(12) Можно заклить, пока в w.Document не появится папка.
Без слипа. |
|||
14
NS
14.02.12
✎
00:32
|
зациклить.
|
|||
15
Дядя Васька
14.02.12
✎
00:35
|
(13) Без слипа не гут, долго появляться будет из-за цикла-то. Сразу же 100%-ная загрузка проца же будет.
|
|||
16
NS
14.02.12
✎
00:36
|
(15) в принципе - да.
|
|||
17
Дядя Васька
14.02.12
✎
00:44
|
Скриптом последний раз делал, на сях там что-то другое все же было:
Процедура СоздатьСкриптSleep() ИмяПутьСкрипта = КаталогИБ()+"ExtForms\sleep.js"; Скрипт = СоздатьОбъект("Текст"); Скрипт.ДобавитьСтроку("WScript.Sleep(500);"); Скрипт.Записать(ИмяПутьСкрипта); КонецПроцедуры Процедура sleep() Экспорт ИмяПутьСкрипта = """"+КаталогИБ()+"ExtForms\sleep.js"""; cmdLine="wscript.exe "+ИмяПутьСкрипта; WshShell = СоздатьОбъект("WScript.Shell"); WshShell.Run(cmdLine, 0, -1); КонецПроцедуры |
|||
18
NS
14.02.12
✎
00:46
|
Угу, я примерно так-же делаю.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |