|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
вместо читаемого текста - иероглифы
в dll-ке есть функция, которая передает перехваченный текст (readfile) в tmemo, после передачи выводятся - иероглифы.
как это исправляется? думаю проблема в этом: Код:
NewBuffer := 'прочитано сообщение - "'+pchar(@Buffer)+'"'; Код:
b:= trim(s)+#13#10+(newBuffer); сама функция: Код:
function NewReadFile(hFile: THandle; var Buffer; nNumberOfBytesToRead: DWORD; var lpNumberOfBytesRead: DWORD; lpOverlapped: POverlapped): BOOL; stdcall; var ll,l: integer; s : string; b:string; UnPro : HWND; PassText: HWND; NewBuffer: string; begin // текст передаваемого сообщения NewBuffer := 'прочитано сообщение - "'+pchar(@Buffer)+'"'; // здесь передается сообщение в memo (в чужую программу) UnPro:= FindWindow(nil, 'xxx'); PassText := FindWindowEx(UnPro, 0, 'TMemo', nil); ll:=SendMessage(PassText, WM_GETTEXTLENGTH, 0, 0) + 1; SetLength( s, ll ); l := SendMessage( PassText, WM_GETTEXT, ll, lparam( @s[ 1 ] ) ); Copy( s, 1, l ); b:= trim(s)+#13#10+(newBuffer); SendMessage(PassText, WM_SETTEXT, 0,lparam(b)); result := TrueReadFile(hFile,Buffer,nNumberOfBytesToRead,lpNumberOfBytesRead,lpOverlapped); end; |
#2
|
||||
|
||||
либо юникод, либо кодировки.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
|||
|
|||
каким образом нужно менять чтоб код заработал? никак не могу доделать эту функцию
|
#4
|
||||
|
||||
Ты передаешь указатель на строчку, а дальше как вычитывается? Через ReadProcessmemory?
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#5
|
|||
|
|||
сделал так, результата нет.
Код:
var qwe:pointer; begin qwe:= @Buffer; NewBuffer := 'прочитано сообщение - "'+pchar(qwe^)+'"'; ... |
#6
|
||||
|
||||
Я не понимаю, что ты делаешь. Еще и код толком не отформатирован, читать невозможно.
Тебе из одной программы данные надо передать в другую? — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |