Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[REQ] Меню пуск на button bar!!!
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
flm



Joined: 09 Dec 2007
Posts: 467

Post (Separately) Posted: Sat Oct 17, 2009 05:38    Post subject: [REQ] Меню пуск на button bar!!! Reply with quote

Здравствуйте. Порой хочется странного, вот и теперь возникло желание необычного, а именно перенести меню Пуск (стандартное виндовое) на тоталовский button bar. Остановимся на этот раз просто на пункте Программы. Итак, для выполнения задачи требуется написать некий парсер, который бы, грубо говоря, рекурсивно сканировал "c:\Documents and Settings\All Users.WINDOWS\Главное меню\Программы\" и создавал bar-файлы соответствующие структуре данного каталога.
Начинаем так - создаём programs.bar, далее сканируем структуру, если попадается каталог, создаём *.bar с его именем, в programs.bar кидаем на него ссылку и в самом *.bar файле сразу делаем выход на вышестоящий bar. Т.е. на programs.bar в данном случае.
Надеюсь, я не слишком запутанно изъясняюсь и в целом задача ясна. Может кто напишет программку или скрипт, который бы проделывал вышеописанное? Я так подумал, что данную программу можно было бы использовать шире, не только для перевода меню Пуск на button.bar... Ладно, то уже дело десятое...

Всё-таки дам пример небольшой для многоуровневого bar'а, вдруг не ясно что я имею в виду.

Итак, допустим мы имеем следующую структуру: каталог catroot содержит 2 подкаталога: sub1 и sub2. При этом в каждом из этих подкаталогов у нас имеются проги, которые мы хотим запускать (по 2 штуки) - sub1prg1.exe, sub1prg2.exe и sub2prg1.exe, sub2prg2.exe.
При этом bar-файлы реализующие всё это будут выглядить так:

catroot.bar:
Code:

[Buttonbar]
Buttoncount=2
button1=TOTALCMD.EXE, 1
cmd1=sub1.bar
menu1=sub1
iconic1=1
button2=TOTALCMD.EXE, 1
cmd2=sub2.bar
iconic2=1
menu1=sub2


sub1.bar:
Code:

[Buttonbar]
Buttoncount=3
button1=TOTALCMD.EXE, 10
cmd1=catroot.bar
iconic1=1
menu1=[...]
button2=sub1prg1.exe, 0
cmd2=sub1prg1.exe
menu2=sub1prg1
button3=sub1prg2.exe, 0
cmd3=sub1prg2.exe
menu3=sub1prg2


sub2.bar:
Code:

[Buttonbar]
Buttoncount=3
button1=TOTALCMD.EXE, 10
cmd1=catroot.bar
iconic1=1
menu1=[...]
button2=sub2prg1.exe, 0
cmd2=sub2prg1.exe
menu2=sub2prg1
button3=sub2prg2.exe, 0
cmd3=sub2prg2.exe
menu3=sub2prg2


Вроде всё. Писал руками, ничего не проверял, мог где-то ошибиться, но принцип тут уж точно должен стать ясным. Smile Единственное, что при "парсинге" меню пуск, надо будет ещё lnk обрабатывать, иконки там правильные выдирать, пути и т.д.
_________________
cogito ergo sum
http://www.yakimchuk.ru/questions.htm - Как правильно задавать вопросы
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Sat Oct 17, 2009 14:50    Post subject: Reply with quote

flm
Я не понял... Ты пишешь "некий парсер" или хочешь, чтобы кто-нибудь его сделал?

Посмотри ещё сюда.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
iNorbert



Joined: 03 Mar 2008
Posts: 221

Post (Separately) Posted: Sat Oct 17, 2009 15:27    Post subject: Reply with quote

Batya wrote:
flm
Я не понял... Ты пишешь "некий парсер" или хочешь, чтобы кто-нибудь его сделал?

Посмотри ещё сюда.


flm wrote:

Надеюсь, я не слишком запутанно изъясняюсь и в целом задача ясна. Может кто напишет программку или скрипт, который бы проделывал вышеописанное? Я так подумал, что данную программу можно было бы использовать шире, не только для перевода меню Пуск на button.bar... Ладно, то уже дело десятое...

Всё-таки дам пример небольшой для многоуровневого bar'а, вдруг не ясно что я имею в виду.


