Como posso abrir um URL em uma programação no navegador padrão?

35

Estou procurando um mecanismo para abrir um único URL no navegador padrão atual do usuário de forma periódica / recorrente.

Sei que, se estivesse escrevendo o código .Net para fazer isso, poderia simplesmente fazer algo ao longo das linhas Process.Start("http://example.com/somePage.html")que fará com que o navegador padrão seja aberto nesse endereço. Da mesma forma, posso acessar Start -> Rune digitar um determinado endereço e isso também fará com que o navegador padrão seja aberto para esse endereço. Usando esse conhecimento, pensei em criar uma tarefa agendada do Windows em que o campo "Iniciar um programa" estivesse definido como a URL que eu queria iniciar. Infelizmente, isso não funciona. Quando a tarefa é executada, o URL não é aberto (nem os navegadores).

Alguém pode me indicar a direção certa para fazer isso acontecer? Idealmente, eu gostaria de ficar longe de utilitários de terceiros, aproveitando o Agendador de tarefas do Windows seria ótimo. Além disso, só para esclarecer, não estou procurando um plugin para fazer isso.

Além disso, não estou procurando nada extravagante ao acordar um computador adormecido para executar essa tarefa. Estou bem em deixar isso acontecer apenas quando um usuário estiver conectado.

ckittel
fonte

Respostas:

36

Eu criaria um arquivo em lotes contendo:

comece http://example.com/somePage.html

E aponte o Agendador de tarefas para esse arquivo em lotes. Você também pode testar se funcionará executando o arquivo em lotes manualmente.

Windos
fonte
3
Também pode funcionar se você usar essa sequência como comando para sua tarefa, mas eu prefiro editar um arquivo em lotes do que precisar examinar minhas tarefas se precisar de algo alterado.
Windos
Obrigado @Windos, trabalhou um prazer. Eu descobri que não funcionava quando aquela string era o próprio comando para minha tarefa. Pode ser que eu esteja fazendo algo errado ("" faltando em torno de URL ou algo assim), mas não gastei mais tempo com isso, pois a solução de arquivos em lote me deu o que eu precisava.
ckittel
A abordagem de arquivo em lote funciona, mas uma janela preta dos pisca. Existe alguma maneira de esconder isso? Usar essa string como o comando do Agendador de tarefas não funciona para mim.
Gqqnbig 06/07
1
Você lutará para que o arquivo em lotes seja realmente iniciado pelo Agendador de Tarefas até ler este stackoverflow.com/questions/4437701/…
Matthew Lock
apenas observe que ele abrirá uma guia no navegador padrão e, após um tempo, se você não os fechar automaticamente ou manualmente, degradará o desempenho do sistema
Iman Abidi
10

Recentemente, encontrei-me tentando resolver esse problema exato e encontrei algumas coisas que podem ser úteis.

Configure a tarefa agendada para executar o seguinte comando:

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

Isso funciona sem criar um arquivo extra e sem uma janela trêmula. Confirmei que isso funciona no Windows 7 e abre a URL usando o navegador padrão.

O mesmo truque, porém, NÃO funciona no Windows XP. O mesmo comando no Windows XP sempre usará o Internet Explorer para abrir o URL especificado. A melhor solução que encontrei para o Windows XP até o momento é configurar uma tarefa agendada com

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

Novamente, nenhum arquivo extra é necessário, mas você obtém uma breve aparência de uma janela de comando.

Eu não testei isso no Windows Vista ou Windows 8

Julien Picalausa
fonte
Ele funciona no Windows Server 2012. cmdcomo executável e o restante para argumentos.
Todd
Ver a minha expansão sobre esta resposta com fotos aqui - stackoverflow.com/a/39426110/887092
Todd
3

Você pode fazer o gerenciador de tarefas do Windows executar um programa e apontar para um arquivo HTML que contém um redirecionamento para o site que você deseja que ele abra.

  1. Abra o bloco de notas.
  2. Escreva o redirecionamento Javascript.
  3. Salve como HTML.
  4. Defina o gerenciador de tarefas para abrir esse arquivo HTML na sua programação desejada.

Aqui está o Javascript. Deixe-me saber se funciona.

<script type="text/javascript">
window.location = "http://www.google.com/"
</script>
Alex Waters
fonte
Eu testei, funciona.
Alex Waters
1
+1. Obrigado por esta solução, eu também a testei e realmente funciona. A solução @Windos é ideal para minhas necessidades, mas fico feliz que você tenha postado essa solução, pois pode ser ideal para outra pessoa.
precisa saber é o seguinte
1
Você quer dizer "Agendador de tarefas-> outro programa-> meu html-> url desejado"? Por que o programa não abre diretamente o URL desejado?
Gqqnbig
1

Por algum motivo, as soluções acima não estavam funcionando para mim no Windows Server 2008, então acabei seguindo a abordagem vbs:

Isso tem o benefício adicional de poder fazer um POST com dados, se necessário.

Crie um arquivo vbs com o seguinte conteúdo:

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

Crédito para este site

Matt Kemp
fonte
este exemplo deve ser creditado em 642weather.com/weather/wxblog/php-scripts/…
Binarysurf
0

Existem programas como o One Million Clicks que podem atualizar uma página da Web a cada x segundos / min / horas. Você pode até usar uma lista de proxies para simular visitantes reais nessa página.

WeGoToMars
fonte
0

Se o motivo de abrir a página da Web é que você precisa manter um pool de aplicativos ou processo de trabalho do IIS ativo, pode usar uma ferramenta chamada Desfibrilador de Pool de Aplicativos .

Kristoffer
fonte
Ou (no IIS 8.5 e superior), você pode definir o pool de aplicativos a ser suspenso em vez de finalizado ou definir um tempo limite mais longo - consulte: docs.microsoft.com/en-us/iis/get-started/whats-new-in -iis-85 /…
AndyS 29/06