[ Predrag Damnjanovic @ 24.09.2003. 14:55 ] @
Hocu da uradim isto kao kada se u browseru klikne na mailto: link.
Dakle, treba da se otvori default mail client, otvara se nova poruka, i upisuje se mail u polje From.

Probao sam :
WinExec ("explorer.exe mailto:[email protected]", SW_SHOW);
i to radi, ALI, otvara mi i IE, bez potrebe.
Dakle otvorio je OE, ali u pozadini je otvorio i IE.

A da zovem direktno Outlook.exe - to ne bi smeo, jer ne znam da li je on default mail client.

Any hint?
[ -zombie- @ 24.09.2003. 15:55 ] @
probaj:

open mailto:[email protected]
[ Predrag Damnjanovic @ 24.09.2003. 16:22 ] @
kao prvi parametar WinExec funkcije?
[ -zombie- @ 24.09.2003. 16:32 ] @
pa, da, jelte.. sad sam probao iz command prompta, explorer mailto:... otvara IE, a open milto:.. ne (samo mail klijent)
[ Predrag Damnjanovic @ 24.09.2003. 17:07 ] @
probao sam, nece :(
probao sam i bez icega, znaci samo mailto:neki@mail, ali ni to nece.
[ -zombie- @ 24.09.2003. 17:17 ] @
probaj i sa ShellExecute().. ima tu nekoliko varijanti, i nažalost, toliko je nekonzistentno da se nikad ne zna unapred koja će da proradi... ;(
[ alex @ 24.09.2003. 17:45 ] @
Sta ce ti WinExec i ostalo kad mozes lepo sve da odradis uz MAPI, uz MAPISendMail funkciju.

Izvod iz mog (malo komplikovanijeg) koda:
(glupi tab i code tag ;) )

Code:

typedef ULONG (FAR PASCAL *MAPIFUNC) (LHANDLE lhSession, ULONG ulUIParam,
                                      lpMapiMessage lpMessage, FLAGS flFlags,
                                      ULONG ulReserved);
const HINSTANCE hMAPILib = LoadLibrary("MAPI32.DLL");

    if (hMAPILib)
    {
        MAPIFUNC lpMAPISendMail = (MAPIFUNC) GetProcAddress(hMAPILib, "MAPISendMail");

        if (lpMAPISendMail != NULL)
        {
            MapiMessage Msg;
            memset(&Msg, 0, sizeof(Msg));
            Msg.lpszSubject  = "subject poruke";
            Msg.lpszNoteText = "telo poruke";
            ULONG Error = lpMAPISendMail(NULL, NULL, &Msg, (FLAGS) (MAPI_LOGON_UI | MAPI_DIALOG), 0);
            if (Error != SUCCESS_SUCCESS) {
                AfxMessageBox("Mail sending failed or cancelled!", MB_OK | MB_ICONEXCLAMATION);
            }
        }
    FreeLibrary(hMAPILib);
    }
[ Predrag Damnjanovic @ 24.09.2003. 18:58 ] @
alex, ja ne pravim mail client niti e-worm :)
treba mi samo kod koji otvara default mail client

ajd pogledacu sa ostalim winapi funkcijama koje pokrecu programe...
[ Dragi Tata @ 24.09.2003. 19:44 ] @
http://www.codeproject.com/useritems/default_mail_client.asp

Pogledaj i diskusiju na kraju članka.
[ alex @ 25.09.2003. 10:37 ] @
Citat:
Predrag Damnjanovic:
alex, ja ne pravim mail client niti e-worm :)
treba mi samo kod koji otvara default mail client


Kod koji sam poslao upravo to i radi, otvara default mail klijent i prozor s novom porukom, sa podesenim subject-om i tekstom..

Uz MapiRecipients strukturu moze da se podesi i primalac.

Ne vidim razlog takvog tvog odgovora kada je ono sto sam poslao daleko najjednostavniji nacin - zato i sluzi MAPISendMail funkcija.
[ Predrag Damnjanovic @ 25.09.2003. 13:40 ] @
hoces da kazes da ovo radi i sa drugim mail clientima?
nije vezano samo za outlook?
ajd probacu...
[ alex @ 25.09.2003. 14:16 ] @
Ti izgleda ne citas uopste sta ja pisem?