Видимо все-таки реквест.
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Sat Oct 17, 2009 16:25    Post subject: Reply with quote

flm wrote:
Надеюсь, я не слишком запутанно изъясняюсь ...
Нда, видимо, всё-таки слишком запутанно Smile
Как говорится, "ниасилил - слишкам многа букф" Laughing

iNorbert
Спасибо за прояснение ситуации.

На выходных, просто, голова почти не варит Rolling Eyes
Решение задачи нужно искать в теме по приведённой мной выше ссылке раньше и позже указанного поста.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Andrey_A



Joined: 10 Apr 2009
Posts: 394
Location: Сочи

Post (Separately) Posted: Sun Oct 18, 2009 03:29    Post subject: Reply with quote

Да, запутано, но я непонимаю зачем это нужно
К примеру у меня в меню пуск нечего сканировать, там нет ни одной программы, т.к. всё давно в Тотале в Портабльском виде и все ссылки находятся в меню Тотала, на панелях и на горячих клавишах
и по сей день выбираю программы, которые не требуют установки
С уважением Андрей А А
Back to top
View user's profile Send private message
flm



Joined: 09 Dec 2007
Posts: 467

Post (Separately) Posted: Sun Oct 18, 2009 21:37    Post subject: Reply with quote

Batya
Я хочу, чтоб кто-нибудь написал. Smile
По преведённой ссылке есть скрипт, который при доработке, думается, будет делать то, что надо. Проблема только что я не разбираюсь в этом деле... Я даже, честно говоря, не знаю, какие службы должны быть в системе запущены, чтоб подобные скрипты срабатывали.

Andrey_A
Ай какой ты молодец. Интересно, а стандартных ярлыков там у тебя тоже нету? При установке винда там создаёт штук 50... А, к примеру, драйвера или игры не создают в пуске ярлыков? Или какие-нть кодек-паки, среды разработки и т.д. Очень бы хотелось верить, но что-то не могу. Smile
_________________
cogito ergo sum
http://www.yakimchuk.ru/questions.htm - Как правильно задавать вопросы
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Mon Oct 19, 2009 15:48    Post subject: Reply with quote

flm wrote:
По преведённой ссылке есть скрипт, который при доработке, думается, будет делать то, что надо.

А разве сейчас не делает "то, что надо"? Какая доработка нужна?

flm
P.S. Не в обиду... Весьма удручает, когда недостаточно подкованные в программировании пользователи ставят задачи в виде некоторого подробно-технического задания, как в первом посте. Сразу хочеться спросить - тебе нужен результат или тебе нужно, чтобы процедура получения результата абсолютно соответствовала твоему компьютерному мировоззрению? Если - второе, то на это, чаще всего, ты рискуешь получить ответ вида "Тебе это надо, ты и делай".
Если тебе нужен именно результат, не вдавайся в технические детали. Тебя переспросят, если что-то будет непонятно.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
flm



Joined: 09 Dec 2007
Posts: 467

Post (Separately) Posted: Mon Oct 19, 2009 19:30    Post subject: Reply with quote

Batya
То, что я написал - не является техническим заданием. Это просто описание процедуры, которая должна выполняться, чтоб получался необходимый результат. К тому же, эта процедура описана весьма размыта, тонкости реализации по сути меня не интересуют. Smile Зато, по идее, это всё описание должно было сразу снять кучу вопросов, которые, к сожалению, таки последовали. Smile
В примере видно, что любая ссылка на bar-файл, должна иметь iconicN=1, где N - номер элемента в текущем bar-файле, ссылающегося на другой bar-файл. Дальше про необходимость дороботки пока сказать не могу, потому как мне не удалось запустить скрипт. Перевожу ремарку из моего второго сообщения в вид вопроса: какие службы должны быть запущены в системе, чтоб отрабатывали скрипты?
_________________
cogito ergo sum
http://www.yakimchuk.ru/questions.htm - Как правильно задавать вопросы
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Mon Oct 19, 2009 23:04    Post subject: Reply with quote

flm wrote:
Это просто описание процедуры, которая должна выполняться, чтоб получался необходимый результат.

Я, всё таки, думаю, что такую процедуру должен для себя определять программист, а не пользователь.

flm wrote:
какие службы должны быть запущены в системе, чтоб отрабатывали скрипты?

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

