Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Разное > Исходники и статьи
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.02.2011, 15:15
Аватар для Admin
Admin Admin вне форума
Администратор
 
Регистрация: 03.10.2005
Адрес: Россия, Москва
Сообщения: 1,560
Версия Delphi: Delphi 7
Репутация: выкл
По умолчанию Исходник - Пишем свой Jinn или как отправить SMS сообщение на компьютер


Здравствуйте господа тунеядцы и разбойники! =)

Сегодня мы с вами поговорим о вещице довольно новой и интересной без которой современному уважающему себя ксакепу не обойтись! =)

А именно о ДжиИИИИнах =) нет-нет, не о тех которые живут в лампах олигархов на ближнем востоке.

Jinn если кто ещё не знает это такая програмулина которая работает в связке с другой програмулиной и выполняет ваши пожелания.

В качестве второй програмулины мы возьмём SMSER.

А точнее в качестве Первой... потому что именно SMSER будет у нас всем руководить а джинн будет выполнять его прихоти.

Находится она здесь http://SMSER.mobi

SMSER это програмка приёмник SMS сообщений...

С её помощью можно отправить себе на компьютер любое SMS сообщение с вашего телефона.

Принцип такой вы скачиваете её себе на компьютер и регистрируетесь!

После регистрации у вас будет свой ID и KEY

ЧТобы отправить SMS себе на компьютер нужно написать:

SMSER 1000:1234 блаблабла
- вместо 1000 ваш ID
- вместо 1234 ваш KEY

и оправить это на номер 1141

Тут вроде всё просто всё понятно...

Но нам то нужно не блаблабла отправлять а команды для нашего джинна.

Вот и пришла очередь написать свой jinn который будет выполнять наши команды когда мы отправим SMS сообщение.

На элементарном примере мы рассмотрим как можно отправить SMS и открыть/закрыть CD.

Итак берём Delphi
Код:
procedure Send(Target: Hwnd; Text: PChar);
var
  xData: TCopyDataStruct;
begin
  xData.cbData:=Length(Text)+1;
  xData.lpData:=Text;
  SendMessage(Target,WM_COPYDATA,0,LParam(@xData));
end;

procedure TForm1.FormCreate(Sender: TObject); 
var
 SMSER: Integer; 
 Prefix, Command: String; 
begin 
 if AnsiLowerCase(ParamStr(1))='jinn' then 
  begin
   SMSER:=StrToInt(ParamStr(2)); 
   Prefix:=Copy(ParamStr(3),0,Pos('#',ParamStr(3))); 
   Command:=Copy(ParamStr(3),Pos('#',ParamStr(3))+1,Length(ParamStr(3))); 

    if AnsiLowerCase(Command)='ocd' then 
     begin 
      Send(SMSER,PChar(Prefix+'Врага оттолкнул! иду по приборам! =)' ); 
      mciSendString('Set cdaudio door open wait', nil, 0, 0); // Открываем CD 
     end; 

    if AnsiLowerCase(Command)='ccd' then
     begin
     Send(SMSER,PChar(Prefix+'Гаубица заряжена! =)' ); 
     mciSendString('Set cdaudio door closed wait', nil, 0, 0); // Закрываем CD 
    end;
   Halt;
  end;
end;

Не забудьте добавить в uses MMSystem

Схема такая... по сути Джинн это обычный файл который запускается с 3 параметрами.

Главной его целью является получение и выполнение команды с ответом отправителю.

test.exe jinn 12345 z#ocd

1) указатель - jinn
2) хэндл отправителя - 12345 (SMSER)
3) команда для Джинна - z#ocd

Джинн должен проверить есть ли указатель jinn если он есть то джинн начинает свою работу...

Джинн получает хэндл отправителя и копирует его в переменную чтобы в дальнейшем отправить на него ответ.

Далее Джинн приступает к обработке команды он делит её на 2 части префикс z# и собственно саму команду ocd.

Затем Джинн выполняет команду ocd - Открытие CD после чего Джинн составляет ответ из префикса z# + сообщение 'Врага оттолкнул! иду по приборам! =)' и отправляет это на хэндл 12345 (SMSER)

Далее это сообщение уже получает наш SMSER и отправляет его нам на телефон! =)

Всё просто! Осталось только подключить наш джинн к SMSER(у).

Открываем в SMSER(е) Конфигуратор и жмём Добавить, указываем путь к нашему файлу и ставим для нашего джинна префикс z#

Готово! =) теперь, когда мы отправим на номер 1141

SMSER 1000:1234 z#ocd

CD откроется и нам на телефон придёт SMS: 'Врага оттолкнул! иду по приборам! =)'

Чтобы закрыть CD нужно отправить SMSER 1000:1234 z#сcd

Разумеется это всего лишь пример!
Всегда можно придумать что-нибудь более полезное и интересное =)
Например, экстренную удалялку секретных файлов на тот случай если доступ к компьютеру получил злоумышленник а вас рядом нет.
И многое-многое другое =)

Автор: Geek
E-mail: geek@smser.mobi

Скачать: jinn.zip (6 Кб)
Ответить с цитированием
  #2  
Старый 13.02.2011, 21:39
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Явно не бесплатно.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #3  
Старый 13.02.2011, 21:55
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
Явно не бесплатно.
2 гривны (примерно 20 рублей) по Украине.
Как по мне, за 1 смс дороговато. Хоть иногда это того стоит
__________________
Помогаю за Спасибо
Ответить с цитированием
  #4  
Старый 13.02.2011, 22:37
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Есть возможность сделать и по 3р... http://a1agregator.ru/
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #5  
Старый 14.02.2011, 00:08
Аватар для friz
friz friz вне форума
Местный
 
Регистрация: 04.04.2008
Адрес: Минск
Сообщения: 596
Версия Delphi: 2007 & JAVA EE
Репутация: 10670
По умолчанию

я нечто подобное делал, только через icq, т.е. на компе есть мой icq клиент и в зависимости от сообщений которые приходят выполняет различные действия... бесплатно и удобно да и на мобильник можно аську поставить без проблем
__________________
Последний раз редактировалось Admin, Сегодня в 10:32.
Ответить с цитированием
  #6  
Старый 14.02.2011, 20:06
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Цитата:
Сообщение от friz
я нечто подобное делал, только через icq, т.е. на компе есть мой icq клиент и в зависимости от сообщений которые приходят выполняет различные действия... бесплатно и удобно да и на мобильник можно аську поставить без проблем
Джаббер рулит
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #7  
Старый 14.02.2011, 20:56
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

"Джаббер рулит" можно без этого вот, кому что нравится тот то и юзает
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:43.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter