Ir para conteúdo
Fórum Script Brasil
  • 0

Mensagem Do Outlook


@line

Pergunta

Fiz uma função que envia e-mail automático pelo VB através do Outlook.

Mas sempre antes de enviar o Outlook exibe a seguinte mensagem:

"Um programa está tentando enviar um correio eletrônico automaticamente em seu nome.

Deseja permitir essa operação?

Se essa operação for inesperada, a causa pode ser um vírus e você deve escolher "não". "

Alguém sabe como desabilitar esta mensagem? huh.gif

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

Que eu saiba não há uma maneira de desabilitar isso. Até porque isso foi criado com o propósito de impedir que worms se espalhem por aí usando seu email. Entretanto, talvez seja possível "burlar" isso fazendo com que o "Sim" seja pressionado automaticamente. Se você mexe com API do Windows, dê uma olhada nas APIs FindWindow, FindWindowEx e SendMessage, pois acho que elas serão úteis para fazer isso.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

É, deu certo. biggrin.gif A idéia é dar um "clique" no botão automaticamente. Para isso, coloque o seguinte código no General Declarations do form:

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Coloque um Timer no form e defina a sua propriedade Interval para 500. E, no evento Timer do mesmo coloque o seguinte código:
    pai = FindWindow("#32770", "Outlook Express")
    If pai <> 0 Then
        filho = FindWindowEx(pai, 0, "Button", "&Enviar")
        If filho <> 0 Then
            SendMessage filho, WM_LBUTTONDOWN, 0&, 0&
            SendMessage filho, WM_LBUTTONUP, 0&, 0&
        End If
    End If

Dessa forma, a cada 500 milissegundos (ou seja, meio segundo) o código procurará pela janela do Outlook Express. Caso ache a mesma, o código procurará pelo botão Enviar e, caso ache-o, fará um "clique" no mesmo (isso é a tarefa dos SendMessages existentes ali).

Qualquer dúvida, é só falar.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
Não estou usando o MAPI, e sim uma referência ao Microsoft Outlook.

Testei o exemplo do link que você enviou e também nada acontece. A mensagem aparece normalmente.

Já conferi tudo...

Ah tá, eu aqui usei o Microsoft Outlook Express e não o Microsoft Outlook do Office. O código não deve estar funcionando porque o mesmo procura uma janela de título "Outlook Express". Veja qual é o título da janela do Outlook que aparece aí e experimente mudar no código.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

E ai cara,

Este procedimento usa a própria dll do OutlookExpress, por isso não precisa de componentes.

Se o Outlook estiver selecionado a segurança como "Avisar quando outro aplicativo tentar enviar email como se fosse eu", então aparecerá um alerta pedindo a permissão para enviar, o que nào causa problema algum.

beleza..no problem. smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Olá!

Eu troquei o título para "Microsoft Outlook" e o nome do botão que ele irá procurar para "&Sim" e mesmo assim nada acontece.

O código que você me enviou só funciona com MAPI ou o problema é outro?

O primeiro parâmetro que você passa nesta linha também muda caso eu use Microsoft Outlook? Se muda como descubro o valor correto?

pai = FindWindow("#32770", "Outlook Express")

Link para o comentário
Compartilhar em outros sites

  • 0

Não, no caso aí o problema não é devido a utilização (ou não) de MAPI. O problema está mesmo em procurar a janela correta.

Em relação às informações da linha que você comentou, uso um programa chamado FWW para achar isso. Você pode baixá-lo aqui: http://www.graymalkin.globalhosts.com.br/stuff/fww.zip

Basta executá-lo, segurar o botão esquerdo do mouse sobre a "mira" que tem na janela dele e só soltar o botão (do mouse) quando a mesma estiver em cima do botão (da janela) desejado. Depois aperte em "Write Source!" e ele gerará o código necessário para achar aquela janela específica (daí é só copiar as informações dali).

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,6k
×
×
  • Criar Novo...