flm wrote:
мне не удалось запустить скрипт

В папке TC необходимо создать папку "Bars".
Также представленный по ссылке скрипт выполнен под английскую винду.
Переделал под русскую винду:
Code:
'=======================================================================================
' Создание в каталоге TC панели, содержащей Главное меню (Start Menu)
' Для вызова из TC необходимо в качестве параметра передать число:
'   0   - скрипт отработает один раз
'   > 0 - скрипт будет висеть в памяти и обновлять панель через данное число миллисекунд
' При вызове скрипта без параметра будет изменено значение ключа в реестре,
'   что остановит работу скрипта, висящего в памяти
'=======================================================================================
Option Explicit
Dim MyKey, WSH, StartMenuFile, FolderIconFile, BarsFolder, ExitButton, ExitIconFile
Dim StartMenuPath, UnknowTypeIcon
Set WSH = WScript.CreateObject("WScript.Shell")
'========== Изменяемые параметры =======================================================
MyKey   = "HKCU\Software\BatyaSoft\RunningMyScript" 'Ключ в реестре
StartMenuFile  = "startmenu.bar"                    'Имя основного файла панели
'Иконка для папок на панели:
FolderIconFile = WSH.ExpandEnvironmentStrings("%COMMANDER_PATH%") & "\TOTALCMD.EXE,1"
'Папка в каталоге TC для формирования вложенных bar:
BarsFolder     = WSH.ExpandEnvironmentStrings("%COMMANDER_PATH%") & "\Bars"
'Признак формирования кнопки выхода на предыдущую панель - 0 или 1
ExitButton     = 1
'Иконка для кнопки выхода на предыдущую панель:
ExitIconFile   = WSH.ExpandEnvironmentStrings("%COMMANDER_PATH%") & "\TOTALCMD.EXE,10"
'Иконка для файлов неизвестных типов:
UnknowTypeIcon = WSH.ExpandEnvironmentStrings("%COMMANDER_PATH%") & "\TOTALCMD.EXE,9"
'=======================================================================================
If WScript.Arguments.Count = 0 Then
  WSH.RegWrite MyKey, "False"
  Set WSH = Nothing
  WScript.Quit
End If
If IsNumeric(WScript.Arguments(0)) = True Then
  Dim FSO, DelFiles
  Const ForWriting = 2, Hidden = 2
  If WScript.Arguments(0) = 0 Then
    Set FSO = CreateObject("Scripting.FileSystemObject")
    If Not FSO.FolderExists(BarsFolder) Then FSO.CreateFolder BarsFolder
    If FSO.GetFolder(BarsFolder).Files.Count > 0 Then
      FSO.DeleteFile(BarsFolder & "\*.*")
    End If
    ScanningStartMenu
  End If
  If WScript.Arguments(0) > 0 Then
    Dim MykeyValue
    MykeyValue = True
    WSH.RegWrite MyKey, MykeyValue
    Do While MykeyValue
      FSO.DeleteFile(BarsFolder & "\*.*")
      ScanningStartMenu
      WScript.Sleep WScript.Arguments(0)
      MykeyValue = WSH.RegRead(MyKey)
    Loop
  End If
End If

Set WSH = Nothing
WScript.Quit

