Fallout 4 star диспетчер как перезагрузить компьютер

Обновлено: 21.11.2024

Недавно я использовал win32com.client от python в качестве API для приложений Windows, но мне трудно понять некоторые основные вещи.

Я использовал его с программой WEAP следующим образом

Теперь я хочу использовать его с Excel и нашел альтернативы предыдущим строкам, одна из них следующая (взято из Python: открыть книгу Excel с помощью Win32 COM Api)

Кто-нибудь знает разницу между использованием

и другие альтернативы? Кто-нибудь знает плюсы и минусы каждого из них? или какой-нибудь совет относительно того, когда следует использовать тот или иной?

Я искал совета и нашел несколько полезных ответов, например:

Однако они обычно сосредоточены на решении конкретных вопросов, а не на описании общей картины различий между Dispatch, gencache.EnsureDispatch и, возможно, другими альтернативами, чего я и хочу.

Мы будем очень признательны за любые советы.

2 ответа 2

Одна вещь, которую вам нужно прочитать, — это ссылка.

Я постараюсь коротко (наконец-то не так коротко к концу) ответить на ваш вопрос, но я не эксперт.

Когда вы создаете COM-объект с помощью Python, как Python узнает, какие методы и параметры доступны для этого объекта? Это связано с понятием раннего и позднего связывания.

Если вы попытаетесь создать COM-объект, который никогда раньше не использовали с помощью Dispatch, вы не будете знать, что доступно с вашим объектом. Если я сделаю это в Jupyter QtConsole:

Попробуйте xl_dis. чтобы увидеть, что я могу сделать после, у меня не будет выбора. Я в случае поздней привязки "python не знает, что может делать объект".

Если я сделаю то же самое с SureDispatch :

Во-первых, вы можете увидеть разницу на выходе, а затем, если я сделаю xl_ens. Я получу доступ к некоторым методам и параметрам. Сейчас я нахожусь в ранней привязке, и «python знает кое-что из того, что может делать объект».

Что происходит, так это то, что SureDispatch заставляет сначала запустить makepy.py (посмотрите в своей папке Lib\site-packages\win32com\client), чтобы создать папку в Lib\site-packages\win32com\gen_py, содержащую скрипты Python с некоторыми методы и параметры, связанные с этим COM-объектом.

Теперь, если вы повторите попытку в новой консоли с помощью Dispatch, вы получите точно такой же результат. Действительно, после использования SureDispatch папка, созданная ранее в win32com\gen_py, все еще существует, и «python все еще знает, что может делать объект». Чтобы поэкспериментировать самостоятельно, зайдите в свою папку \win32com\gen_py и удалите папку с данными excel (у меня имя 00020813-0000-0000-C000-000000000046x0x1x7 , не уверен, что у вас такое же).

Наконец, одно из различий между ними заключается в том, чтобы принудительно или без ранней привязки при первом создании COM-объекта, но если папка, связанная с вашим COM-объектом, уже существует в \win32com\gen_py , то большой разницы нет.< /p>

Некоторая информация относится к предварительной версии продукта, которая может быть существенно изменена до ее выпуска. Microsoft не дает никаких явных или подразумеваемых гарантий в отношении представленной здесь информации.

Предоставляет службы для управления очередью рабочих элементов для потока.

Примеры

В следующем примере показано, как поместить операцию в Dispatcher. Полный исходный код этого примера см. в разделе Пример однопоточного приложения с длительными вычислениями.

Сначала создается делегат, не принимающий аргументов.

Затем вызывается BeginInvoke(DispatcherPriority, Delegate). Этот вызов BeginInvoke(DispatcherPriority, Delegate) принимает два параметра: приоритет, для которого задано значение DispatcherPriority.Normal, и обратный вызов, который передается через экземпляр делегата NextPrimeDelegate .

Примечания

Диспетчер поддерживает приоритетную очередь рабочих элементов для определенного потока.

Когда Dispatcher создается в потоке, он становится единственным Dispatcher, который может быть связан с потоком, даже если Dispatcher закрыт.

Если вы попытаетесь получить CurrentDispatcher для текущего потока, а Dispatcher не связан с потоком, Dispatcher будет создан. Dispatcher также создается при создании DispatcherObject. Если вы создаете Dispatcher в фоновом потоке, не забудьте закрыть диспетчер перед выходом из потока.

Если Dispatcher закрыт, его нельзя перезапустить.

В WPF доступ к DispatcherObject может получить только Dispatcher, с которым он связан. Например, фоновый поток не может обновить содержимое кнопки, связанной с диспетчером в потоке пользовательского интерфейса. Чтобы фоновый поток мог получить доступ к свойству Content кнопки, фоновый поток должен делегировать работу диспетчеру, связанному с потоком пользовательского интерфейса. Это достигается с помощью Invoke или BeginInvoke. Invoke является синхронным, а BeginInvoke — асинхронным.Операция добавляется в очередь Dispatcher с указанным DispatcherPriority.

Если BeginInvoke вызывается для отключенного Dispatcher, для свойства состояния возвращенного DispatcherOperation устанавливается значение Aborted.

Все методы Dispatcher, за исключением DisableProcessing, являются бесплатными.

Объекты, производные от DispatcherObject, имеют привязку к потоку.

Объекты, производные от Freezable, являются свободными потоками, когда они заморожены. Дополнительные сведения см. в разделе Обзор объектов Freezable.

Свойства

Получает Dispatcher для выполняемого в данный момент потока и создает новый Dispatcher, если он еще не связан с потоком.

Определяет, завершило ли Dispatcher завершение работы.

Определяет, закрывается ли Dispatcher.

Получает набор перехватчиков, предоставляющих дополнительную информацию о событии Dispatcher.

Получает поток, с которым связан этот Dispatcher.

Методы

Выполняет указанный делегат асинхронно с указанными аргументами с указанным приоритетом в потоке, в котором был создан Dispatcher.

Выполняет указанный делегат асинхронно с указанными аргументами в потоке, в котором был создан Dispatcher.

Выполняет указанный делегат асинхронно с указанным приоритетом в потоке, с которым связан Dispatcher.

Выполняет указанный делегат асинхронно с указанным приоритетом и с указанным аргументом в потоке, с которым связан Dispatcher.

Выполняет указанный делегат асинхронно с указанным приоритетом и с указанным массивом аргументов в потоке, с которым связан Dispatcher.

Инициирует асинхронное завершение работы Dispatcher.

Определяет, является ли вызывающий поток потоком, связанным с этим Dispatcher.

Отключает обработку очереди Dispatcher.

Определяет, равен ли указанный объект текущему объекту.

Запрашивает выход из всех фреймов, включая вложенные фреймы.

Получает Dispatcher для указанного потока.

Служит хеш-функцией по умолчанию.

Получает тип текущего экземпляра.

Выполняет указанное действие синхронно в потоке, с которым связан Dispatcher.

Выполняет указанное действие синхронно с указанным приоритетом в потоке, с которым связан Dispatcher.

Выполняет указанное действие синхронно с указанным приоритетом в потоке, с которым связан Dispatcher.

Выполняет указанное действие синхронно с указанным приоритетом в потоке, с которым связан Dispatcher.

Выполняет указанный делегат с указанным приоритетом и указанными аргументами синхронно в потоке, с которым связан Dispatcher.

Выполняет указанный делегат с указанными аргументами синхронно в потоке, с которым связан Dispatcher.

Выполняет указанный делегат в указанный промежуток времени с указанным приоритетом и указанными аргументами синхронно в потоке, с которым связан Dispatcher.

Выполняет указанный делегат в указанный промежуток времени с указанным приоритетом и указанными аргументами синхронно в потоке, с которым связан Dispatcher.

Выполняет указанный делегат синхронно с указанным приоритетом в потоке, с которым связан Dispatcher.

Выполняет указанный делегат с указанным приоритетом и указанным аргументом синхронно в потоке, с которым связан Dispatcher.

Выполняет указанный делегат с указанным приоритетом и указанными аргументами синхронно в потоке, с которым связан Dispatcher.

Выполняет указанный делегат синхронно с указанным приоритетом и с указанным значением времени ожидания в потоке, который был создан Dispatcher.

Выполняет указанный делегат с указанным приоритетом и указанным аргументом синхронно в потоке, с которым связан Dispatcher.

Выполняет указанный делегат с указанным приоритетом и указанными аргументами синхронно в потоке, с которым связан Dispatcher.

Выполняет указанное действие асинхронно в потоке, с которым связан Dispatcher.

Выполняет указанное действие асинхронно с указанным приоритетом в потоке, с которым связан Dispatcher.

Выполняет указанное действие асинхронно с указанным приоритетом в потоке, с которым связан Dispatcher.

