Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2011, 19:11   #1
Z3rique
Пользователь
 
Регистрация: 04.02.2011
Сообщений: 29
По умолчанию проблема с передачей сообщения (текста) в чужое приложение (клиент Garena)

Код:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
wnd:HWnd;
i:integer;
s:string;
begin
wnd:=FindWindow(nil, 'Garena');
s:=edit1.text;
for i:=1 to length(s) do begin
SendMessage(wnd, WM_CHAR, ord(s[i]), 0);
end;
end;

end.
что тут не так?) Извини за нубские вопросы, но я и есть нуб. По идее из Edit1 должно передаватся сообщение в клиент Garena.

___________
1) Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!

2) Вы когда нибудь научитесь давать темам АДЕКВАТНЫЕ названия?!!!
Которые отражают СУТЬ проблемы!
"Что не так" - это что, описание проблемы?! и сразу ясно, о чём дальше пойдёт речь, так?!


Модератор.

Последний раз редактировалось Serge_Bliznykov; 09.02.2011 в 09:13.
Z3rique вне форума Ответить с цитированием
Старый 09.02.2011, 02:11   #2
drknn
Пользователь
 
Аватар для drknn
 
Регистрация: 02.09.2007
Сообщений: 51
По умолчанию

Попробуйте создать проект заново. Киньте на него кнопку, поле Edit1 и только после этого сделайте двойной клик на компоненте "кнопка". В открывшейся процедуре введите просто комментарий. А теперь сравните полученный код с тем, который Вы тут выложили. Сравните построчно. Просто откройте два кода в параллельных окнах и сравниет строки.
drknn вне форума Ответить с цитированием
Старый 09.02.2011, 07:58   #3
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

drknn, Вы о чем? С кодом всё в порядке, должен компилиться.
Я лично не проверял, времени нет, но мне кажется дело в приведении типов строки и чаров...
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 09.02.2011, 10:57   #4
drknn
Пользователь
 
Аватар для drknn
 
Регистрация: 02.09.2007
Сообщений: 51
По умолчанию

А, виноват - прогнал - показалось, что процедура не верно объявлена. Открыл Делфи, проверил - всё верно.
drknn вне форума Ответить с цитированием
Старый 10.02.2011, 04:43   #5
Z3rique
Пользователь
 
Регистрация: 04.02.2011
Сообщений: 29
По умолчанию

Код:
procedure SM_SetText(s:string;wnd:HWND);
var
i:integer;
begin
for i:=1 to length(s) do begin
SendMessage(wnd, WM_CHAR, ord(s[i]), 0);
end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
Handle:HWND;
begin
Handle:=FindWindow(nil,'Garena');
SM_SetText('Message',Handle)
end;
Вот у меня есть код, который должен отправлять текст сообщение в Garena, но он не отправляет, в чем трабла?
Z3rique вне форума Ответить с цитированием
Старый 10.02.2011, 09:36   #6
Gambler
Игрок
Форумчанин
 
Аватар для Gambler
 
Регистрация: 29.10.2006
Сообщений: 367
По умолчанию

а окно то находит? и вообще, какой смысл что то слать родительскому окну? Может надо хоть edit какой то найти? Я просто не представляю что там за окно, но пока вижу глупость.
Жизнь всегда игра. Но смерть - не всегда поражение.

#define true (Math.random()>0.5) //Удачной отладки
Gambler вне форума Ответить с цитированием
Старый 10.02.2011, 10:08   #7
Z3rique
Пользователь
 
Регистрация: 04.02.2011
Сообщений: 29
По умолчанию

Gambler, глупость не глупость, но вот эту функцию мне дал создатель спам бота для этого клиента.

Код:
procedure SM_SetText(s:string;wnd:HWND);

var

i:integer;

begin

for i:=1 to length(s) do begin

SendMessage(wnd, WM_CHAR, ord(s[i]), 0);

end;

end;
p.s а как Edit найти? Извиняюсь за глупые вопрос, но я в программировании новичек.
Z3rique вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставка текста в чужое приложение MyasNick Win Api 19 08.04.2012 10:46
из компонента TMemo отправлялась в клиент Garena Z3rique Работа с сетью в Delphi 8 05.02.2011 20:54
Чужое приложение Assemblerru Win Api 30 18.08.2010 22:23
Закрыть чужое приложение Михаил Юрьевич Общие вопросы Delphi 3 28.03.2009 21:26
чужое приложение Electrod Win Api 12 27.01.2008 17:04