DEFININDO REGISTROS DO WINDOWS
Citação:
Abra o Regedit
Navegue até a chave HKEY_CURRENT_USER\Software\Classes
Clique com o botão direito do mouse na chave [Ô]Classes[Ô] e escolha [Ô]Novo\Chave[Ô]
O nome desta chave vai ser o nome do protocolo novo, então como exemplo vou chamar ela de [Ô]meuprotocolo[Ô]
Com a chave [Ô]meuprotocolo[Ô] selecionada clique com o botão direito em um lugar vazio na parte direita da janela (onde tem o valor (Padrão))
Escolha no menu o item [Ô]Novo\Valor da Cadeia de Caracteres[Ô]
Nomeie este novo valor como [Ô]URL Protocol[Ô], sem as aspas
Clique com o botão direito na chave [Ô]meuprotocolo[Ô] e escolha [Ô]Novo\Chave[Ô], nomeie ela como [Ô]shell[Ô], sem as aspas.
Clique com o botão direito na chave [Ô]shell[Ô] e escolha [Ô]Novo\Chave[Ô], nomeie ela como [Ô]open[Ô], sem as aspas.
Clique com o botão direito na chave [Ô]open[Ô] e escolha [Ô]Novo\Chave[Ô], nomeie ela como [Ô]command[Ô], sem as aspas.
Selecione a chave command e no lado direito da janela de dois cliques no valor [Ô](Padrão)[Ô]
Na janela que abre você deve colocar o caminho para o executável que quer ser iniciado da seguinte forma
[Ô]C:\Caminho\NomeDoExe.exe[Ô] [Ô]%1[Ô]
Alguem sabe com fazer isso usando somente o VB.Net?
[txt-color=#007100][Ô][ô][ô] <summary>
[ô][ô][ô] Verifica se a chave de registro do programa existe. Se não existir, a mesma será criada
[ô][ô][ô] </summary>
[ô][ô][ô] <remarks></remarks>[/txt-color]
Public Shared Sub verificaChaveRegistro()
Try
Dim vetor() As String = My.Computer.Registry.CurrentUser.GetSubKeyNames [txt-color=#007100][ô]Pega o nome de todas as pastas do HKEY_CURRENT_USER[/txt-color]
Dim existe As Boolean = False
For Each nome As String In vetor [txt-color=#007100][ô]Faz um loop entre o nome destas pastas[/txt-color]
If nome = [txt-color=#e80000][Ô]point control[Ô][/txt-color] Then existe = True : Exit For [txt-color=#007100][ô]point control é o nemo da minha pasta no registro Você pode colocar o nome quer quiser[/txt-color]
Next
If Not existe Then My.Computer.Registry.CurrentUser.CreateSubKey([txt-color=#e80000][Ô]point control[Ô][/txt-color]) [txt-color=#007100][ô]Cria a pasta caso não exista[/txt-color]
My.Computer.Registry.SetValue([txt-color=#e80000][Ô]HKEY_CURRENT_USER\point control[Ô][/txt-color],[txt-color=#e80000] [Ô]nome-chave[Ô][/txt-color], [txt-color=#e80000][Ô]valor-dentro-da-chave[Ô][/txt-color]) [txt-color=#007100][ô]Aqui eu crio uma chave, chamada: nome-chave, dentro da pasta [Ô]point control[Ô] e insiro a string: valor-dentro-da-chave dentro dela[/txt-color]
Catch ex As Exception
End Try
End Sub