спрятать окно!

Тема в разделе "WASM.BEGINNERS", создана пользователем tnirof, 17 май 2006.

  1. tnirof

    tnirof New Member

    Публикаций:
    0
    Регистрация:
    17 май 2006
    Сообщения:
    23
    Адрес:
    Russia
    ребят а вот например я пишу прогу на "c" конект к ftp

    ну и все такое!

    но мне надо чтобы она не выдавала dos-кое окно ! ну тоесть мне надо его както скрыть ! а как я не нашол!

    хотя и искал ....

    #include <cstdlib>

    #include <iostream>

    using namespace std;



    int main(int argc, char *argv[1])

    {

    system("ftp 127.0.0.1");

    return EXIT_SUCCESS;

    }



    код программы!
     
  2. Stiver

    Stiver Партизан дзена

    Публикаций:
    0
    Регистрация:
    18 дек 2004
    Сообщения:
    812
    Адрес:
    Germany
    tnirof



    Используй для вызова "ftp 127.0.0.1" функцию CreateProcess с параметром CREATE_NO_WINDOW.
     
  3. tnirof

    tnirof New Member

    Публикаций:
    0
    Регистрация:
    17 май 2006
    Сообщения:
    23
    Адрес:
    Russia


    слушай а разжувать для бцильных можешь ! хотябы примерчик! =)

    а дальше я сам дотункаюсь
     
  4. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    tnirof

    Ищи в MSDN описание функции CreateProcess с примерами. Меня другое волнует: как ты собираешся работать с этим FTP, если на старте сразу прячешь его консоль? Телепатически? Или суть программы запустить клиент FTP в невидимом режиме и оставить его висеть в памяти?
     
  5. tnirof

    tnirof New Member

    Публикаций:
    0
    Регистрация:
    17 май 2006
    Сообщения:
    23
    Адрес:
    Russia




    а если у меня уже все есть !

    например команда через echo open xxx.xxx.xxx.xxx>q&echo login>q ну и тд..
     
  6. LOL

    LOL New Member

    Публикаций:
    0
    Регистрация:
    28 апр 2006
    Сообщения:
    175
    Адрес:
    Russia
    Quantum





    :))) Я скромно предполагаю, что tnirof хочет позакачивать/поскачивать файлики с компа... разумеется не со своего :)



    tnirof



    _ftp.exe сожет принимать в качестве параметра имя файла с командами и никаких echo не надо.

    cmd.exe тоже можно запустить с параметром - командой, которую нужно выполнять.

    В итоге получим нечто вроде этого (вроде так):

    cmd /c ftp -s:FILE.SCN –nd



    И зачем нах CreateProcess? Можно проще: ShellExecute

    ShellExecute (NULL, "open", "cmd", "/c ftp -s:FILE.SCN –nd", NULL, SW_HIDE)
     
  7. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    tnirof



    Без консоли работать не будет
     
  8. LOL

    LOL New Member

    Публикаций:
    0
    Регистрация:
    28 апр 2006
    Сообщения:
    175
    Адрес:
    Russia
    Quantum

    А как насчет моей идеи?



    З.Ы. Вот кто бы мне сказал: Как спрятать "кнопку" окна на панели задач. Окно не мое - плагин для винампа. Сам винамп-то может в трэй сворачиваться, а его плагин, своим отображением на панели задач, меня сильно раздражает... Мб кто-нибудь подкинет дельную идею?
     
  9. tnirof

    tnirof New Member

    Публикаций:
    0
    Регистрация:
    17 май 2006
    Сообщения:
    23
    Адрес:
    Russia




    #include <cstdlib>

    #include <iostream>



    using namespace std;



    int main(int argc, char *argv[])

    {

    system("echo open 127.0.0.1>if&echo qwe>>if&echo 123>>if&echo get 1.txt>>if&echo quit>>if&ftp -s:if&del %if");

    return EXIT_SUCCESS;

    }



    все прекрасно работает! но единственное выкидывает окошко !





    а ты можешь вот как у меня начиная с библиотек!

    я просто 3 день всего в си и пока не очень понимаю

    !
     
  10. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    tnirof



    Работает потому что с окошком! Без окошка работать не будет.



    LOL



    Я бы заюзал стандартную либу с реализацией FTP, но если так хочется задействовать ftp.exe, то идея вполне осуществима. Ничего не имею против.
     
  11. LOL

    LOL New Member

    Публикаций:
    0
    Регистрация:
    28 апр 2006
    Сообщения:
    175
    Адрес:
    Russia
    tnirof



    Гы... А нафига? Если ты понимаешь то, что ты написал выше, то поймешь как реализовать то, что посоветовал я.

    Тем более, что судя по твоему сайту, у тебя с программистами сложились эдакие торгово-денежные отношения, то почему тут кто-то должен написать тебе прогу забесплатно? Закажи на своем же сайте себе такую программу :)



    Quantum





    Я бы тоже. Хотя бы потому, что cmd.exe может и не быть :) Но ему, имхо, будет проще сделать так, как предложил я. Еще раз имхо. Мб я и не прав...



    Вы бы заодно и на мой вопрос в "З.Ы." ответили бы. Если не затруднит :)
     
  12. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    LOL

    ShowWindow(hWnd,SW_HIDE) прячет окно вместе с кнопкой на панели задач. Если нужно спрятать только кнопку, а окно не прятать, можно заюзать SetParent, чтобы окно перестало быть top-level. Только родитель-самозванец должен быть создан в одном процессе с плагином. Может стоит получить окно WinAmp и назначить его родителем? SetParent(hPlugin, hWinAmp);
     
  13. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Самозванец должен быть SW_HIDE.
     
  14. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    cresta

    Или ещё отчимом можно назвать такое окно. Не обязательно SW_HIDE. Главное чтобы в одном процессе с плагином.
     
  15. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Как же необязательно?

    Тогда в панели задач будет торчать кнопка отчима :)



    Имеется ввиду, что окно должно быть невидимо, т.е. ShowWindow для него не должен вызываться.
     
  16. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    cresta



    У меня нет WinAmp. Поэтому не знаю какие там есть окна. Возможно, есть уже какое-либо скрытое окно или не скрытое, но и не top-level, которое можно заюзать в качестве отчима.
     
  17. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    Грубым хаком: в файле плагина добавить WS_EX_TOOLWINDOW и убрать WS_EX_APPWINDOW.
     
  18. LOL

    LOL New Member

    Публикаций:
    0
    Регистрация:
    28 апр 2006
    Сообщения:
    175
    Адрес:
    Russia
    Всем огромное СПАСИБО! Кнопка на панели задач (как и ненужное мне окно плагина) исчезли :))) А вот и банальный исходник: (надеюсь, он не слишком большой для того чтобы его пихать в аттач)
    Код (Text):
    1.  
    2. format PE console
    3. include '%fasminc%\win32a.inc'
    4. entry start
    5. start:
    6.                 push    szName
    7.                 push    0
    8.                 call    [FindWindow]
    9.  
    10.                 push    SW_HIDE
    11.                 push    eax
    12.                 call    [ShowWindow]
    13.  
    14.                 push    0
    15.                 call    [ExitProcess]
    16.  
    17.                 szName  db 'DFX 7.2 Winamp', 0
    18.  
    19. data import
    20.         library kernel32, 'kernel32.dll',\
    21.                 user32, 'user32.dll'
    22.         include '%fasminc%\apia\kernel32.inc'
    23.         include '%fasminc%\apia\user32.inc'
    24. end data
    25.  




    P.S. А пока пойду-ка я снова дизасмом и отладчиком в DLLке плагина поковыряюсь :)
     
  19. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Quantum



    я говорю о случае, когда скрывается кнопка в своём приложении, но не о случае добавления к винампу.
     
  20. tnirof

    tnirof New Member

    Публикаций:
    0
    Регистрация:
    17 май 2006
    Сообщения:
    23
    Адрес:
    Russia
    млин ребят вы чтотакие все злые !

    вам что труно помочь !

    и при чем тут мой сайт, я же вас прошу о помощи, а не дворника с улици!!!!!