Синхронно инициирует процесс завершения работы Dispatcher.

Создает поверхностную копию текущего объекта.

Входит в цикл выполнения.

Отправляет основной кадр выполнения в очередь событий Dispatcher.

Возвращает строку, представляющую текущий объект.

Определяет, является ли указанный DispatcherPriority действительным приоритетом.

Определяет, имеет ли вызывающий поток доступ к этому Dispatcher.

Создает ожидаемый объект, который асинхронно возвращает управление текущему диспетчеру и дает диспетчеру возможность обрабатывать другие события.

Создает ожидаемый объект, который асинхронно возвращает управление текущему диспетчеру и дает возможность диспетчеру обрабатывать другие события. Работа, которая происходит, когда управление возвращается к коду, ожидающему результата этого метода, запланирована с указанным приоритетом.

События

Происходит после завершения работы Dispatcher.

Происходит, когда Dispatcher начинает выключаться.

Происходит, когда исключение потока возникает и не перехватывается во время выполнения делегата посредством Invoke или BeginInvoke.

Происходит, когда исключение потока создается и не перехватывается во время выполнения делегата с помощью Invoke или BeginInvoke на этапе фильтрации.

Методы расширения

Выполняет указанный делегат асинхронно с обычным приоритетом в потоке, в котором был создан указанный Dispatcher.

Выполняет указанный делегат асинхронно с указанным приоритетом в потоке, в котором был создан указанный Dispatcher.

Выполняет указанный делегат синхронно с обычным приоритетом в потоке, в котором был создан указанный Dispatcher.

Выполняет указанный делегат синхронно в потоке, в котором был создан указанный Dispatcher, и останавливает выполнение по истечении указанного времени ожидания.

Выполняет указанный делегат синхронно с указанным приоритетом в потоке, в котором был создан указанный Dispatcher, и останавливает выполнение по истечении указанного времени ожидания.

Выполняет указанный делегат синхронно с указанным приоритетом в потоке, в котором был создан указанный Dispatcher.

Недавно я использовал win32com.client от python в качестве API для приложений Windows, но мне трудно понять некоторые основные вещи.

Я использовал его с программой WEAP следующим образом

Теперь я хочу использовать его с Excel и нашел альтернативы предыдущим строкам, одна из них следующая (взято из Python: открыть книгу Excel с помощью Win32 COM Api)

Кто-нибудь знает разницу между использованием

и другие альтернативы? Кто-нибудь знает плюсы и минусы каждого из них? или какой-нибудь совет относительно того, когда следует использовать тот или иной?

Я искал совета и нашел несколько полезных ответов, например:

Однако они обычно сосредоточены на решении конкретных вопросов, а не на описании общей картины различий между Dispatch, gencache.EnsureDispatch и, возможно, другими альтернативами, чего я и хочу.

Мы будем очень признательны за любые советы.

2 ответа 2

Одна вещь, которую вам нужно прочитать, — это ссылка.

Я постараюсь коротко (наконец-то не так коротко к концу) ответить на ваш вопрос, но я не эксперт.

Когда вы создаете COM-объект с помощью Python, как Python узнает, какие методы и параметры доступны для этого объекта? Это связано с понятием раннего и позднего связывания.

Если вы попытаетесь создать COM-объект, который никогда раньше не использовали с помощью Dispatch, вы не будете знать, что доступно с вашим объектом. Если я сделаю это в Jupyter QtConsole:

Попробуйте xl_dis. чтобы увидеть, что я могу сделать после, у меня не будет выбора. Я в случае поздней привязки "python не знает, что может делать объект".

Если я сделаю то же самое с SureDispatch :

Во-первых, вы можете увидеть разницу на выходе, а затем, если я сделаю xl_ens. Я получу доступ к некоторым методам и параметрам. Сейчас я нахожусь в ранней привязке, и «python знает кое-что из того, что может делать объект».

Что происходит, так это то, что SureDispatch заставляет сначала запустить makepy.py (посмотрите в своей папке Lib\site-packages\win32com\client), чтобы создать папку в Lib\site-packages\win32com\gen_py, содержащую скрипты Python с некоторыми методы и параметры, связанные с этим COM-объектом.

Теперь, если вы повторите попытку в новой консоли с помощью Dispatch, вы получите точно такой же результат. Действительно, после использования SureDispatch папка, созданная ранее в win32com\gen_py, все еще существует, и «python все еще знает, что может делать объект». Чтобы поэкспериментировать самостоятельно, зайдите в свою папку \win32com\gen_py и удалите папку с данными excel (у меня имя 00020813-0000-0000-C000-000000000046x0x1x7 , не уверен, что у вас такое же).

