Pieter Opublikowano 11 Grudnia 2004 Udostępnij Opublikowano 11 Grudnia 2004 Właśnie tworze program na delphi do gry Star Wars Jedi Knight III: jedi Academy i mam taki problem z tą funkcją: function sendmessagebystring(handle: hWnd;uMsg: Cardinal; WPARAM: wParam; text: string):integer; stdcall;external 'user32.dll' name 'SendMessageA'; W ten sposób działa poprawnie (ustawia tekst w oknie tekstowym innej aplikacji): sendmessagebystring(edit1.Handle,WM_SETTEXT,0,'testowy text'); A jak chce pobrać tekst: sendmessagebystring(edit1.Handle,WM_GETTEXT,0,edit2.text); EDIT2 to pole tekstowe w którym ma się znajdować tekst z EDIT1 przesyłany ta funkcją ale się tak nie dzieje :( Co zrobić by dało się odbierać tekst z pola? PROSZE POMÓŻCIE MI! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marmot Opublikowano 11 Grudnia 2004 Udostępnij Opublikowano 11 Grudnia 2004 Ja spróbowałbym tak: var zawartosc:string; begin zawartosc:=Edit1.Text; Edit2.Text:=zawartosc; end; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 11 Grudnia 2004 Filar Społeczności Udostępnij Opublikowano 11 Grudnia 2004 Winapi reference: An application sends a WM_GETTEXT message to copy the text that corresponds to a window into a buffer provided by the caller. WM_GETTEXT wParam = (WPARAM) cchTextMax; // number of characters to copy lParam = (LPARAM) lpszText; // address of buffer for text Parameters cchTextMax Value of wParam. Specifies the maximum number of characters to be copied, including the terminating null character. lpszText Value of lParam. Points to the buffer that is to receive the text. Return Values The return value is the number of characters copied. W sendmessagebystring trzecim argumentem jest liczba znakow do skopiowania, a ty chcesz skopiowac az 0. :) Zeby wiedziec jaka dlugosc ma tekst, skorzystaj wczesniej z WM_GETTEXTLENGTH Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pieter Opublikowano 12 Grudnia 2004 Autor Udostępnij Opublikowano 12 Grudnia 2004 Dzięki Ranma_man jak zwykle pomocny. Marmot nie kapujesz? Chodziło mi o to że z jednej aplikacji do drugiej a edity to taki przykład :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pieter Opublikowano 12 Grudnia 2004 Autor Udostępnij Opublikowano 12 Grudnia 2004 kiedys tak prubowalem ale sie nie da :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 12 Grudnia 2004 Filar Społeczności Udostępnij Opublikowano 12 Grudnia 2004 No to ja wiecej nie wiem, bo tego nie testowalem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pieter Opublikowano 4 Stycznia 2005 Autor Udostępnij Opublikowano 4 Stycznia 2005 Co W tym kodzie jest zle? unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls; type TForm1 = class(TForm) Button1: TButton; RichEdit1: TRichEdit; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; function sendmessagebystring(handle: hWnd;uMsg: Cardinal; WPARAM: wParam; lParam: string):integer; stdcall;external 'user32.dll' name 'SendMessageA'; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var aaa: integer; TheText: String; jkmpwinconsole:HWND; editx:HWND; begin jkmpwinconsole := FindWindow('jk2mp winconsole', nil); editx := FindWindowEx(jkmpwinconsole, 0, 'edit', nil); editx := FindWindowEx(jkmpwinconsole, editx, 'edit', nil); TheText := ' '; aaa := sendmessage(editx,WM_GETTEXTLENGTH ,0,0); sendmessagebystring(editx,WM_GETTEXT,aaa+1,TheText); RichEdit1.Lines.Text:=TheText; end; procedure TForm1.Button2Click(Sender: TObject); begin application.Terminate; end; end. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marmot Opublikowano 5 Stycznia 2005 Udostępnij Opublikowano 5 Stycznia 2005 Nie wiem, czy ten sendmessagebystring itp. funkcje wysyłają gdy masz richedit. Spróbuj go zamienić na Memo i wtedy spróbuj. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pieter Opublikowano 12 Stycznia 2005 Autor Udostępnij Opublikowano 12 Stycznia 2005 Chłopie pokazuje mi się błąd po naciśnięciu buttona :/ rich edit nic niema do tego. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marmot Opublikowano 12 Stycznia 2005 Udostępnij Opublikowano 12 Stycznia 2005 Podaj treść tego błędu, bo nie znamy nawet jego treści a mamy ci pomagać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pieter Opublikowano 15 Lutego 2005 Autor Udostępnij Opublikowano 15 Lutego 2005 Broblemik rozwiazany i program XavieR Kill Tracker 1.0 powastal. Ranma_man czy mjugl bys zmienic mi nick na XavieR? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pieter Opublikowano 17 Lutego 2005 Autor Udostępnij Opublikowano 17 Lutego 2005 Dzięki za zmiane nicku :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się