Function ScanningStartMenu
  Dim F, AUSM, CUSM, AUSP, CUSP, Menu, n, i, RegTree
  RegTree  = "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\"
  Set CUSM = FSO.GetFolder(WSH.RegRead(RegTree & "Programs"))
  Set CUSP = FSO.GetFolder(WSH.RegRead(RegTree & "Start Menu"))
  RegTree  = "HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\"
  Set AUSM = FSO.GetFolder(WSH.RegRead(RegTree & "Common Programs"))
  Set AUSP = FSO.GetFolder(WSH.RegRead(RegTree & "Common Start Menu"))
  StartMenuPath = WSH.ExpandEnvironmentStrings("%COMMANDER_PATH%") & "\" & StartMenuFile
  n = 0
  For Each Menu in AUSM.Files
    If (Menu.Attributes and Hidden) <> Hidden Then
      n = n + 1
    End If
  Next
  For Each Menu in CUSM.Files
    If (Menu.Attributes and Hidden) <> Hidden Then
      n = n + 1
    End If
  Next
  For Each Menu in AUSP.Files
    If (Menu.Attributes and Hidden) <> Hidden Then
      n = n + 1
    End If
  Next
  For Each Menu in CUSP.Files
    If (Menu.Attributes and Hidden) <> Hidden Then
      n = n + 1
    End If
  Next
  Set F = FSO.OpenTextFile(StartMenuPath, ForWriting, True)
  n = n + AUSM.SubFolders.Count + CUSM.SubFolders.Count + AUSP.SubFolders.Count + CUSP.SubFolders.Count - 1
  If ExitButton = 1 Then
    n = n + 2
  End If
  F.WriteLine "[Buttonbar]"
  F.WriteLine "Buttoncount=" & n
  i = 0
  If ExitButton = 1 Then
    F.WriteLine "button1=" & ExitIconFile
    F.WriteLine "cmd1="    & WSH.ExpandEnvironmentStrings("%COMMANDER_PATH%") & "\DEFAULT.BAR"
    F.WriteLine "menu1="   & "Назад"
    F.WriteLine "button2="
    i = 2
  End If
  For Each Menu in AUSM.SubFolders
'    If Menu.Name <> "Programs" Then
    If Menu.Name <> "Программы" Then
      i = i + 1
      ProcessFolder F, Menu, i, StartMenuPath
    End If
  Next
  For Each Menu in CUSM.SubFolders
'    If Menu.Name <> "Programs" Then
    If Menu.Name <> "Программы" Then
      i = i + 1
      ProcessFolder F, Menu, i, StartMenuPath
    End If
  Next
  For Each Menu in AUSM.Files
    If (Menu.Attributes and Hidden) <> Hidden Then
      i = i + 1
      ProcessFile F, Menu, i
    End If
  Next
  For Each Menu in CUSM.Files
    If (Menu.Attributes and Hidden) <> Hidden Then
      i = i + 1
      ProcessFile F, Menu, i
    End If
  Next
  i = i + 1
  F.WriteLine "button" & i & "="
  For Each Menu in AUSP.SubFolders
    i = i + 1
    ProcessFolder F, Menu, i, StartMenuPath
  Next
  For Each Menu in CUSP.SubFolders
    i = i + 1
    ProcessFolder F, Menu, i, StartMenuPath
  Next
  For Each Menu in AUSP.Files
    If (Menu.Attributes and Hidden) <> Hidden Then
      i = i + 1
      ProcessFile F, Menu, i
    End If
  Next
  For Each Menu in CUSP.Files
    If (Menu.Attributes and Hidden) <> Hidden Then
      i = i + 1
      ProcessFile F, Menu, i
    End If
  Next
  F.Close

  Set Menu = Nothing
  Set F    = Nothing
  Set AUSM = Nothing
  Set CUSM = Nothing
  Set AUSP = Nothing
  Set CUSP = Nothing
  Set FSO  = Nothing
End Function

Function ProcessFolder(OTF, SubFold, j, SM)
  Dim k, NewBar
  NewBar = BarsFolder & "\" & SubFold.Name & ".bar"
  If FSO.FileExists(NewBar) Then
    k = 1
    NewBar = BarsFolder & "\" & SubFold.Name & k & ".bar"
    While FSO.FileExists(NewBar)
      k = k + 1
      NewBar = BarsFolder & "\" & SubFold.Name & k & ".bar"
    Wend
  End If
  OTF.WriteLine "button" & j & "=" & FolderIconFile
  OTF.WriteLine "cmd"    & j & "=" & NewBar
  OTF.WriteLine "menu"   & j & "=" & SubFold.Name
  OTF.WriteLine "iconic" & j & "=1"

  Dim F1, Menu1, n1
  Set F1 = FSO.OpenTextFile(NewBar, ForWriting, True)
  n1 = 0
  For Each Menu1 in SubFold.Files
    If (Menu1.Attributes and Hidden) <> Hidden Then
      n1 = n1 + 1
    End If
  Next
  n1 = n1 + SubFold.SubFolders.Count
  F1.WriteLine "[Buttonbar]"
  If ExitButton = 1 Then
    F1.WriteLine "Buttoncount=" & n1 + 2
    F1.WriteLine "button1=" & ExitIconFile
    F1.WriteLine "cmd1="    & SM
    F1.WriteLine "menu1="   & "Назад"
    F1.WriteLine "iconic1=" & "1"
    F1.WriteLine "button2="
    k = 2
  Else
    F1.WriteLine "Buttoncount=" & n1
    k = 0
  End If
  For Each Menu1 in SubFold.SubFolders
    k = k + 1
    ProcessFolder F1, Menu1, k, NewBar
  Next
  For Each Menu1 in SubFold.Files
    If (Menu1.Attributes and Hidden) <> Hidden Then
      k = k + 1
      ProcessFile F1, Menu1, k
    End If
  Next
  F1.Close
  Set Menu1 = Nothing
  Set F1    = Nothing
