![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Как через WinAPI получить текстовые данные? Сообщение должно обрабатываться в программе и результат присваиваться сообщению. Типа так:
Код:
//код в основной проге procedure TКЛАСС_ФОРМЫ.WMMessages(var Msg: TMessage); begin Case Msg.WParam Of STRING1QUERY: Msg.Result := НЕКАЯ_ФУНКЦИЯ_КОТОРАЯ_КОНВЕРТИРУЕТ_СТРОКУ_В_Integer(String1); STRINGTEST: Msg.Result := ФУНКЦИЯ('Test'); End; end; //и код в управляющей проге function TPlayerControl.GetString(Msg: Cardinal; wParam: integer; lParam: integer; var value: PChar): boolean; var Handle: HWND; begin value := ''; Handle := FindWindow(PChar('TКЛАСС_ФОРМЫ'), nil); if Handle <> 0 then begin value := ФУНКЦИЯ_КОТОРАЯ_КОНВЕРТИРУЕТ_РЕЗУЛЬТАТ_В_СТРОКУ(SendMessage(Handle, Msg, wParam, lParam)); Result := Value<>''; end else Result := false; end; |
#2
|
||||
|
||||
![]() Может здесь что-нить полезное будет?
http://www.script-coding.info/AutoHo...ndMessage.html Хорошо написанная программа не требует документации ICQ 9-184-668. |
#3
|
||||
|
||||
![]() Цитата:
А для кого указатели придумали???? Код:
var p : PChar; i : longint; begin p := GetMemory(200); p := 'Hello!'; i := integer(p); ShowMessage(PChar(i)); end; --------------------------------------------- Программирование - не профессия, а стиль жизни |
#4
|
||||
|
||||
![]() чет не работают указатели...
![]() Код:
//модуль function TPlayerControl.GetTrackTitle: string; var P: PChar; Handle: HWND; Integ : integer; begin Result := ''; P := getmemory(1024); Handle := FindWindow(PChar('TPLForm'), nil); if Handle <> 0 then begin integ := SendMessage(Handle, WM_COMMAND, 27211, 0); P := PChar(integ); Result := P; end; end; //сама программа procedure TPLForm.WMMessages(var Msg: TMessage); //message WM_COMMAND var i : integer; begin Case Msg.WParam Of ... 27211: begin i := integer(GetTag(FFileName)); Msg.Result := i; end; End; end; |
#5
|
||||
|
||||
![]() Может я ошибаюсь
Но PChar - это указатель на адрес памяти где хранятся текстовые данные и както странно передавать его другой программе. ![]() Есть много способов передачи данных от одной программы к другой. В данном случае я бы использовал технологию DDE - несколько строк кода и обменивайся текстовыми данными сколько хочешь. http://www.delphisources.ru/pages/fa.../dde_info.html (правда там немного запутанно но больше электронного описания пока ненашел) |