Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: remotex в May 10, 2010, 13:29



Титла: ГПИ и конзола
Публикувано от: remotex в May 10, 2010, 13:29
Някой да знае метод за достъп от дъщерния процес (ГПИ приложение без конозла) до родителския процес и по спец. неговата конзола (stdout only) под Уиндоус?
т.е. интересува ме printf да работи
...един вид приложението си е чисто win32 но да може и да се скриптира - ако се налага да се управлява само с параметри и да не показва ГПИ

П.П. Навремето Борланд го можеха това... но  не знам как става


Титла: Re: ГПИ и конзола
Публикувано от: remotex в May 10, 2010, 13:42
Само да уточня какво съм пробвал до момента:

1. В общия сл. нямам контрол в/у родителския процес (cmd.exe) затова и стандартните отг. на Гугъл за настройка и пренасочван на stdout откъм родител НЕ ми въшат работа.
2. Компилиране като конзолно приложение а в кода в 1 момент да се извиква FreeConsole също не е удачно - работи ако се пусне под конзола... и ако се пусне чисто графично, но тогава се вижда как изскача конзолата за част от секундата :(
3. AttachConsole - не успях да го подкарам а и работи само от ХП нагоре, а навреметмо борландските си работеха под всичко win32

т.е. нещо такова искам да ми се получи:
Код
GeSHi (Bash):
  1. C:\App>app.exe -version
  2. Version 2.0
  3. C:\App>app.exe -help
  4. Print Help/Options info on command prompt then exit without showing GUI
  5. C:\App>_

Ако ще се пуска графично но с опции (има развойни среди които позволяват да се задават опции при стартиране и на ГПИ приложения) - не ме интересува къде ще отиде печата и че няма да се вижда - важното е от командния ред (от който е пуснат) да се вижда за да може да се ползва в скрипт/*.bat файлове.


Титла: Re: ГПИ и конзола
Публикувано от: remotex в Jun 02, 2010, 15:53
Никой ли си няма.. идея поне?!


Титла: Re: ГПИ и конзола
Публикувано от: remotex в Jun 02, 2010, 16:10
Единственото "що-годе приемливо" решение до което стигнах е следното:
(така че проблема ще го пиша решен засега, но ако някой се сети за друг вариант /макар и със закъснение/ да пише)

Код
GeSHi (Bash):
  1. C:\App>app.exe -version | more
Не ми харесва защото:
1. more е външна команда, но пък е налична във всички версии на дадената ОС
2. Това един вид пак е принудително предварително пренасочване от страна на родителския процес преди извикване на дъщерния
..най-чисто беше без външни зависимости, дъщерния процес да си намери родителя и ако може да пише в неговата конзола, ако има такава.
// Колкото ми се удава - толкова! Пиша го решен

И един допълнителен въпрос - надявам се тук да има малко помощ поне:
Къде е най-удачно да пусна една тема за търсене на бета тестери... във форума за Търсене/предлагане на работа може би... но не ми се струва удачно при положение че няма да има заплащане т.е. мога да предложа само морални стимули. Пък и повече ме интересува мнението на колегите програмисти /а също така и дизайнери - само да барнат малко един css stylesheet т.е. да го направят/. Проекта е с отворен код.