Autorun

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Файл wdx отличается от предыдущего.
Ну я на всякий случай перекомпилировал, вроде там что-то правил по-мелочам.
Flasher писал(а):Я думал, что справка будет пообширней в плане разъяснений. Ну, да ладно.
Так для этого и выложил до релиза. Что непонятно, что можно добавить?
Flasher писал(а):Добавь, пож-та, данные по процессору (производитель, ширина шины данных и т.д.).
По-моему, винда такую информацию не выдает. А с нестандартными способами получения нет времени и желания разбираться. Если готовый код найдется - можно в плагин добавить.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Loopback писал(а):Что непонятно, что можно добавить?
Добавить стоит примеры для каждого случая. Для каждой команды SysInfo лучше не менее 2-ух.
Loopback писал(а):По-моему, винда такую информацию не выдает.
WMI даёт. select * from CIM_Processor / Win32_Processor
Кое-что можно отсюда взять.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Может, проще сразу добавить одну функцию, запихивающую вывод WMI-запроса в переменную окружения, если мы кучу данных берем оттуда?
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Flasher писал(а):Добавить стоит примеры для каждого случая.
Ок, примеры это понятно. Еще что-нибудь?
Flasher писал(а):WMI даёт.
WMI - это уже не WinAPI. По cpuid посмотрю, но может быть не сейчас.
MVV писал(а):Может, проще сразу добавить одну функцию, запихивающую вывод WMI-запроса в переменную окружения, если мы кучу данных берем оттуда?
Не уверен, что более-менее приемлемую работу с WMI вообще можно организовать в языке, не имеющем ООП-синтаксиса. Результат запроса может быть объектом со своим набором свойств, их получать как-то надо. Запросы могут возвращать коллекции - как с ними тут работать? Ну и наконец, чтобы получить некоторые данные, одним запросом не обойтись.
Аватара пользователя
KopBuH
Сообщения: 127
Зарегистрирован: Пт июл 02, 2010 09:21
Откуда: Tashkent, Uzbekistan

Сообщение KopBuH »

Loopback:
есть один вопрос. ты можешь написать небольшую консольную утилиту, которая меняет значение переменных, только в среде уже запущенного ТС?
Аватара пользователя
jentoso
Сообщения: 443
Зарегистрирован: Чт дек 20, 2007 01:36

Сообщение jentoso »

KopBuH, а чем не подходит команда Set?
TC 11.58 combo, Windows 11 x64
Аватара пользователя
KopBuH
Сообщения: 127
Зарегистрирован: Пт июл 02, 2010 09:21
Откуда: Tashkent, Uzbekistan

Сообщение KopBuH »

какая Set?. Set это для работы внутри скрипта.
а я про
меняет значение переменных, только в среде уже запущенного ТС
есть одна подобная утилита, setenv.exe, но она меняет переменные среды сразу для всех программ, и не работает в PE, а мне нужно только для TC, и уже созданные.
Аватара пользователя
jentoso
Сообщения: 443
Зарегистрирован: Чт дек 20, 2007 01:36

Сообщение jentoso »

KopBuH, а плагин Environment Variables Ex 1.0 не подойдет?
TC 11.58 combo, Windows 11 x64
Аватара пользователя
KopBuH
Сообщения: 127
Зарегистрирован: Пт июл 02, 2010 09:21
Откуда: Tashkent, Uzbekistan

Сообщение KopBuH »

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

Добавлено спустя 10 минут:

или скрипт VBS, если он конечно такое умеет.

Добавлено спустя 12 минут:

нашел!!))
да не сочтут меня изменником, но нашел эту утилиту в плагинах к FAR:
http://plugring.farmanager.com/plugin.php?pid=762

Добавлено спустя 15 минут:

