36

Моя машина (Windows 7 64-bit) занимает около 3-4 минут, чтобы полностью загрузиться. Есть ли способ указать, что загрузка завершена, какой-то звук / всплывающее окно, либо с помощью встроенной функции Windows, либо с помощью любого стороннего приложения?

Требуется, когда оба окна и все программы запуска закончили загрузку

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

Вот как это выглядит, когда индикатор жесткого диска перестает мигать:

11 ответов11

24

Здесь есть несколько потенциально полезных ответов, но я думаю, что есть два важных момента, которые не были сделаны:

  1. Нет, невозможно программно определить, что Windows и все запускаемые программы завершили загрузку. По сути, это проблема остановки, и никакая программа не сможет ответить на вопрос «Для этой произвольной программы, в какой момент мы должны сказать, что она была загружена?».

  2. Какую реальную проблему вы пытаетесь решить? Все ответы здесь пытаются найти решение вашего вопроса, но сам вопрос кажется, что в нем может отсутствовать некоторая важная информация. Мы хотим решить вашу проблему, а не просто ответить на вопрос.

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

  • Просто не беспокойтесь об этом и начните использовать свой компьютер. Задачи переднего плана являются приоритетными, и если у вас нет чего-то действительно необычного, это не должно иметь значения, если фоновые задачи выполняются.

Или же:

  • Вручную просмотрите систему несколько раз и определите максимальное время, необходимое для того, чтобы система была "готова", в зависимости от того, какие у вас показатели. Получите небольшую программу или скрипт для таймера и добавьте ее в автозагрузку вашей системы. Он может отображать сообщение или воспроизводить звук по истечении выбранного вами времени.

Это может не отвечать непосредственно на ваш текущий вопрос, но, надеюсь, это полезно.

11

Почему бы не использовать Windows Task Scheduler и Event ID 100 для воспроизведения пользовательского звука, когда Windows действительно закончена?

В разделе "Триггеры" выберите "По событию" и

  • Журнал: LogMicrosoft-Windows-Диагностика-Производительность / Оперативный
  • Источник: Диагностика-Производительность
  • Код события: 100

В разделе "Действия" выберите "Запустить программу" с помощью

8

У меня установлена бесплатная программа, которой я давно пользуюсь, Soluto: https://www.soluto.com/

Я просто пользователь, не подключен.

Меня устраивает.

Он выполняет обратный отсчет и позволяет выбрать только то, что вы хотите загрузить при загрузке.

Это также позволяет отложить запуск.

8

Windows будет считать загрузку завершенной, если она простаивала на 80% (исключая низкоприоритетные ЦП и активность диска) в течение 10 секунд после достижения рабочего стола.

Чтобы узнать точное время загрузки, используйте xbootmgr, чтобы отследить, почему Windows загружается медленно.

5

Запустите этот скрипт Python при запуске. Он будет воспроизводить звук запуска после того, как загрузка процессора будет ниже 20 процентов в течение 5 последовательных секунд:

import subprocess
import time

# set these to whatever works for you
# sound will play when cpu load has been < IDLE_PERCENT for IDLE_TIME consecutive seconds
IDLE_TIME = 5
IDLE_PERCENT = 20

# you can execute any program you want by changing the alert function below


def get_load():
    output = subprocess.check_output('wmic cpu get loadpercentage', shell=True)
    load = output.split()[1]
    return int(load)

def alert():
    subprocess.call([
        r"c:\Program Files (x86)\Windows Media Player\wmplayer.exe",
        r"c:\Windows\Media\Windows Logon Sound.wav"])


idleSeconds = 0

while idleSeconds < IDLE_TIME:
    load = get_load()
    if load < IDLE_PERCENT:
        idleSeconds += 1
    else:
        idleSeconds = 0

    time.sleep(1)

alert()
2

Вы можете добавить звук для запуска.

Вы можете отложить запуск процессов и поставить звуковой эффект, который будет выполнен первым. Инструмент Startup Delayer делает это.

2

Это может быть не очень эффективно, но это дешево.

Я обычно смотрю на индикатор активности жесткого диска (вы можете определить его на корпусе по значку, похожему на значок базы данных), пока индикатор не стабилизируется и не мигает редко, тогда я знаю, что теперь я могу использовать ПК без особых задержек. Жесткий диск обычно является узким местом ПК, и если он не используется интенсивно, у вас есть место для работы.

Надеюсь, это поможет.

0

Я искал что-то вроде этого, и я нашел ответ

Фактический код я опубликую позже, вероятно, но здесь это идет

http://msdn.microsoft.com/en-us/library/aa394226%28v=vs.85%29.aspx

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

Чтобы найти завершение последовательности загрузки, нужно запустить этот сценарий только до тех пор, пока идентификатор события не станет равным «100», что соответствует процессу завершения загрузки в системных событиях.

см. http://www.howtogeek.com/72420/how-to-use-event-viewer-to-find-your-pcs-boot-time/

Таким образом, когда у вас есть этот скрипт при запуске, он будет опрашивать все события и ждать, пока идентификатор события не станет равным 100, и предупредить вас. то же самое можно использовать в любом скриптовом инструменте, таком как autoit

Просто хотел, чтобы все это знали. потому что когда я искал это. все, что я нашел, было идеей планировщика задач Windows или Soluto в лучшем случае. на самом деле Soluto перестал работать на моем компьютере x64 по какой-то странной причине. поэтому я хотел сделать сценарий сам, который привел меня к этому окончательному решению ....

0

Я никогда не использовал его сам, но Windows Task Scheduler позволит вам создать задачу, которая запускается для запуска "При запуске" или "При входе в систему". Возможно, вы сможете запланировать задачу для запуска сценария powershell для доступа к консоли.Beep() метод .NET Framework. Возможно, вы даже сможете превратить его в приличную мелодию.

С Эй, автор сценариев!Блог

[console]::beep(500,300)

Измените значение первого числа, чтобы изменить высоту тона (что-либо ниже 190 или выше, чем 8500, не будет слышно), и измените значение второго числа, чтобы изменить длительность.

Редактировать: Как оказалось, Консоль.Метод Beep() может не работать на 64-битных системах в соответствии с документацией MSDN .NET. Протестирован звуковой сигнал в скрипте PowerShell, и он работает нормально.

Вы также можете проверить свои процессы запуска. Вы можете сделать это, запустив msconfig и нажав на сервисы. Вы также можете использовать инструмент Sysinternals Autoruns.

0

По документации Windows последней в порядке загрузки является реестр currentuser/runOnce (после папки запуска) ... но, какой бы ни был порядок загрузки, некоторые программы могут занимать длительное время запуска.

Так что, возможно, хорошим решением будет отслеживание активности процессора в командном файле:

@echo off
setlocal ENABLEDELAYEDEXPANSION
set cpuLimit=15
set /a lowCount=0

for /l %%i in (1,1,30) do (
   for /F %%c in ('wmic cpu get loadpercentage ^| findstr "[0-9]"') do (
       echo %%i cpu-Load: %%c  ...lowCnt: !lowCount!
      if %%c gtr %cpuLimit% ( set lowCount=0
      ) else ( set /a lowCount+=1
         if !lowCount! gtr 10 (
            ECHO BEEEEEEP ... mplay32 beep.wav... or something
            exit
         )
      )
   )
   ping -n1 127.0.0.1 >NUL
)

... и ОСТАЛОСЬ после того, как отметили, что в последних 10 проверках загрузки процессора, загрузка процессора была ниже 15%. этот пакетный файл можно запустить по ссылке в папке автозагрузки или, что лучше, в реестре HKLM\Software\Microsoft\Windows\CurrentVersion\Run

0

Вы написали:

«Для полной загрузки моей машины (Windows 7 64-bit) требуется 3-4 минуты ...»

"Нормальная" загрузка занимает около 30 секунд, включая доступ к учетной записи пользователя. Там что-то не так, и это должно быть исправлено. Для того, чтобы это исправить, вы должны получить данные. Я предлагаю вам две утилиты для устранения этой проблемы:

1) Автозапуск

С этим вы можете проверить каждый процесс, программу, драйвер, загруженный во время процесса загрузки. Tka care: это очень мощный инструмент, и НЕ удаляйте предметы, если вы не знаете, что делаете. Но вы можете снять (отключить) некоторые программы входа в систему при запуске ...

2) Системный обозреватель

С помощью этого инструмента вы сможете увидеть все запущенные процессы и историю их до запуска System Explorer. Также возможно сканировать все эти процессы в целях безопасности (по сравнению с базой данных процесса ..)

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

Вы также можете проверить службы при запуске с помощью services.msc и состояние устройств с помощью devmgmt.msc (желтый треугольник для дефектных устройств, жесткий диск в режиме PIO вместо DMA и т.д.) В инструментах администрирования Windows. ..

Надеюсь, это поможет. Дайте нам знать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .