Страница 9 из 20
Добавлено: Вс дек 21, 2014 13:50
gora
MVV писал(а):но они видны только в дочерних процессах.
Код: Выделить всё
AskParam[.exe] [<params>] [<command to execute>]
Дык
command to execute это дочерний процесс? Вот в нем я и хочу увидеть переменную
var1
Добавлено спустя 3 минуты:
MVV писал(а):самый простой способ передать что-то запускающему скрипту.
Я не про запускающий скрипт, а про
запускаемый пишу.
Добавлено: Вс дек 21, 2014 14:45
MVV
Это можно.
AskParam Beta 124
При вводе очередного параметра создаёт переменную окружения вида
AskParam1,
AskParam2 и т.д.
Увидеть их все можно, например, так:
Код: Выделить всё
AskParam.exe /p1 /p2 /p3 cmd.exe /k set ask
Добавлено: Вс дек 21, 2014 15:39
gora
MVV
Спасибо, то, что надо!
Теперь по интерфейсу:

1 Края иконки рваные. Причем на панели задач иконка нормально смотрится.
2 Однострочный текст в
/p мне кажется сильно ограничивает пользователя. Он не сможет изложить все нужное в одну строку.
3 Ширина по умолчанию великовата и сделать окно меньше у меня не получилось.
4 Квадратные углы кнопок на любителя.
Добавлено: Вс дек 21, 2014 21:28
MVV
По иконке вопросы к Microsoft, я её беру в ресурсах системы.
Квадратные кнопки, потому что я не парюсь по поводу тем оформления и пользуюсь классической темой. Можешь положить рядом с файлом файл манифеста)
Ещё никто не жаловался, что одной строки мало.
А длину увеличивал специально, т.к. текст (пути) не умещался целиком. И не думаю, что при современных разрешениях экрана это много.
Добавлено: Пн дек 22, 2014 13:37
gora
MVV писал(а):По иконке вопросы к Microsoft, я её беру в ресурсах системы.
1 Иконка тоже взята из системы, но края не рваные.
MVV писал(а):длину увеличивал специально, т.к. текст (пути) не умещался целиком.
2 А по такому принципу сделать сложно? Тогда и окно можно поменьше иметь, и ширину списка достаточно большую.
Добавлено: Пн дек 22, 2014 18:19
MVV
Иконка тоже взята из системы, но края не рваные.
Я загружал через
LoadIcon с параметром
IDI_QUESTION, а там нельзя задавать размер. Через
LoadImage можно загрузить оба размера.
А по такому принципу сделать сложно? Тогда и окно можно поменьше иметь, и ширину списка достаточно большую.
Это не облегчит редактирование длинного пути в поле ввода.
Добавлено: Пт янв 02, 2015 22:06
yozhik
Однострочный текст в /p мне кажется сильно ограничивает пользователя.
Присоединяюсь. Мне
очень не хватает возможности писать в несколько строк. Приходится лепить сокращения, которые потом плохо читаются.
Ещё никто не жаловался, что одной строки мало.
Не жаловался потому, что не решался, не хотел настроение портить: вон, в некоторых ветках посты по полгода висят без ответа – и думай-ломай голову по существу твой вопрос или мимо, читал его автор или нет, или проигнорировал.
Добавлено: Сб янв 03, 2015 01:06
MVV
Допилил пробную версию.
AskParam Beta 128
Ширину окна можно задать меньше начальной с помощью
/v, но не менее 256. Также добавил возможность изменять высоту окна, как мышью, так и параметром
/vширина:высота. Высоту ограничил двойным размером, если мало, говорите, прибавлю ещё. С автоматической подгонкой окна под размер приглашения возиться не буду, стандартные элементы окна такой информации не предоставляют.
Теперь приглашение многострочное, автоматом переносится по словам,
\n в строке приглашения заменяется на разрыв строки.
И иконку теперь гружу явно из user32.dll, оба размера, так что должна смотреться красивенько.
Добавлено: Сб янв 03, 2015 01:30
Skif_off
MVV
Для чего нужна х64 версия? Только на случай, когда требуется обойти редирект?
Добавлено: Сб янв 03, 2015 08:16
gora
MVV
Спасибо за подарок под елкой!
Проверил, вроде все обещанное утилита выполняет.
Есть еще небольшая хотелка...
Сейчас утилита:
1 переданную ей строку t\"%ProgramFiles%" раскрывает и отображает переменную как c:\Program Files
2 введенную в окно ввода строку %ProgramFiles% раскрывает и передает в переменную AskParam1 как c:\Program Files
В результате, передав утилите одну строку, я получаю назад другую и сравнивать эти строки меж собой, а также с имеющимся списком строк весьма затруднительно.
Хотелось бы:
1 пусть она не раскрывает переменные из t\ в поле ввода
2 пусть она не раскрывает переменные из окна ввода при передаче их в переменную AskParam1
3 пусть она передает строку запускаемому приложению как и ранее для сохранения обратной совместимости.
Добавлено: Сб янв 03, 2015 10:10
GGS
MVV
При использовании ключа /v нет центровки окна (фиксируется левый верхний угол). Так задумано или можно исправить?
Добавлено: Сб янв 03, 2015 17:21
MVV
Skif_off,
На тот случай, когда из 64-битного тотала запускается 64-битное приложение, чтобы не было между ними 32-битной прослойки со своим окружением, в том числе и с редиректом.
gora,
Наоборот раскрытие было сделано специально, т.к. это было нужно людям. И потом, какой смысл их сохранять?
GGS,
Я вообще там центровку не выполняю, позиция окна (а это как раз координаты верхнего левого угла) просто не меняется. Попробую добавить перемещение окна при изменении размера.
Добавлено: Сб янв 03, 2015 17:40
gora
MVV писал(а): какой смысл их сохранять?
Вообще я это описал, ну да ладно, нет, так нет.
Добавлено: Сб янв 03, 2015 18:02
Flasher
MVV
Можешь добавить число строк для параметров /t:N со скроллбаром и переносом? Для работы с буферным текстом нужно.
Добавлено: Сб янв 03, 2015 19:22
MVV
Flasher,
Многострочное поле ввода? Это уже сложнее, тем более, комбобокс не поддерживает такое.
gora,
Увидел, причина понятна. Добавлю флаг для отключения раскрытия переменных окружения в тексте запроса.
gora писал(а):2 введенную в окно ввода строку %ProgramFiles% раскрывает и передает в переменную AskParam1 как c:\Program Files
Это, кстати, неверно. В переменную
AskParam1 записывается в точности то, что было введено в поле. А вот при подстановке в строку параметров запускаемой программы вместо
%1 или
%%AskParam1%% да, раскрывает, но там раскрытие выполняется для всей строки параметров целиком, и переделка повлияет на гибкость.
AskParam Beta 134
Добавил ключ
/e- для отключения раскрытия переменных при отображении в поле ввода. Но на выходе раскрытие будет всё равно. Единственный вариант получить текст целиком - читать его вручную из переменной
AskParam1.