Как я могу открыть URL по расписанию в браузере по умолчанию?

35

Я ищу механизм для открытия одного URL в текущем браузере пользователя по умолчанию по расписанию / периодически.

Я знаю, что если бы я писал код .Net для этого, я мог бы просто сделать что-то вроде того, Process.Start("http://example.com/somePage.html")что заставило бы браузер по умолчанию открываться по этому адресу. Кроме того, я могу пойти Start -> Runи ввести указанный адрес, и это также приведет к открытию браузера по умолчанию для этого адреса. Используя эти знания, я подумал, что создам запланированную задачу Windows, в которой в поле «Запуск программы» указан URL-адрес, который я хотел запустить. К сожалению, это не работает. Когда задача запускается, URL-адрес не открывается (равно как и браузеры).

Кто-нибудь может указать мне правильное направление, чтобы это произошло? В идеале я хотел бы держаться подальше от сторонних утилит, используя Windows Task Scheduler. Кроме того, чтобы прояснить ситуацию, я не ищу плагин для браузера для этого.

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

ckittel
источник

Ответы:

36

Я хотел бы создать командный файл, содержащий:

начать http://example.com/somePage.html

И укажите Task Scheduler на этот командный файл. Вы также можете проверить, что он будет работать, запустив пакетный файл вручную.

Windos
источник
3
Это также может работать, если вы используете эту строку в качестве команды для своей задачи, но я предпочитаю редактировать командный файл, чем просматривать мои задачи, если мне нужно что-то изменить.
Windos
Спасибо @Windos, работал удовольствие. Я обнаружил, что это не сработало, когда эта строка была самой командой для моей задачи. Может быть, я делал это неправильно (пропускал "" вокруг URL или что-то в этом роде), но я не тратил на это дополнительное время, так как решение для пакетного файла дало мне то, что мне было нужно.
ckittel
Подход пакетного файла работает, но черные окна DOS будут мигать. Есть ли способ это скрыть? Использование этой строки в качестве команды планировщика заданий не работает для меня.
Gqqnbig
1
Вы будете бороться с тем, чтобы пакетный файл действительно запускался планировщиком заданий, пока вы не прочитаете этот stackoverflow.com/questions/4437701/…
Мэтью Лок
просто обратите внимание, что он откроет вкладку в вашем браузере по умолчанию, и через некоторое время, если вы не закроете их автоматически или вручную, снизится производительность системы
Иман Абиди
10

Недавно я попытался решить именно эту проблему, и я нашел несколько вещей, которые, надеюсь, могут помочь.

Настройте запланированное задание для запуска следующей команды:

explorer "http://example.com/somePage.html"

Это делает трюк без создания дополнительного файла и без мерцающего окна. Я подтвердил, что это работает в Windows 7 и открывает URL с помощью браузера по умолчанию.

Однако тот же прием не работает в Windows XP. Одна и та же команда в Windows XP всегда использует Internet Explorer для открытия указанного URL-адреса. Наилучшее решение, которое я нашел для WIndows XP на сегодняшний день, - это настроить запланированное задание с

cmd /c start http://example.com/somePage.html

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

Я не проверял это на Windows Vista или Windows 8

Жюльен Пикалуса
источник
Работает на Windows Server 2012. cmdкак исполняемый файл, а остальное для аргументов.
Тодд
Посмотрите мое расширение на этот ответ с фотографиями здесь - stackoverflow.com/a/39426110/887092
Тодд
3

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

  1. Откройте Блокнот.
  2. Написать редирект Javascript.
  3. Сохранить как HTML.
  4. Установите диспетчер задач, чтобы открыть этот HTML-файл по вашему желанию.

Вот этот Javascript. Дайте мне знать, если это работает.

<script type="text/javascript">
window.location = "http://www.google.com/"
</script>
Алекс Уотерс
источник
Я проверил это, это работает.
Алекс Уотерс
1
+1. Спасибо за это решение, я тоже проверил его, и оно действительно работает. Решение @Windos идеально подходит для моих нужд, но я рад, что вы опубликовали это решение, поскольку оно может быть идеальным для кого-то другого.
ckittel
1
Вы имеете в виду «Task Scheduler-> Другая программа-> Мой HTML-> Желаемый URL»? Почему программа не открывает нужный URL-адрес?
Gqqnbig
1

По какой-то причине вышеупомянутые решения не работали для меня на Windows Server 2008, поэтому я остановился на подходе vbs:

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

Создайте файл VBS со следующим содержимым:

Call LogEntry()

Sub LogEntry()

'Force the script to finish on an error.
On Error Resume Next

'Declare variables
Dim objRequest
Dim URL

'The URL link.
URL = "https://www.example.com"

Set objRequest = CreateObject("Microsoft.XMLHTTP")

'Open the HTTP request and pass the URL to the objRequest object
objRequest.open "GET", URL , false

'Send the HTML Request
objRequest.Send

'Set the object to nothing
Set objRequest = Nothing

End Sub

Кредит на этот сайт

Мэтт Кемп
источник
должен ли этот пример быть зачислен на 642weather.com/weather/wxblog/php-scripts/…
Binarysurf
0

Существуют такие программы, как «Один миллион кликов», которые могут обновлять веб-страницу каждые x секунд / минут / часов. Вы даже можете использовать список прокси для имитации реальных посетителей на этой странице.

WeGoToMars
источник