ФорумПрограммированиеБольше языковJava → Реально ли подключиться к сети в Windows с помощью java-приложения?

Реально ли подключиться к сети в Windows с помощью java-приложения?

  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 29 сентября 2010 г. 5:22

    Много букв. Нужно детализировано осветлить все подробности.
    Надо проделать с помощь джава приложения один хитрожопый алгоритм…

    Итак, поехали…
    1. То что можно запускать exe приложения изнутри программы java, я в курсе…
    Нашел
    Process proc = Runtime.getRuntime().exec("myapp.exe");

    Но это не совсем то что нужно. А нужно - подключиться к вебсети НЕ через exe, а через подключение типа мост, созданное пользователем заранее…
    Тоесть если бы это делал пользователь - он бы кликал на ярлык подключения, там вводил логин и пароль и только тогда бы подключался… (заметим, однако, что тот весь процесс сопровождаеться gui, при воздействии которого, если юзер не подконнектится - то выпадет окно, в котором через 15 сек. опять произойдет попытка подключится если с 1го раза не выйдет) … Добавлю, однако - что сначала какимто образом еще надо проверить, в каком состоянии подключение чтобы лишний раз не конектится если конект в порядке.
    - возможно ли это на джаве? Если да - то где рыть? в платформенно-зависимых/ориентированых инструментах для винды(но там по большому счету - работа с реестром)…
    Или же - реальнее проделать в скриптовом bat-файле, которого в свою очередь можно запустить из джавы(если его можно оттуда вообще запустить)….?

    2. Еще одна ложка дегтя в мёд: нужно закрыть внешнее (не относящееся к предыдущему пункту вообще) exe приложение. Искал, чтото не нарыл. Но какбы то ни было - это задача попроще предыдущей на мой взгляд, но возможно ли это…(?)

    3. Нужно это приложение открыть. Тут вопросов нету(просто для галочки написал пункт) - я написал раннее что нашел решение…

    Буду благодарен за любую помощь).
    Зачем это делать)? соединение часто пропадает - и мне влом каждых полчаса выслежывать, не пропало ли оно - а поставить TimerTask, который сам бы проверял не надо ли коннектится опять… ну а дальше конектить, если так надо…
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 29 сентября 2010 г. 6:19, спустя 56 минут 50 секунд

  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 29 сентября 2010 г. 8:17, спустя 1 час 57 минут 29 секунд

    делаешь пинг ресурса какого нить по ипу, винда понимает что в сеть ломятся и если есть выбранное по дефолту подключение, то юзеру предложат его использовать. если я понял чо ты хочешь)
    Сапожник без сапог
  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 29 сентября 2010 г. 9:24, спустя 1 час 7 минут 1 секунду

    Ну допустим, я смогу выловить результат пинга через запуск консоли из приложения… Но это только проверка на соиденение.
    Или ты имеешь ввиду - сделать соиденение через консоль? Кстати - а это возможно? Если да, то это уже хорошо: гораздо проще текстом явно указать чего ты хошь….
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 29 сентября 2010 г. 9:30, спустя 6 минут 2 секунды

    будь лаконично
    Сапожник без сапог
  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 29 сентября 2010 г. 15:17, спустя 5 часов 46 минут 49 секунд

    Кстати, если кому надо - установить соединение посредством консоли можно с помощью команды rasdial
    see <rasdial /?> for more…
  • Rotten

    Сообщения: 2243 Репутация: N Группа: Адекваты

    Spritz 30 сентября 2010 г. 10:38, спустя 19 часов 20 минут 57 секунд

    Хорошый способ закрыть внешнее приложение изнутри: если для внешнего приложения не предусмотрена консольнай команда "завершить", тогда - почему бы не симитировать закрытие этого приложения самому? Правда в таком случае не помешало бы хотябы наличие консольной команды - "поверх всех окон" этого же приложения. Ну, а если нет - то симитировать нажатие "ALT+TAB" (выбор будет чередоваться между своим приложением и внешним)…

    Потом либо курсором миши, либо хоткеями имитируем клик/нажатия клавиш на ивент "меню->выйти", и вуаля…
    Некоторые советуют что мол можно убить процес через консоль - но не всегда этот брутфорс приемлем. И не для все программ подходит.. Например как в случае utorrent(я его как раз и подразумевал в качестве того внешнего приложения).

Пожалуйста, авторизуйтесь, чтобы написать комментарий!