Наконец, одно из различий между ними заключается в том, чтобы принудительно или без ранней привязки при первом создании COM-объекта, но если папка, связанная с вашим COM-объектом, уже существует в \win32com\gen_py , то большой разницы нет.< /p>

Star Control — побочный квест в дополнении Fallout 4 Nuka-World.

Содержание

Краткое руководство

Подробное пошаговое руководство

Приблизившись к Галактической Зоне, персонаж игрока заметит большое количество трупов и уничтоженных роботов, лежащих у входа. Одно из тел принадлежит Тиане Алстон, у которой есть голозапись. Прочтите ленту, чтобы узнать о находке мейнфрейма Star Control, расположенного в космопорте Ядер недалеко от центра зоны.

Проходя через стеклянную дверь (мимо витрины с силовой броней Quantum X-01), на задней стене находится мэйнфрейм. Для загрузки требуется звездное ядро, которое можно найти в руке ближайшего трупа Кенделла Алстона. Прикрепите ядро ​​к одной из множества пустых панелей, окружающих мэйнфрейм, чтобы активировать его. Отсюда нужно будет найти оставшуюся часть звездных ядер. Всего их 35, включая ту, что держала Кендалл. Для ядер в Галактической Зоне поможет наличие трех уровней перка Слесарь, но ключи можно легко найти.

После каждых пяти установленных ядер персонаж игрока может отключить определенный тип роботов, что упрощает исследование Галактической зоны и поиск дополнительных ядер. При установке не менее 20 ядер мошеннические роботы могут быть выведены из режима защиты. Установив все 35 ядер, персонаж игрока может разблокировать витрину с силовой броней Quantum X-01.

Чтобы завершить квест, персонаж игрока должен назначить одну из трех банд рейдеров в Галактическую зону. Для этого персонаж игрока должен поднять флаг выбранной банды на втором этаже космопорта Ядер.

Основные локации звезды

Всего 35 звездных ядер.

  • Шесть можно найти в Vault-Tec: Among the Stars.
    • Один в выставочной зоне Арктур ​​Прайм, охраняемый протектронами, за запертой дверью.
    • Один в гостиной, за запертой дверью.
    • Один в сильно облученной комнате, куда можно попасть через гостиную.
    • Трое в центре наблюдения рядом с главным офисом, за дверью с главным замком.
    • Двое в диспетчерской с видом на арену. За запертой дверью в зоне отдыха слева от входа.
    • Один в сувенирном магазине под сиденьями, на полке.
    • Один в туннелях под ареной, на консоли, под охраной сторожевого робота.
    • Двое на арене. Попытка покинуть зону выпустит три волны боевых роботов.
    • Один в мужских туалетах слева от входа, рядом с телом внутри поврежденного участка стены.
    • Один через кухню справа от входа, за задней дверью.
    • Один в самом кинотеатре, на консоли напротив экрана.
    • Один в диспетчерской на верхнем уровне.
    • Один в зоне посадки, за дверью с правой стороны, недалеко от рельсов.
    • Из последней комнаты следуйте по дорожкам в большую комнату со множеством больших планет. На противоположной стороне несколько лестниц, ведущих вниз. Дверь через эту комнату ведет в коридор, на полпути через который с консоли можно взять еще одно ядро.
    • Идите по этому коридору и поднимитесь на лифте слева. Оказавшись в подвале, войдите в следующую комнату через проем слева от лифта и заберите ядро ​​с консоли прямо впереди.
    • Пройдя каменистую местность, поднимитесь по длинной лестнице за потайной дверью. Вернувшись на дорожку, ядро ​​можно найти на консоли вверх по лестнице прямо слева.
    • Один в консоли в конце аттракциона возле зоны высадки (напротив манекена в ракетном костюме Nuka-Girl) вместе с ключом.
    • Один в офисе на верхнем этаже, доступный через дверь, которую можно открыть с помощью вышеупомянутого ключа.
    • Один в небольшой комнате управления с несколькими разрушенными протектронами рядом с офисом.
    • Один перед мэйнфреймом, рядом с телом.
    • Один на верхнем уровне над мэйнфреймом, в запертой витрине.
    • Один на уровне земли за запертыми воротами, рядом с телом возле мусорных баков.
    • Один на консоли в нижней части длинной изогнутой рампы, известной как выход в открытый космос.
    • Один на верхнем этаже космопорта. Доступ к этому ядру можно получить только после восстановления подачи электроэнергии в парк после завершения Power Play или Open Season.
    • Один в будке управления Splashdown прямо справа от входа в Nuka-Galaxy.
    • Один в ArcJet G-Force, на вершине высокой лестницы.
    • Один на рынке в Ядер-Тауне, на столе слева от Шелби Чейз, торговца вещами.
    • Один в Ядер-каде, на оружейном верстаке в рабочей зоне.
    • Один на свалке ядер-мира, на втором уровне большого сарая. Он может возродиться, см. Ошибки.
    • Один в Ущелье Сухой Скалы, рядом с телом к ​​югу от Гиддипа Кида, рядом с фонарным столбом.
    • Один в Мире Освежения, в районе Квантовой Ядер-Колы, рядом с трупом Стрелка.

    Этапы квеста

    Этапы квеста
    ЭтапСтатусОписаниеЗапись журнала
    20 Исследуйте место битвыНедалеко от Галактической зоны я нашел остатки битвы между группой торговцев и несколькими роботами. Что здесь произошло?
    30 Прочитать журнал ТианыНедалеко от галактической зоны я нашел остатки битвы между группой торговцев и несколькими роботами. У одного из торговцев была голозапись, которая могла объяснить, что здесь произошло.
    35 Найти Звездный контроль Недалеко от галактической зоны я нашел останки нескольких торговцев, которые пытались сбежать от роботов в этой зоне. Голозапись на одном из тел упоминала мейнфрейм под названием Star Control, который может быть связан с атакой.
    40 Исследуйте мейнфреймВ центре Галактической зоны находится мейнфрейм под названием Star Control. Здесь может быть больше информации о том, что случилось с роботами.
    50 Find a Star Core< /td>Галактическая зона Nuka-World управлялась мэйнфреймом Star Control. Чтобы перезапустить его, мне нужно найти компонент, который называется Star Core.
    60 Установите Star CoreГалактическая зона Nuka-World управлялась мейнфреймом Star Control. Чтобы перезапустить его, мне нужно установить одно из недостающих звездных ядер.
    70 Перезагрузить мэйнфреймГалактическая зона Nuka-World управлялась мейнфреймом Star Control. Я установил Star Core, поэтому теперь я могу перезапустить его.
    80 Ремонт мэйнфреймаГалактическая зона Nuka-World управлялась мейнфреймом Star Control, но группа торговцев лишила его звездных ядер, необходимых для поддержания порядка. Чтобы обезопасить зону, мне нужно найти Ядра или уничтожить всех роботов и защиту.
    81 (Необязательно) Зачистите галактическую зону
    100 Найдите звездные ядра на территории галактической зоны< /td>
    101 (Необязательно) Зачистить территорию Галактической зоны
    110 (Необязательно) Очистить Nuka-Galaxy
    111 Найдите звездные ядра в межзвездном театре Starlight
    120 (Необязательно) Зачистить Межзвездный театр Звездного света
    130 Найти звездные ядра в Vault-Tec: Among the Stars
    131 (необязательно) Очистить Vault-Tec: Among the Stars
    140 Найдите звездные ядра в зоне боевых действий РобКо
    141 (Необязательно) Зачистите зону боевых действий РобКо
    150 Найти звездные ядра за пределами галактической зоны
    200 Используйте мейнфрейм для Защитите зонуГалактическая зона Nuka-World управлялась мейнфреймом Star Control, но группа торговцев лишила его звездных ядер, необходимых для поддержания порядка. Я нашел и заменил Ядра. Как только я его перезапущу, он сможет защитить зону.
    201 (Необязательно) Очистить галактическая зона
    1000 Назначить банду галактической зоне
    1500 Квест выполнен Я захватил Галактическую Зону и потребовал ее для одной из моих банд.
    1600 Выгнали рейдеры.

    Примечания

    После того, как электростанция Nuka-World будет восстановлена, лифт над мэйнфреймом будет включен, и 35-е звездное ядро ​​станет доступным.Размещение всех звездных ядер в мейнфрейме позволит Единственному выжившему использовать терминал мэйнфрейма, чтобы открыть витрину и получить доступ к силовой броне Quantum X-01.

    Читайте также: