Análise rápida
Durante a fase de inicialização, o Windows Photo Viewer usa a função GetSystemMetrics
API para verificar se o sistema foi iniciado em safe mode . Se esse for o caso, ele exibirá a seguinte mensagem:
Windows Photo Viewer does not work in safe mode. If you want to view pictures or videos, restart your computer normally.
O código real está localizado dentro do arquivo de biblioteca PhotoViewer.dll
, que pode ser encontrado normalmente nessas pastas:
-
Windows Vista
C:\Program Files\Windows Photo Gallery
-
Windows 7 e posterior
C:\Program Files\Windows Photo Viewer
Leitura adicional
Solução alternativa
Use o Paint ou um visualizador de imagens de terceiros, como IrfanView , XnView , ou Visualizador de Imagens FastStone .
Corrigindo a limitação
O arquivo da biblioteca pode ser corrigido para enganar o espectador, fazendo-o pensar que o sistema operacional não foi iniciado no modo de segurança. Apesar do que a mensagem de aviso diz, todos os recursos, exceto a impressão, parecem estar funcionando bem.
Observação Embora o patch possa ter alguns efeitos colaterais, não parece ser o caso de acordo com meus testes.
-
Abra a pasta do programa, que geralmente está localizada aqui:
C:\Program Files\Windows Photo Viewer
-
Copie o arquivo
PhotoViewer.dll
para a área de trabalho e renomeie paraPhotoViewer2.dll
. -
Abra o arquivo
PhotoViewer2.dll
usando um editor hexadecimal (por exemplo, HxD ). -
Vá para o deslocamento hexadecimal apropriado. Veja abaixo.
-
Altere os dois primeiros bytes para
3BC0
e salve as alterações. -
Copie o arquivo salvo para a pasta do programa.
-
Abra um prompt de comando elevado , digite ou cole o seguinte comando e pressione Enter :
cd /d "%programfiles%\Windows Photo Viewer"
-
Substitua a biblioteca original pela corrigida executando estes comandos:
taskkill /im explorer.exe /f takeown /f PhotoViewer.dll /a icacls PhotoViewer.dll /grant:r *S-1-5-32-544:F ren PhotoViewer.dll PhotoViewer.dll.old ren PhotoViewer2.dll PhotoViewer.dll start explorer
Offsets
-
Windows Vista SP2 x86 (32 bits)
0x19741
-
Windows Vista SP2 x64 (64 bits)
0x252F8
-
Windows 7 SP1 x86 (32 bits)
0x9DFF
-
Windows 7 SP1 x64 (64 bits)
0x689E6
-
Windows 8 x86 (32 bits)
0x711DE
-
Windows 8 x64 (64 bits)
0x8E785
-
Windows 8.1 x86 (32 bits)
0x70CF9
-
Windows 8.1 x64 (64 bits)
0x8E3F9
Screenshots
Antes
Depoisde
Clique para ver maior.