End Function

Function ProcessFile(OTF, oFile, j)
  If LCase(FSO.GetExtensionName(oFile.Path)) = "lnk" Then
    Dim Lnk
    Set Lnk = WSH.CreateShortcut(oFile.Path)
    If Lnk.IconLocation <> ",0" Then
      Dim LnkPath
      LnkPath = Lnk.IconLocation
      LnkPath = Left(LnkPath, InStrRev(LnkPath, ",") - 1)
      If FSO.FileExists(LnkPath) Then
        Dim Ext
        Ext = LCase(FSO.GetExtensionName(LnkPath))
        If Not (Ext = "exe" or Ext = "dll" or Ext = "ico" or Ext = "icl") Then
          OTF.WriteLine "button" & j & "=" & FileIcon(LnkPath)
        Else
          OTF.WriteLine "button" & j & "=" & Lnk.IconLocation
        End IF
      Else
        OTF.WriteLine "button" & j & "=" & Lnk.IconLocation
      End IF
    Else
      OTF.WriteLine "button" & j & "=" & FileIcon(Lnk.TargetPath)
    End If
    OTF.WriteLine   "cmd"    & j & "=" & oFile.Path
    OTF.WriteLine   "menu"   & j & "=" & FSO.GetBaseName(oFile.Path)
    If Lnk.WorkingDirectory <> "" Then
      OTF.WriteLine "path"   & j & "=" & Lnk.WorkingDirectory
    End If
    Set Lnk = Nothing
  Else
    OTF.WriteLine "button" & j & "=" & FileIcon(oFile.Path)
    OTF.WriteLine "cmd"    & j & "=" & oFile.Path
    OTF.WriteLine "menu"   & j & "=" & FSO.GetBaseName(oFile.Path)
  End If
End Function

