Wysyłanie wiadomości przez Skype z poziomu EA
Przeglądając ostatnio bazę artykułów witryny MQL4 Community natrafiłem na ciekawy artykuł pt. “Using Skype to Send Messages from an Expert Advisor“.
W artykule opisane jest krok po kroku jak wszystko ustawić i zainstalować, ja pokuszę się jedynie o sporządzenie “esencji” tego artykułu, aby w przyszłości nie trzeba było szukać w całości :)
Sprawa jest o tyle ciekawa, że autorzy udostępniają gotowego DLL-a będącego pomostem między MT4 a DLLem Skype, a więc wysyłanie wiadomości lub SMSa sprowadza się do wklejenia do swojego kodu kilku linijek importujących stosowne funkcje z DLLa:
#import "SkypeLib.dll" bool SendSkypeSMS(int &ExCode[], string Num,string Message); bool SendSkypeMessage(int &ExCode[], string User, string Message); #import
Natomiast w stosownym miejscu w kodzie, aby wysłać powiadomienie wystarczy wywołać jedną z powyższych funkcji:
SendSkypeMessage(ExCode, "adresat.wiadomosci", "Skype message test")); if(ExCode[0]==-1) Alert("Błąd wysyłania wiadomości");
Lub (do wysyłania SMSa):
SendSkypeSMS(ExCode, "+1234567890", "Skype sms test"); if(ExCode[0]==-1) Alert("Błąd wysyłania SMSa");
Oczywiście nie są to SMSy za darmo, ale z pewnością wykorzystana okazja jest warta więcej niż koszt SMSa :)
DLLe wymagane do działania tego kodu umieszczam w spakowanym archiwum poniżej.[download#22]
7 odpowiedzi do wpisu "Wysyłanie wiadomości przez Skype z poziomu EA"
bibi
Można to ciekawie wykorzystać ;D
aaaa
jakoś mi nie działa ktoś może mi powiedzieć gdzie mam wkleić pliki podane w załączniku?
luktom
experts\libraries
aaaa
wkleiłem ale nadal mi nie działa, napisałem taki kod i nadal ni chodzi, nie wiem gdzie mam błąd int ExCode[0]={-1}; SendSkypeMessage(ExCode, "fwig20", "asallallalal"); if(ExCode[0]==-1) Alert("Błąd wysyłania wiadomości");\ nie rozumiem trochę tej zmiennej ExCode, jakie musi przyjąć wartości aby wysłać wiadomość
aaaa
bardzo proszę o szybką odpowiedz poniewaz bardzo mi zalezy
luktom
int ExCode[1] <- tak to deklarujesz, a zmienna jest przekazywana przez referencję i służy do zwracania wartości, natomiast nie wpływa na wysyłanie w żaden sposób. Poza tym odsyłam do cytowanego artykułu, tam jest wszystko po kroku opisane co trzeba skonfigurować, aby to chodziło.
aaaa
dzięki, wielkie!!!! moja wina, że zapomniałem doczytać cytowanego artykułu PS SendSkypeMessage(ExCode, "adresat.wiadomosci", "Skype message test")); if(ExCode[0]==-1) Alert("Błąd wysyłania wiadomości"); brakuje ci jeszcze allert, dlatego miałem błąd