Adiciona um item ao menu 'enviar para' para TODOS os usuários (winxp)

5

Como adicionar um item ao menu "enviar para" para TODOS os usuários (winxp) Queremos ter um link para um visualizador de log de depuração disponível para todos os usuários em um servidor que estou construindo. Bastante simples para adicioná-lo a um usuário (start- > run- > sendto), mas eu quero para todos. Alguma idéia agradece?

    
por Chris 18.08.2009 / 03:47

5 respostas

2

Aqui está uma ideia:

Coloque um arquivo .bat na pasta All Users Startup (para que ele seja executado sempre que alguém fizer logon).

O arquivo .bat copia o atalho para a pasta SendTo do usuário.

Algo como:

copy "c:\Notepad.lnk" "%userprofile%\SendTo" /Y

(Substitua Notepad.lnk pelo seu próprio atalho)

Simples.

    
por 18.08.2009 / 07:40
1

Quando eu costumava usar o windows, eu personalizava o menu SendTo usando um pequeno programa chamado 'Send To Toys'. Você ainda pode baixá-lo aqui . Não posso dizer se funciona para todos os usuários ou não; pode muito bem fazer isso.

    
por 18.08.2009 / 08:07
1

A pasta SendTo é determinada por usuário (geralmente em C: \ Documents and Settings \ USER \ SendTo). É um caminho absoluto localizado no registro, não há uma pasta SendTo comum que se aplique a todos os usuários. Você pode, no entanto, alterar facilmente o local da pasta SendTo sem ficar confuso no registro.

Basta clicar com o botão direito do mouse, arrastar a pasta SendTo para o novo local e selecionar "Mover para". A entrada do registro será atualizada automaticamente para esse usuário. Infelizmente, você precisa fazer isso para cada usuário ou carregar a seção de registro do usuário e editá-la manualmente (novamente, por usuário).

Provavelmente seria melhor atualizar o registro de um usuário (usando 'Mover para' ou manualmente) e exportar essa chave de registro para um arquivo. Em seguida, distribua esse arquivo para os usuários e faça com que eles cliquem nele duas vezes, mesclando o novo local do SendTo em seus respectivos registros.

A chave está em HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders e meu local padrão foi o caminho absoluto, C:\Documents and Settings\Grant\SendTo

O conteúdo do arquivo whatever.reg que pode ser distribuído seria parecido com:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
"SendTo"="C:\Documents and Settings\Grant\SendTo"

exceto com o novo local do arquivo.

    
por 18.08.2009 / 04:58
0

De acordo com Usando a pasta "Enviar para" no Windows 2000 ou superior ...

If you wish to make the shortcuts available to all users, add the shortcuts to C:\Documents and Settings\All Users. Since this folder does not exist by default in Windows 2000 or XP, you can either copy an existing user’s folder and rename it to "All Users" or create a new folder and enter the folder name as SendTo.

If you cannot see the SendTo folder in Windows Explorer, you may need to turn on the ability to see hidden and system folder by doing the following:

  • Open Windows Explorer.
  • Select Tools -> Folder Options from the menu.
  • Click on the "View" tab.
  • In the "Advanced Settings" window, there is an option for "Hidden files and folders".
  • Select "Show hidden files and folders".
  • Click Apply, but do not close the dialog form.
  • To apply these settings to all folders, click on "Apply to all folders" in the "Folder views" section of this dialog (at the top).
  • Click OK to exit the dialog box.

Editar por comentários: algum atalho personalizado do SendTo é exibido? Você pode estar faltando uma entrada de registro ou um registro. Confira Atalhos na pasta "Enviar para" não aparecem no menu? , veja se isso ajuda em tudo.

    
por 18.08.2009 / 04:45
0

Tente esta função, ela encontrará pastas SendTo para todos os usuários.

Private Function GetSendToPaths() As String()
    Dim localsendto As String = Environment.GetFolderPath(Environment.SpecialFolder.SendTo)
    Dim userpath As String = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile)
    Dim subuser As String = Path.GetDirectoryName(userpath)
    Dim subsendto As String = localsendto.Substring(userpath.Length)
    Dim dirinfo As New DirectoryInfo(subuser)
    Dim paths As New List(Of String)
    For Each dir As DirectoryInfo In dirinfo.GetDirectories
        Dim path As String = dir.FullName & subsendto
        If Directory.Exists(path) Then
            Dim dirpath As String = dir.FullName & "\Contacts"
            If Directory.Exists(dirpath) Then
                If New DirectoryInfo(dirpath).GetFiles.Length > 0 Then
                    paths.Add(path)
                End If
            End If
        End If
    Next
    Return paths.ToArray
End Function
    
por 28.01.2014 / 14:34