Function FileIcon(FilePath)
  Dim Ext
  Ext = LCase(FSO.GetExtensionName(FilePath))
  If Not (Ext = "exe" or Ext = "dll" or Ext = "ico" or Ext = "icl") Then
    On Error Resume Next
    FileIcon = WSH.RegRead("HKCR\" & WSH.RegRead("HKCR\." & Ext & "\") & "\DefaultIcon\")
    If Err.Number <> 0 Then
      FileIcon = UnknowTypeIcon
    End If
    On Error GoTo 0
  Else
    FileIcon = FilePath
  End If
  If FileIcon = "%1" or FileIcon = """%1""" Then
    FileIcon = "%SystemRoot%\system32\url.dll,0"
  End If
End Function

_________________
Нет, я не сплю. Я просто медленно моргаю.


Last edited by Batya on Tue Oct 20, 2009 10:58; edited 1 time in total
Back to top
View user's profile Send private message
Andrey_A



Joined: 10 Apr 2009
Posts: 394
Location: Сочи

Post (Separately) Posted: Tue Oct 20, 2009 00:30    Post subject: Reply with quote

Стало интересно, решил попробовать скрипт
выдаёт ошибку
Code:

Строка:   70
Символ:   3
Ошибка:   Разрешение отклонено
Код:   800A0046
Источник:    Ошибка выполнения Microsoft VBScript

Андрей А А
Back to top
View user's profile Send private message
flm



Joined: 09 Dec 2007
Posts: 467

Post (Separately) Posted: Tue Oct 20, 2009 03:07    Post subject: Reply with quote

Batya wrote:
flm wrote:
Это просто описание процедуры, которая должна выполняться, чтоб получался необходимый результат.

Я, всё таки, думаю, что такую процедуру должен для себя определять программист, а не пользователь.

Ладно, хорошо, тогда забудь всё, что я писал раньше. Вот оно новое и красивое:
"нужен скрипт, который обрабатывал бы структуру каталогов и на её основе делал кучу связаных bar-файлов." Неужели так понятнее? Или тут самое интересное - выяснять, чего же хочет просящий? Smile

Batya wrote:

flm wrote:
какие службы должны быть запущены в системе, чтоб отрабатывали скрипты?

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

Ну, если я спрашиваю, значит действия проводились, в любом случае, с этим я разобрался, скрипт запустился Smile.


Batya wrote:

flm wrote:
мне не удалось запустить скрипт

В папке TC необходимо создать папку "Bars".
Также представленный по ссылке скрипт выполнен под английскую винду.

Да. С этим разобрался, спасибо.

Batya wrote:

Переделал под русскую винду:

Спасибо. Немного о ожиданиях и о результатах:
Ожидания:
1). Подставляем скрипту путь (к примеру "c:\Documents and Settings\All Users.WINDOWS\Главное меню\Программы\")
2). Скрипт отрабатывает и на выходе получаем структуру bar-файлов с содержимым нашего пути (в данном случае "c:\Documents and Settings\All Users.WINDOWS\Главное меню\Программы\")
О результатах:
1). Чтобы заставить скрипт работать нужно:
a. создать в каталоге tc каталог bars
б. запустить скрипт с параметром 0
При этом:
- скрипт создаёт структуру только в каталоге текущего запущенного tc
- скрипт не принимает в качестве параметра путь (т.е. работает только для одной конкретной задачи, которая, к тому же, не совсем совпадает с нашей)
2). Итак, скрипт отработал, но на выходе мы получили нечто не совсем то. На сколько я понял, скрипт через реестр берёт пути к содержимому меню пуск, причём берёт от разных юзеров, на выходе получается бяка. К примеру 2 пункта "Администрирование" - хотя у меня в пуске нету их вообще Smile, 2 пункта "Автозагрузка" и т.д. Кроме того, скрипт как бы, раз он самостоятельно берёт уровень выше "Программ" в пуске - должен создавать подпункт "Программы" в таком случае, а он этого не делает и всё содержимое меню "Программы" вываливается вместе с содержимым родительского меню... И ещё, первой кнопкой скрипт создаёт:
Code:
button1=C:\programs\tc\TOTALCMD.EXE,10
cmd1=C:\programs\tc\DEFAULT.BAR
menu1=Назад

Можно это убрать? И за одно пустые кнопки вида"button2="...
_________________
cogito ergo sum
http://www.yakimchuk.ru/questions.htm - Как правильно задавать вопросы
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Tue Oct 20, 2009 10:07    Post subject: Reply with quote

flm wrote:
"нужен скрипт, который обрабатывал бы структуру каталогов и на её основе делал кучу связаных bar-файлов." Неужели так понятнее?
Вот теперь задача звучит внятно.

flm wrote:
Ну, если я спрашиваю, значит действия проводились, в любом случае, с этим я разобрался, скрипт запустился
Очень рад за вас.

flm wrote:
Ожидания:
1) Этого делать не хочу.
2) Скрипт и сейчас формирует структуру bar-файлов, но не для одной папки, а для для четырёх - ярлыки в кнопке Пуск текущего пользователя и всех пользователей и ярлыки папки "Прогарммы" в кнопке Пуск текущего пользователя и всех пользователей.

flm wrote:
1). Чтобы заставить скрипт работать нужно:
Не нужно "заставлять" работать мой скрипт, нужно создать условия для его работы, которые легко понятны из шапки скрипта.

flm wrote:
работает только для одной конкретной задачи, которая, к тому же, не совсем совпадает с нашей
Извините, для вашей задачи мой скрипт не работает. Думаю, кто-нибудь сможет вам помочь решить вашу задачу. Только, вряд ли, это буду я.

flm wrote:
На сколько я понял, скрипт через реестр берёт пути к содержимому меню пуск, причём берёт от разных юзеров
Вы поняли неверно.

flm wrote:
Можно это убрать? И за одно пустые кнопки вида"button2="...
А внимательно почитать в шапке скрипта секцию "Изменяемые параметры" религия мешает?

flm wrote:
на выходе получается бяка
Ну так, никто не заставляет вас пользоваться этим скриптом. Если не устраивает, ищите другие средства решения своей задачи.

P.S. Очень сильно раздражает, когда при попытке помочь, тебе начинают высказывать претензии даже минимально не попытавшись разобраться в предлагаемой помощи.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Tue Oct 20, 2009 11:00    Post subject: Reply with quote

Andrey_A wrote:
Стало интересно, решил попробовать скрипт
выдаёт ошибку
Скорее всего проблема из-за того, что приведённый скрипт был для русской винды.
Скрипт поправил. Теперь должно работать для любого языка операционки.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
flm



Joined: 09 Dec 2007
Posts: 467

Post (Separately) Posted: Tue Oct 20, 2009 11:27    Post subject: Reply with quote

Batya wrote:
flm wrote:
"нужен скрипт, который обрабатывал бы структуру каталогов и на её основе делал кучу связаных bar-файлов." Неужели так понятнее?
Вот теперь задача звучит внятно.

Smile)

Batya wrote:

flm wrote:
Ну, если я спрашиваю, значит действия проводились, в любом случае, с этим я разобрался, скрипт запустился
Очень рад за вас.

Smile)

Batya wrote:

flm wrote:
Ожидания:
1) Этого делать не хочу.

Ну, если не хочешь, тогда и разговаривать не о чем.

Batya wrote:

2) Скрипт и сейчас формирует структуру bar-файлов, но не для одной папки, а для для четырёх - ярлыки в кнопке Пуск текущего пользователя и всех пользователей и ярлыки папки "Прогарммы" в кнопке Пуск текущего пользователя и всех пользователей.

Да да, и в результате получаем кашу, которая не является ни копией меню "пуск", ни копией конкретного каталога... Зачем оно такое?

Batya wrote:

flm wrote:
1). Чтобы заставить скрипт работать нужно:
Не нужно "заставлять" работать мой скрипт, нужно создать условия для его работы, которые легко понятны из шапки скрипта.

Ну, как тупой юзер, я не обязан знать про параметры, читать шапки скриптов и тд. А вообще, это скорее замечание по юзабилити, нежели упрёк в чём-то... На мой взгляд, программы должны служить юзерам, а не юзеры создавать условия для работы программ. Как-то так.

Batya wrote:

flm wrote:
работает только для одной конкретной задачи, которая, к тому же, не совсем совпадает с нашей
Извините, для вашей задачи мой скрипт не работает. Думаю, кто-нибудь сможет вам помочь решить вашу задачу. Только, вряд ли, это буду я.

Да, это я уже понял. Smile

Batya wrote:

flm wrote:
На сколько я понял, скрипт через реестр берёт пути к содержимому меню пуск, причём берёт от разных юзеров
Вы поняли неверно.

Ну из глобальных переменных часть пути тырит, не суть важно. Smile


Batya wrote:

flm wrote:
Можно это убрать? И за одно пустые кнопки вида"button2="...
А внимательно почитать в шапке скрипта секцию "Изменяемые параметры" религия мешает?

Вот я не вижу там параметров, которые позволяли бы убрать пустую кнопку и выход на DEFAULT.BAR, хоть убей. Может я ослеп? Smile

Batya wrote:

flm wrote:
на выходе получается бяка
Ну так, никто не заставляет вас пользоваться этим скриптом. Если не устраивает, ищите другие средства решения своей задачи.

Столько много советов, беда только в том, что я их не просил и мне они не интересны.

Batya wrote:

P.S. Очень сильно раздражает, когда при попытке помочь, тебе начинают высказывать претензии даже минимально не попытавшись разобраться в предлагаемой помощи.

Где конкретно ты пытался мне помочь? Ты даже не прочитал оригинального первого сообщения, в котором описывается то, что же мне требуется... Зато куча упрёков, советов, и раздражений. Надо бы попроще быть мб.
_________________
cogito ergo sum
http://www.yakimchuk.ru/questions.htm - Как правильно задавать вопросы
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 10236
Location: Россия, Саратов

Post (Separately) Posted: Tue Oct 20, 2009 11:50    Post subject: Reply with quote

flm
Batya
Убедительно прошу либо постараться вернуть дискуссию в конструктивные рамки, либо её вовсе прекратить. Продолжать в нынешней тональности, пожалуйста, больше не надо.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group