[ BIG FOOT @ 27.03.2004. 06:21 ] @
Kako da napravim program koji ce da mi ispisuje tekst u edit polje nekog vec postojeceg programa( video sam to na nekom cracku ). |
[ BIG FOOT @ 27.03.2004. 06:21 ] @
[ mnis @ 27.03.2004. 11:15 ] @
To mozes da uradis sa funkcijom:
BOOL SetWindowText( HWND hWnd, // handle of window or control LPCTSTR lpString // address of string ); hWnd ti je handle edit polja koji mozes da dobijes koristeci FindWindow, FindWindowEx, GetWindow, EnumChildWindows, WindowFromPoint, ChildWindowFromPoint, ... [ BIG FOOT @ 28.03.2004. 07:48 ] @
Hvala na postu ali bih te zamolio da mi malo pojasnis gore navedeno.
[ mnis @ 28.03.2004. 13:23 ] @
SetWindowText() koristi WM_SETTEXT da postavi title prozora. Znaci mozes da direktno posaljes WM_SETTEXT poruku prozoru pomocu SendMessage i ne moras da koristis SetWindowText.
Primjer: HWND hWnd = FindWindow("klasa_prozora", "title"); char * text = "novi text"; SendMessage(hWnd, WM_SETTEXT, 0, (LPARAM)text); Ovo ce da promijeni title zadatog prozora pod uslovom da je FindWindow() uspjela. Ako hoces da promijenis text neke edit kontrole, koristis isti princip samo je problem kako odrediti handle edit kontrole. Klasa prozora edit kontrole je EDIT. Jedan nacin da odredis ovaj handle je da odredis handle prozora koji sadrzi edit kontrolu pomocu FindWindow i onda izlistas sve njegove child prozore cija je klasa EDIT koristeci funkciju EnumChildEWindows. Pogledaj Win32 Dev. Ref. kako se koristis EnumChildWindows. Drugi nacin bi bio da koristis WindowFromPoint() funkciju koja vraca handle prozora koji sadrzi tacku Point. HWND WindowFromPoint( POINT Point // structure with point ); typedef struct tagPOINT { // pt LONG x; LONG y; } POINT; Sad ti samo jos treba jedna tacka koja se nalazi u edit kontroli ciji handle hoces da dobijes :) To mozes da uradis tako sto ces da kreiras tajmer na recimo 3 sekunde i kada timer okine ti pozoves GetCursorPos(). Znaci pokrenes svoj program, aktiviras tajmer, postavis pokazivac misa nad edit kontrolu i posle 3 sekunde imas handle kontrole. Ovo je malo komplikovan i nepraktican pristup ali moze da posluzi za testiranje. [ BIG FOOT @ 23.05.2004. 12:44 ] @
Izvini ,ali mi nikako ne uspeva.Ako moze neki kod primer.
[ Milan Milosevic @ 26.04.2007. 20:28 ] @
var
S:String; begin S:='Milan'; SendMessage(Edit1.Handle,WM_SetText,0,Integer(s)); end; Ovde samo Umesto Edit1.Handle ubacis Handle edit kontrole kojoj zelis da posaljes text. To mozes da uradis na vise nacina.Neki su objasnjeni iznad. [ savkic @ 26.04.2007. 22:49 ] @
Obratite pažnju na datum poruke. Ovo "vaskrsavanje" starih poruka se često događa, ima li rešenja?
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|