Avatar billede hatecaps Nybegynder
08. august 2005 - 22:21 Der er 8 kommentarer og
1 løsning

ændre tekstindhold i andet programs editbox

hejsa,

jeg har brug for noget hjælp til følgende:

jeg har et fremmed program kørende hvor der løbende bliver opdateret indhold i en tekstboks. I WinSight kan jeg se den og idetificere den som ThunderRT6TextBox og fange dens handle uden problemer. Det jeg nu vil gøre er at redigere indholdet i Delphi 6

nogen ideer ? er det overhovedet muligt ?

ha' det godt
hatecaps
Avatar billede doc404 Novice
09. august 2005 - 08:18 #1
Hvis du har tekstfeltets handle, burde dette virke:

SendMessage(Handle, WM_SETTEXT, 0, Integer(PChar('Hej med dig')));
Avatar billede hatecaps Nybegynder
09. august 2005 - 08:22 #2
det ser fornuftigt ud, men først skal jeg fange feltets oprindelige tekst, før jeg kan sende den redeigerede version tilbage. ;)
Avatar billede hatecaps Nybegynder
09. august 2005 - 08:25 #3
hmm, hvordan kan man caste en pchar til en integer ? vil det gå godt ?
Avatar billede doc404 Novice
09. august 2005 - 08:26 #4
var
  str : string;
...
  SetLength(s, 1024);
  n := SendMessage(Handle, WM_GETTEXT, 1024, Integer(@str[1]));
  SetLength(str, n);
Avatar billede doc404 Novice
09. august 2005 - 08:27 #5
En PChar er blot en pointer
Avatar billede hatecaps Nybegynder
09. august 2005 - 09:04 #6
alle tiders, det virker efter hensigten. Du må meget gerne poste et svar så du kan få dine point. Er 1024 iøvrigt øvre grænse ? Jeg tror nok at feltet til tider vil indeholde mere 1024 karakterer ?

jeg stiller et nyt spørgsmål for et nyt problem der er dukket op, hvis du er interesseret *g*
Avatar billede doc404 Novice
09. august 2005 - 09:19 #7
Den rigtige måde, at gøre det er nok følgende:

n := SendMessage(Handle,WM_GETTEXTLENGTH,0,0);
SetLength(str,n);
n := SendMessage(Handle, WM_GETTEXT, 1024, Integer(@str[1]));

Så sikre du, at str altid er stor nok.
Avatar billede hatecaps Nybegynder
09. august 2005 - 09:20 #8
skulle jeg så ikke også bruge n i stedet for 1024 i WM_GETTEXT delen ?
Avatar billede doc404 Novice
09. august 2005 - 09:31 #9
jo ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester