Страница 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 Иконка тоже взята из системы, но края не рваные.

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

GUISetIcon('user32.dll', 2 + 100)
Изображение
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.