Newsgroup: it.comp.lang.visual-basic
Titolo: Aggiungere funzioni ad Outlook Express

C'e' un modo per poter "agganciare" un programma VB6 ad una voce di menu di
Outlook Express, passandogli (in qualche modo) l'intero messaggio
correntemente selezionato?
Provo a spiegarmi meglio...
Io apro Outlook Express, seleziono un messaggio (quello che vorrei
analizzare con un programma VB6 esterno), e da un menu (magari "Messaggio" o
"Strumenti") seleziono una nuova voce "Analizza messaggio": vorrei far
richiamare il programma esterno a cui voglio "passare" il messaggio corrente
(va bene l'intero messaggio completo di headers, o in alternativa un qualche
riferimento a tale messaggio a cui il prg accederebbe ad es. via MAPI, o
infine farlo salvare in una dir temporanea e passare al prg esterno il nome
del file temporaneo).
C'e' un modo per fare questo?
Oppure se dovesse essere impossibile passare il messaggio correntemente
selezionato, potrebbe bastarmi come soluzione "minimale" anche poter
semplicemente aggiungere una voce ad un menu di OE per eseguire un programma
esterno.
--
   Alex Palmese
---
Sei anche tu stanco dei messaggi spam? Usa Terminator, il programma
anti-spam italiano FREEWARE! 
http://www.sertel.net/terminator/

 C'e' un modo per fare questo?
Cosě a occhio opererei al contrario, visto che non saprei come ottenere
quanto da te cercato: farei una applicazione che "sostituisca" outlook, che
quindi legga tutta la posta (mi sembra ci sia un controllo MAPI, che ho
usato una volta, un paio di anni fa) e all'interno del quale potresti
gestire la cosa a tuo piacimento.
Salutoni
Sergio

 gestire la cosa a tuo piacimento.
Ti ringrazio per la risposta, ma io ho proprio bisogno di "agganciarmi" ad
OE (come fanno vari software, tra l'altro), non posso riscrivere anche
Outlook Express...;-))
Secondo me si puo' fare in qualche modo tramite registry, ma ancora non ho
trovato come fare: se qualcuno dovesse avere qualche idea, io sono
qui...;-))


 del file temporaneo).
Aggiungo qualche altra info: mi sarebbe al limite anche sufficiente poter
accedere ai messaggi di Outlook Express e potrei farlo (anzi, l'ho gia'
fatto;-)) tramite MAPI ma ci sono due problemi:
1) Non ho trovato il modo di leggere l'intero messaggio (completo quindi di
intestazioni standard RFC), posso solo accedere al corpo del messaggio, e
separatamente a data, ora, oggetto, mittente e destinatario ma niente di
piu' (a me serve poter leggere soprattutto le linee "Received");
2) Non ho trovato il modo (ma temo che sia impossibile) di accedere a
cartelle diverse da "Posta in arrivo"
Quindi forse anche l'accesso via MAPI non e' possibile per cio' che mi
interessa...:-(
Idee?


Visto il temporaneo insuccesso del primo approccio (ma resto comunque in
attesa di vostri suggerimenti;-)) sto provando anche altre strade.
Diciamo che io ho il mio programma VB in esecuzione, ed anche Outlook
Express e' attivo, nel mio programma vorrei:
1) Determinare se OE e' realmente in esecuzione (questo indipendentemente
dalla lingua e dalla versione di OE)
2) Se e' in esecuzione, inviargli alcuni comandi tramite SendKeys per fargli
salvare il messaggio correntemente selezionato
3) Capire quando i comandi sono stati eseguiti (o se nessun messaggio era
selezionato in quel momento)
Quali API vanno usate (soprattutto per il punto 1)?
Oppure esiste un modo migliore per interfacciarsi con OE (DDE, OLE, o
cosa?)?


 Quali API vanno usate (soprattutto per il punto 1)?
...se non vado errato l'api sendmessage dovrebbe fare al tuo caso, non mi
ricordo dove, ma una volta ho trovato una funzione che aggiungeva un menu a
notepad e che ne gestiva anche l'evento click. Prova comunque a cercare sul
sito comune del ng.
Comunque io ho risolto tutti i miei problemi abbandonando OE al suo destino
ed utilizzando Outlook 2000, il quale mediante il VBA è perfettamente
programmabile in (quasi) tutte le sue funzioni. Potresti infatti creare una
funzione che intercetta il messaggio direttamente e lo legge in una textbox.
Fammi sapere se trovi qualcosa di interessante.