Nisam nigde pomenuo Outlook, vec sam spomenuo MAPI i default mail klijent. Kod provereno radi sa svim mail klijentima.
[ Predrag Damnjanovic @ 25.09.2003. 20:20 ] @
ja sam mislio da je MAPI vezan za Outlook :)
Hvala!
[ leka @ 25.09.2003. 22:26 ] @
Nije Peco. - MAPI je generalna stvar. Pre godinu - dve smo ovde na ovom forumu pricali o njemu i ja sam tada imao problema sa "prilepljivanjem" fajlova u poruke koje sam iz jedne komercijalne aplikacije (pisane u Borland C++ Builderu) slao dalje... Mozes da pogledas tu diskusiju ako malo pretrazis ES. Tamo ima par primera takodje kako se neke stvari rade preko COM-a (OutlookApplication) a i MAPI-ja.
Kasnije sam doduse skupa sa Alexey Parshin-om (covek koji je jedno vreme bio clan EDE razvio jednu (po meni) dobru klasu za slanje poruka preko MAPI-ja, koju je on koristio u par svojih aplikacija, a ja u jednoj-dve. Taj kod mogu da prikacim ovde kad odem u firmu.
[ Predrag Damnjanovic @ 26.09.2003. 15:14 ] @
OK, hvala.
Ja zavrsavam zapocete projekte, i bataljujem komp dok ne sredim svoje zdravlje, pa se ne tangiram ako nesto lupim :)
[ Predrag Damnjanovic @ 27.09.2003. 17:45 ] @
onaj Alex-ov sors definitivno ne podize default client.
Instalirao sam The Bat!, i on je default client (provereno), a onaj sors mi otvara neki 'Choose Profile' prozorcic, gde ima da se bira samo "Microsoft Outlook", dakle, ne samo da nema The Bat-a, vec nema ni OE-a, koji je bio default do danas (naravno, ni kada je bio default client - nije ga bilo na listi)

Pogledacu ovo tatino, ako uspem da se snadjem i iscupam ono sto meni treba.
[ Predrag Damnjanovic @ 27.09.2003. 18:14 ] @
ShellExecute(0, 0, "mailto:[email protected]", 0, 0, SW_RESTORE);
resava stvar...

Hvala svima na pomoci!
[ alex @ 29.09.2003. 10:45 ] @
Citat:
Predrag Damnjanovic:
onaj Alex-ov sors definitivno ne podize default client.


Hehe, nije do mog koda vec do samog The Bat! klijenta - proveri koju verziju imas, jer je The Bat! nevidjeno bagovit kad je rec o MAPI API funkcijama.

Kod koji sam poslao provereno (i savrseno dobro) radi u komercijalnoj aplikaciji koju koriste cak i korisnici The Bat! email programa. Istrazili smo problem i shvatili da je problem u The Bat! programu (kako sami autori priznaju) - veoma lose reseni pozivi MAPI funkcija.

Koliko se secam, resili su te probleme sa novijim verzijama.

Poz,
alex.
[ Predrag Damnjanovic @ 29.09.2003. 14:28 ] @
najnoviju verziju sam skinuo, 2.0.

osim toga, zasto se ne pali Outlook Express, i on je bio default client.
Pali se samo Microsoft Outlook.

Ma nema veze ljudi, problem je resen.
Ko zna zasto mi onaj sors nije radio, mozda zato sto imam Win98...
[ Gojko Vujovic @ 29.09.2003. 18:46 ] @
Citat:
Predrag Damnjanovic:
osim toga, zasto se ne pali Outlook Express, i on je bio default client.


"I ON" ?? Pa koliko to 'default' mail klijenata imaš, crni Predraže?
[ Predrag Damnjanovic @ 29.09.2003. 21:04 ] @
Citat:
Predrag Damnjanovic:
osim toga, zasto se ne pali Outlook Express, i on je bio default client.


"BIO" !