Substituir o notepad (Bloco de Notas) no Windows 7
Autor: Julio C. Zuppa | Publicado: 2013-07-23T03:56:00-03:00


Se assim como nós você está cansado de ver a “cara” do notepad, o famoso bloco de notas do Windows e deseja substituí-lo por um editor de sua preferência, aqui vai uma dica “diferenciada” (é mais chique do que diferente) das que se encontram por aí: Dica da Tecmundo e acreditamos até ser mais simples.

Difícil quem não saiba, mas o Bloco de notas é um editor de textos bem simples que é parte integrante do Sistema Operacional Windows, porque um dos recursos mínimos que se espera do computador é a possibilidade de escrever, ler e armazenar arquivos de textos. Assim, ele é conhecido como um editor de textos “puros”, ou seja, textos que não possuem a gama de configurações e recursos oferecidos por editores mais complexos, como o Microsoft Word ou LibreOffice. Recursos como: tamanho, cor e tipo da letra e composição de tabelas gráficos e imagens, o que torna o programa bastante leve, prático e rápido em sua utilização. Muitas vezes, o objetivo de se escrever textos puros é que possam serem reconhecidos e lidos por qualquer computador, sem que para isso seja necessário instalar algum software em especial.

Tratando-se de um programa do sistema operacional, você não consegue de imediato excluí-lo e colocar outro em seu lugar tão facilmente, porque é considerado essencial para seu correto funcionamento. Desse modo, existe uma proteção em seu arquivo executável, exigindo assim, que você saiba muito bem o que está fazendo antes de “ferrar” com ele.

Inclusive por isso deixaremos ele quietinho aonde está e ao invés de substituí-lo literalmente por outro programa, faremos um tipo de redirecionamento. Fazendo uma analogia de maneira figurativa e um pouco cômica (pra manter o alto astral), o que faremos é “dizer” para o sistema operacional que quando procurarem pelo produto “notepad” original da Microsoft, ele vai entregar o produto “paralelo”. Só que, nesse caso o paralelo é melhor do que o original (é sério).

Nosso produto similar será o NotePad++, também conhecido como NotePad Plus (o sinal de soma: “+”, significa “plus” em inglês), um programa que dispensa comentários, principalmente para quem é da área de TI. Por isso, até partiremos do pressuposto que já o tenham instalado no computador e o que desejam mesmo, agora, é aposentar o tradicional notepad do Windows, transferindo suas atribuições.

Recursos utilizados:
01 arquivo VbScript e 01 edição no registro do Windows;


Criação do VbScript:

Você pode baixar o arquivo pronto: notepad.vbs ou criá-lo manualmente conforme passos que mostraremos a seguir. Sugerimos salvar esse arquivo no mesmo diretório da instalação do notepad++, que no Windows 7 32 bits, normalmente é: 
C:\Program Files\Notepad++

Já no Windows 7 64 bits:
C:\Program Files (x86)\Notepad++

Não sabe ainda o que é o 32 ou 64 bits? Não tem problema, há muita explicação disponível na internet, inclusive de como saber qual tipo é seu Windows. Essa informação será necessária também na etapa da edição do registro.

Agora chega de conversa!

Abra um editor de texto puro, que pode ser tanto o Bloco de Notas tradicional ou o NotePad++:



Copie utilizando as teclas de atalho CTRL + C com o texto abaixo selecionado ou se preferir digite-o manualmente no editor:


Option Explicit

'// variável que contará as Iterações no comando For
Dim i

'// Variavel que armazenará o objeto WSH (Windows Scripting Host/Linguagem de script do Windows )
Dim wsh

'// Variavel do tipos string que armazenará o comando a ser executado pelo script
Dim sCmd

'// Criação do objeto WSH (Windows Scripting Host/Linguagem de script do Windows )
Set wsh = CreateObject("WScript.Shell")

'// Capturar e definir o caminho(path) do diretório atual do script
wsh.CurrentDirectory = LeftB(WScript.ScriptFullName, LenB(WScript.ScriptFullName) - LenB(WScript.ScriptName))

'// Nome do executável do programa
sCmd = "notepad++.exe"

'// Se algum argumento for passado
If WScript.Arguments.Count &gt; 1 Then
    
    '// Capturar e adicionar no comando
    For i = 1 To WScript.Arguments.Count - 1
    
        '// Se o argumento possuir espaço, então coloca-lo entre aspas duplas
        If InStrB(WScript.Arguments(i), " ") Then
            sCmd = sCmd &amp; " """ &amp; WScript.Arguments(i) &amp; """"
        Else
            sCmd = sCmd &amp; " " &amp; WScript.Arguments(i)
        End If
        
    Next
    
End If

'// Executar o comando
wsh.Run sCmd, 1, False


Trata-se de um script do tipo Windows Scripting Host, um recurso legítimo dessa plataforma, que utiliza a mesma sintaxe da linguagem de programação Visual Basic e funciona sem a necessidade de instalar algum programa em especial, bastando apenas salvá-lo com a extensão característica de seu tipo: “.vbs”

Portando, depois de colar (CTRL + V) ou digitar o código, clique em salvar:



Escolha o mesmo diretório da instalação do NotePad++:



E salve-o com o nome: notepad++.vbs 



Lembre-se dessa localização aonde o arquivo foi armazenado, pois utilizaremos mais adiante:




Edição no registro do Windows:

A edição no registro é muito simples, mas tome cuidado ao manusear tal ferramenta porque um erro pode ser bem problemático. Caso sentir-se inseguro e quiser aprender um pouco antes sobre o que é o registro do Windows e como prevenir e reverter um possível acidente, seguem opções: básico e avançado

Desse modo, clique no menu iniciar e digite “regedit” na caixa de pesquisa, para que o Windows encontre o programa automáticamente pra nós:



Assim que localizar, clique no “regedit.exe”. Quando o programa abrir clique no menu Editar, depois em Localizar. Senão utilize as teclas de atalho CTRL + F, que é a mesma coisa:



Na janela “Localizar”, digite: Image File Execution Options.&nbsp;Em seguida pressione Enter no teclado ou clique no botão “Localizar Próxima” indicado pela seta:



Deverá encontrar a pasta com o mesmo nome, que representa uma chave de registro. Destacado em amarelo na próxima imagem, observa-se a localização completa desta chave:



HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

Isso porque nosso Windows é 32 bits.

Contudo na versão 64 bits, o caminho seria:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

Agora, clique com o botão direito do mouse sobre essa pasta e mova o ponteiro até a opção “Novo”, depois até “Chave”:



Dessa forma, criamos uma subchave, isto é, uma nova chave dentro de outra e daremos o nome de “notepad.exe”. Digite esse nome depois tecle Enter:



A seguir, com a chave que acabamos de criar selecionada, clique numa região branca do painel direito da janela com o botão direito do mouse para abrir o menu de contexto. Movimente o ponteiro do mouse até a opção “Novo”, depois vá até “Valor de Cadeia de Caracteres”:



Nomearemos de: Debugger&nbsp;(Mantenha o D em maiúsculo mesmo). Digite esse nome depois tecle ENTER:



Dê um clique com o botão direito do mouse em cima do valor Debugger criado e mova o ponteiro do mouse até a opção “Modificar…”:



Nessa etapa precisamos daquela localização e nome do arquivo vbScript criado anteriormente, que era:

Para Win32 bits –&gt;&nbsp;C:\Program Files\Notepad++\notepad++.vbs

Para Win64 bits –&gt; C:\Program Files (x86)\Notepad++\notepad++.vbs

Então pegue essa localização e substitua os “x” por ela, na expressão: 

wscript.exe “xxxxx”

Devendo ficar assim, em nossa versão de 32 bits:

wscript.exe “C:\Program Files\Notepad++\notepad++.vbs”

Insira essa expressão no campo “Dados do valor” da janela “Editar Cadeia de Caracteres”:



Por fim, tecle Enter ou clique no botão OK e feche a janela do Editor do Registro.

De agora em diante todas as chamadas por "notepad.exe" serão direcionadas para o Notepad++, entretanto, se no futuro se arrepender e quiser voltar ao “normal” é muito simples, pois bastará excuir essa pastinha da chave “notepad.exe” que criamos.

Está muito complicado tudo isso? Muitos detalhes?

Existe a possibilidade ainda de criar um arquivo no editor de textos, da mesma forma que criamos o script vbs na primeira etapa, porém salvar esse arquivo com a extensão “.reg” e depois executá-lo. Assim, não precisa nem abrir o editor do registro do Windows, porém, o conteúdo do arquivo deve ser de acordo com a arquitetura do seu sistema operacional (32 ou 64 bits). Se você gravou o script vbs na mesma localização sugerida por nós, utilize os seguintes conteúdos:

Windows 32 bits:


Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe]
"Debugger"="wscript.exe \"C:\\Program Files\\Notepad++\\notepad++.vbs\""

Windows 64 bits:


Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe]
"Debugger"="wscript.exe \"C:\\Program Files (x86)\\Notepad++\\notepad++.vbs\""

Não dá pra facilitar ainda mais um pouquinho? 

Sim, baixe aí então os arquivos prontos:

Windows 32 bits: notepad-win32.reg

Windows 64 bits: notepad-win64.reg

Faça o download e execute dando um duplo clique no arquivo:









Método Run da linguagem de script do Windows:

Na última linha do script vbs, usamos o método Run afim de executar o comando para abrir a aplicação Notepad++, porém conforme pesquisa realizada na internet, não encontramos nenhuma documentação em português a respeito da sua sintaxe. Portanto abaixo compartilhamos nossa tradução para quem possa se interessar:

Sintaxe do comando:

objShell.Run ( strCommand, [intWindowStyle], [bWaitOnReturn] ) 

Onde:


objShell:É o objeto do tipo WScript.Shell
strCommand:Refere-se ao comando que será executado
intWindowStyle (Optional):&nbsp;Um valor inteiro que indica a aparência da janela do programa, mas nem todos fazem uso desse recurso.0 - Oculta a janela e ativa outra janela.1 - Ativa e mostra a janela. Se ela estiver minimizada ou maximizada o sistema restaura seu tamanho e posição original. Uma aplicação deve especificar esse sinalizador ao exibir a janela pela primeira vez.2 - Ativa a janela e a exibe minimizada.3 - Ativa a janela e a exibe maximizada.4 - Exibe uma janela no seu tamanho e posição mais recente. A janela ativa permanece ativa.5 - Ativa a janela e exibe em seu tamanho e posição atual.6 - Minimiza a janela especificada e ativa a próxima janela de nível superior na ordem Z.7 - Exibe a janela como uma janela minimizada. A janela ativa permanece ativa.8 - Exibe a janela em seu estado atual. A janela ativa permanece ativa.9 - Ativa e exibe a janela. Se a janela estiver minimizada ou maximizada, o sistema restaura seu tamanho e posição original. Uma aplicação deve especificar esse sinalizador ao restaurar uma janela minimizada.10 - Define o estado de exibição da janela baseado no estado do programa que iniciou o aplicativo.
bWaitOnReturn:Informa se deve aguardar ou não o comando terminar, antes de continuar a execução do script.
Se bWaitOnReturn é definido como TRUE, o método retorna cada erro que a aplicação retornar.
Se bWaitOnReturn não for especificado ou for FALSE, este método retorna imediatamente para a execução do script ao invés de esperar a finalização do processo (e retorna um código de erro 0).
Especificar o parâmetro bWaitOnReturn permite executar programas de forma síncrona (um de cada vez).


Fontes: 
http://superuser.com/questions/792/how-do-i-replace-notepad-in-windows-7
http://www.vistax64.com/tutorials/244527-programs-replace-system-program-without-modifying-system-files-permissions.html
http://www.cult-of-tech.net/2011/10/replacing-notepad-with-notepad-using-image-file-execution-options/
http://www.howtogeek.com/howto/12617/how-to-replace-notepad-in-windows-7/