рано обрадовался. синтаксис у нее не очень удобен, однако.
там значение переменной установливается в начале строки, и только потом задается нужный процесс. а это значит, что придется теперь еще юзать программы вроде AskParam. а поскольку я не смог передать в нее чтобы задать PID тотала, то нужно запускать её через cmd. а это значит, чтобы поменять одну переменную нужно запустить целых 3 программы. к тому же она не может изменять переменные 64-битных приложений (отказано в доступе):cry:
Loopback, или все же можно сделать такую утилитку, только для ТС, если это не очень трудно?
типо такой: SetTCEnv.exe "переменная" "значение переменной"
Аватара пользователя
KopBuH
Сообщения: 127
Зарегистрирован: Пт июл 02, 2010 09:21
Откуда: Tashkent, Uzbekistan

Сообщение KopBuH »

вопрос насчет проверки прав администратора в Windows Vista и выше:
плагин указывает, что командер запущен от администратора. но на самом деле, если включен UAC - то права ограничены.
пока сделал такое решение:
(некоторые строки из конфига опущены)

Код: Выделить всё

# Начало конфига:
IniWrite /EV "%SystemRoot%\Admin.ini" "TechAdmin" "Admin" "1"

# Середина конфига:
# Проверка наличия прав Администратора
IniRead COMMANDER_ISADMIN "%SystemRoot%\Admin.ini" "TechAdmin" "Admin" "0"
If (COMMANDER_OSVER = XP) AND (%AUTORUN_ISADMIN% = 1) Then
  SetEnv /EV COMMANDER_ASADMIN "Admin"
ElseIf (COMMANDER_OSVER <> XP) AND (%AUTORUN_ISADMIN% = 1) AND (%COMMANDER_ISADMIN% = 1)  Then
  SetEnv /EV COMMANDER_ASADMIN "Admin"
  IniWrite /EV "%SystemRoot%\Admin.ini" "TechAdmin" "Admin" "0"
Else 
  SetEnv /EV COMMANDER_ASADMIN "User"
EndIf
получилось что-то вроде костылей для проверки реальных прав администратора, но вроде работает.
вопрос к Loopback: не хотите улучшить плагин, и ввести что-то вроде такой проверки привилегий прав ТС при включенном UAC?
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Вот кстати да, проверка на привилегии была бы полезнее просто проверки на администратора, т.к. с UAC администраторы всё равно обычно запускают программы без привилегий.
Аватара пользователя
KopBuH
Сообщения: 127
Зарегистрирован: Пт июл 02, 2010 09:21
Откуда: Tashkent, Uzbekistan

Сообщение KopBuH »

Кажется, в Process Hacker этот столбик называется Integrity, там есть Low, Medium, High, и System.
неплохо было просто получить одно из этих значений. а там уже и сами бы разобрались.
например, High - это права Админа. Medium - это админ, но ограниченный.
Low - обычный пользователь, System - система.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

KopBuH писал(а):или все же можно сделать такую утилитку, только для ТС, если это не очень трудно?
Не столько трудно, сколько долго, а времени нет. Только если подправить то, что есть, благо исходники доступны.
Но вообще ты пробовал ее работоспособность? Что-то я сомневаюсь, что она будет работать без административных прав.

Насчет привилегий согласен, что-нибудь можно будет сделать.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Если права аналогичные (например, если это дочерний тоталу процесс), то можно менять переменные - банальным внедрением в процесс.
Аватара пользователя
KopBuH
Сообщения: 127
Зарегистрирован: Пт июл 02, 2010 09:21
Откуда: Tashkent, Uzbekistan

Сообщение KopBuH »

Loopback писал(а): Но вообще ты пробовал ее работоспособность? Что-то я сомневаюсь, что она будет работать без административных прав.
Насчет привилегий согласен, что-нибудь можно будет сделать.
на 32 битных приложениях вроде работает. насчет прав проверю.
просто её прелесть в том, что она может менять переменные для определенного процесса. а например старый SetEnv, которым я пользуюсь сейчас - только для среды всех процессов. а это не есть хорошо, особенно если переменная содержит пароль. (а так и есть)
Ответить