|
Вопрос # 5 504/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
Не могли бы Вы мне помоч. Мне очень необходима функция, которая способна считывать любое текстовое, числовое значение из Edit'a, например даже эту строку "слово123" и отправлять его в адрес какого либо процесса. То есть по принципу программы CheatEgine или ArtMoney. Есть чатная строка, которая отображает любой текст. Я хочу чтобы при нажатии на Button, происходила точная копия символов из Edit'a в адрес процесса, в чатную строку. Имя процесса и адрес строки известен.
Если Вы мне поможите я буду Вам очень благодарен! Заранее, спасибо. Евгений.
 |
Вопрос задал: RamzeS (статус: Посетитель)
Вопрос отправлен: 15 июля 2011, 07:02
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
Короче, вот тебе простейший пример для Блокнота. Только для него!
Изучай, задавай вопросы, если чо. И помни, это только пример.
function TMainForm.FindNotepadEdit: HWND;
var
hNotepad: HWND;
begin
// поиск хэндла окна ввода Блокнота
Result:= 0;
hNotepad:= FindWindow('Notepad', nil);
if hNotepad <> 0
then Result:= FindWindowEx(hNotepad, 0, 'Edit', nil);
end;
procedure TMainForm.AppEventsIdle(Sender: TObject; var Done: Boolean);
begin
PostButton.Enabled:= Memo.Text <> '';
end;
procedure TMainForm.PostButtonClick(Sender: TObject);
var
hEdit: HWND;
LineIndex, SymbolIndex: Integer;
begin
// Постим мессадж
hEdit:= FindNotepadEdit();
if hEdit = 0
then begin
Application.MessageBox(PChar('Блокнот не запущен.'#13#10'Запусти его.'),
PChar('Ошибка'),
MB_OK + MB_ICONERROR);
Exit;
end;
if MsgRadioGroup.ItemIndex = 0
// постим с помощью WM_CHAR
then for LineIndex:= 0 to Memo.Lines.Count - 1 do
begin
for SymbolIndex:= 1 to Length(Memo.Lines[LineIndex]) do // построчно
SendMessage(hEdit, WM_CHAR, Integer(Memo.Lines[LineIndex][SymbolIndex]), 0); // посимвольно
SendMessage(hEdit, WM_CHAR, 13, 0); // добавляем символ переноса после каждой строки
end
// постим с помощью WM_SETTEXT
else SendMessage(hEdit, WM_SETTEXT, 0, Integer(PChar(Memo.Text)));
end;
Готовый ехе-шник прицепляю к ответу. К ответу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки ответа)
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 15 июля 2011, 13:14
|
Мини-форум вопроса
Всего сообщений: 48; последнее сообщение — 16 июля 2011, 21:20; участников в обсуждении: 4.
Страницы: [« Предыдущая] [1] [2] [3]
|
RamzeS (статус: Посетитель), 15 июля 2011, 11:39 [#41]:
Возможно
|
|
Gooddy (статус: 3-ий класс), 15 июля 2011, 11:43 [#42]:
1. hwnd := FindWindow( nil, 'Имя окна' );
2. hwnd := FindWindowEx( hwnd, nil, 'Класс едита', nil );
3. SendMessage - уже писал минай.
Класс едита я не знаю. Вроде прямо так - EDIT.
Чисти код! Чисти код! Чисти код!
|
|
Gooddy (статус: 3-ий класс), 15 июля 2011, 11:45 [#43]:
min@y™: Это же сага о xyz. Хотел заменить строчку в едите, а искал как значение в памяти поменять.
Чисти код! Чисти код! Чисти код!
|
|
min@y™ (статус: Доктор наук), 15 июля 2011, 11:48 [#44]:
Щас на обед схожу, а потом напишу пример. А то 10 минут осталось, не успею.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
15 июля 2011, 14:20: Вопрос перемещён из тематического раздела Delphi » Общие вопросы по программированию в раздел Delphi » COM, ActiveX и взаимодействие с другими приложениями модератором Ерёмин А.А.
|
Gooddy (статус: 3-ий класс), 15 июля 2011, 20:07 [#45]:
min@y™: для простейшего примера можно было бы и меньше проверок =), а то твою прогу не уронить.
Чисти код! Чисти код! Чисти код!
|
|
min@y™ (статус: Доктор наук), 16 июля 2011, 10:02 [#46]:
Цитата (Gooddy):
для простейшего примера можно было бы и меньше проверок =), а то твою прогу не уронить.
Свои проги роняй, понял?! Я давно привык делать алгоритмы как можно надёжнее, это у меня уже отточено до автоматизма.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Gooddy (статус: 3-ий класс), 16 июля 2011, 19:40 [#47]:
Валерьяночки?
Чисти код! Чисти код! Чисти код!
|
|
min@y™ (статус: Доктор наук), 16 июля 2011, 21:20 [#48]:
Цитата (Gooddy):
Валерьяночки?
Да, йобни грамм 100.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
Страницы: [« Предыдущая] [1] [2] [3]
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|