Por que a diferença entre o comando Executar e o atalho

1

Freqüentemente (a cada dois dias) eu faço pontos de restauração em meus sistemas Windows para acionar o aspecto de "versões de arquivo" do sistema de arquivos. Usando a interface do usuário, há um grande número de keyclicks para chegar ao local onde você pode criar o ponto de restauração manual. Eu descobri que o applet aplicável é: SystemPropertiesProtection.exe; então testei no comando Executar ... (no menu Iniciar) e tudo funcionou bem.

Então, eu criei um atalho e, no meu sistema Windows 7 de 32 bits, isso também funcionou bem. No entanto, quando peguei o atalho para meu sistema Windows de 64 bits (e ajustei para o local diferente do executável), ele exibe a caixa de diálogo, mas a guia "Proteção do sistema" está faltando! Eu não posso usar o atalho. No entanto, se eu reverter para o comando Executar, tudo funcionará bem!

O que está acontecendo? Por que a diferença?

TIA, Paolo

    
por PaoloFCantoni 23.11.2011 / 05:52

3 respostas

1

However, when I took the shortcut to my Windows 64 bit system (and adjusted for the different location of the executable)

Seu problema é que você não precisa alterar a localização do executável. No Windows de 64 bits, a pasta System32 é onde os binários de 64 bits residem. O diretório SysWOW64 é onde os binários de 32 bits residem. Executar a versão de 32 bits do SystemPropertiesProtection.exe no Windows de 64 bits não terá a guia System Properties , como você observou.

Independentemente de você estar no Windows de 32 ou 64 bits, o caminho que você deve usar para executar SystemPropertiesProtection.exe deve ser sempre:

%SystemRoot%\System32\SystemPropertiesProtection.exe

    
por 23.11.2011 / 07:52
1

Parece que a diferença entre o comando run e o atalho é que o comando run está usando a versão de 32 bits. Eu tentei executar > "SystemPropertiesProtection" na minha máquina Windows de 64 bits e também está encontrando e abrindo a versão de 32 bits em C: \ Windows \ System32.

Editar: Parece que a diferença entre o comando run e o atalho é que o comando run está usando a versão de 64 bits (que o Windows mantém na pasta system32 para compatibilidade com versões anteriores). A outra versão, na pasta WoW64 é a versão de 32 bits. Eu tentei executar > "SystemPropertiesProtection" na minha máquina Windows 7 de 64 bits e também está encontrando e abrindo a versão de 64 bits em C: \ Windows \ System32 .

Obrigado Ryan!

    
por 23.11.2011 / 06:15
0

Eu nunca usei esse método antes. Está propenso a quebrar.

Uma ideia melhor é usar um script VB.

If WScript.Arguments.Count = 0 Then
    Set objShell = CreateObject(“Shell.Application”)
objShell.ShellExecute “wscript.exe”, WScript.ScriptFullName & ” Run”, , “runas”, 1
Else
    GetObject(“winmgmts:\.\root\default:Systemrestore”).CreateRestorePoint “description”, 0, 100
End If

Salve isso em um script VB e você pode clicar duas vezes para criar um ponto de restauração. Crie um atalho a partir dele e você poderá fixá-lo no menu Iniciar ou na barra de tarefas.

    
por 23.11.2011 / 06:08