Подал таким макаром, звонок проходит, данные нет. На линии есть много пульсаций, одними конденсаторами удалось их только убавить, до конца пока не извёл. Видимо, надо городить хитрый LC (LCR) фильтр. Если взять 2-полупериодный выпрямитель, всё отлично, кроме того, что на звонок не хватает обмоток трансформатора, мало вольт. Да и по госстандарту там должна быть постоянная составляющая даже на время звонка.
CityCat4, Wexter, Lander, мне не посчастливилось посидеть на dial-up, сначала ходил через дорогую выделенку, потом через куда более дешёвые ADSL, DOCSIS, теперь через GPON. Модемных провайдеров в городе не осталось, да и через GPON, по слухам (сам не проверял), хорошей скорости не получить.
И тут нашёл трансформатор от Б5-46, к обмотке на 30 вольт приделал мост, пару конденсаторов от ADSL-сплиттера и 4 резистора [ https://pp.userapi.com/c824600/v824600112/3472/CfC... / https://pp.userapi.com/c639328/v639328504/535ec/6n... ], и на сети с напряжением всего 35 вольт модемы пропищали, и без проблем увидели друг друга. Ещё пробовал с 2 кронами, тоже заработало, но кроны быстро сели.
Интересно хотя бы раз в жизни выйти в интернет через такое соединение. Железо аутентичное, первопни 75 и 266 МГц (хотя с модемом есть и посвежее железо под Win8.1, там можно сделать шлюз даже с WiFi).
Как вариант, проверить наличие файлов, свойственных .NET 4.6, и если их нет, скачать с сервера M$ инсталлятор (тут я точно не помню, раньше URL были фиксированными, download.microsoft.com/..., сейчас могло поменяться), после чего запустить его в unattended режиме. Через установку компонентов неты старше 3.5 не ставятся.
Естественно, проверялка должна быть написана на нативном для винды фреймворке, или хотя бы на VB6 (msvbvm в виндах с поддержкой .NET 4.6 имеется).
Оптимус Пьян: Всё зависит от хитрости админа. Если в общем - то искать надо несвойственные системе и установленным программам обращения к файлам, сети, странные ключи реестра (особенно в выдаче программы Autoruns). Конкретнее это надо знать что установлено и как настроено. В идеале надо установить такую же винду, софт на такой же компьютер, не подключая к сети, затем сравнить реестр и логи того же Process Monitor (в идеале - всех программ). Потом сделать так, чтобы они не отличались, за исключением выставленного руками имени домена. :)
@KirillHelm
>Это скачал с интернета его пользователь.
...и он же снял галочку (вернее, нажал кнопку "Разблокировать"). Если не осилил, то лучше такому юзеру идти лесом, ибо проблем доставит выше крыши.
Там внизу есть "гиперссылка" мелкими буквами, по нажатию на которую вылезает выбор - "запустить на свой страх и риск" или "сохранить безопасность, и не запускать ничего". Вот и надо написать в readme, что надо отключить антивирус, брандмауэр и все системы безопасности (шутка, достаточно написать про этот SmartScreen, если Вы пишете не кейген/кряк образца середины нулевых с вирусом в комплекте).
d-stream: тут я хочу отделить GUI от ядра и всех плагинов, при этом сам GUI это тоже плагин. Грубо говоря сделать backend и frontend в обычной десктопной программе, и плюс возможность расширения функционала backend'а через плагины. При этом между GUI и плагинами должна обеспечиваться двухстороняя связь. Типа как в Firefox/SeaMonkey, где в C++ коде зашиты только базовые функции, а GUI и доп.функции реализуются через XUL+JavaScript. Только пихать ещё один интерпретатор в .NET программу это уже слишком большое извращение, благо, через средства CLR можно отделаться C#/VB.NET/J# и тулкитом Xwt для GUI (только для плагинов, которым нужен полноценный GUI).
d-stream: как я понял из документации, MEF не позволяет грузить несколько экземпляров одинаковых плагинов в массив (точнее, List<плагин> plugins = new List<плагин>) и обращаться к ним через этот массив по номеру.
У меня по мере необходимости подгружается новый экземпляр нужного плагина в массив, и с ним выполняется работа (object результат; int код_возврата=plugins[номер].RunCommand("имя функции", аргументы, out результат)), либо идёт работа с уже загруженным экземпляром до тех пор, пока этот экземпляр не потеряет актуальность. Это основа архитектуры.
При этом плагины иногда обращаются к хосту, в т.ч. ради передачи информации другим плагинам путём вызова у них вышеуказанной функции RunCommand. И вот как реализовать возврат данных от плагина к плагину никак не разберусь. Вызывать хост через делегаты - пожалуйста, но вот стоит вызвать делегат из другой сборки, как он превращается в тыкву, и вылезает Microsoft.CSharp.RuntimeBinder.RuntimeBinderException. Ничего не пойму, вроде ж в CLR есть утиная типизация?
1 вариант. Через EasyBCD галочка разрешить загрузку неподписанных драйверов стоит? Если не ставится даже после запуска консольной команды, значит её надо поставить через EasyBCD (или покурить мануалы по теме BCD и грамотно поставить параметр загрузки руками, но GUI в данном случае надёжнее).
2 вариант. Пишут, что при включённом Secure Boot в UEFI отключение проверки подписи не работает, надо отключать это извращение (Secure Boot).
kir_cipher: а что, суть та же. Если нужно обеспечить ввод с клавиатуры - можно перехватывать события с формы, не забыв про обработку Ctrl+V, Shift+Ins. Мышкой тыкаться в пустое место я думаю никто не будет, так что про контекстное меню можно не думать.
Ключи к нему есть в интернете, так что платность условная.
Если операторы ЭВМ снять пароль не просят, то можно заходить по RDP, и далее через Сетевое окружение руками запускать exe'шник.
Подал таким макаром, звонок проходит, данные нет. На линии есть много пульсаций, одними конденсаторами удалось их только убавить, до конца пока не извёл. Видимо, надо городить хитрый LC (LCR) фильтр. Если взять 2-полупериодный выпрямитель, всё отлично, кроме того, что на звонок не хватает обмоток трансформатора, мало вольт. Да и по госстандарту там должна быть постоянная составляющая даже на время звонка.