Srodne teme
Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

FindWindowEx help ...

[es] :: C programiranje :: FindWindowEx help ...

[ Pregleda: 732 | Odgovora: 3 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

`and

Član broj: 32490
Poruke: 776
217.26.66.*

Sajt: www.bitbyterz.org


Profil

icon FindWindowEx help ...01.11.2004. u 13:11

E ovako: pravim neki program koji treba da cita podatke iz edit box-eva sa nekog levog programa.To naravno treba da uradim tako sto cu prvo naci hwnd preko API funkcije FindWindowEx .

Citat:

HWND FindWindowEx(

HWND hwndParent, // handle to parent window
HWND hwndChildAfter, // handle to a child window
LPCTSTR lpszClass, // pointer to class name
LPCTSTR lpszWindow // pointer to window name
);


E sad problem je u tome sto ima vise edit box-eva, a sve klase su istog imena "Edit", i window name se menja ! I onda mi nije jasno kako da nadjem hwnd odredjenog box-a ? Znam ID svakog box-a ( spy++) , ... da li mozda moze nekako nesto da se napise u parametru 3 (ima nesto u win32 hlp ali meni nije jasno) ili to treba da uradim na neki drugi nacin ?

tnx
01.11.2004. u 13:11 

blaza

Član broj: 961
Poruke: 735
*.vdial.verat.net.



Profil

icon Re: FindWindowEx help ...01.11.2004. u 16:24
Ovo ti treba:
Code:

GetDlgItem
The GetDlgItem function retrieves the handle of a control in the specified dialog box. 

HWND GetDlgItem(
  HWND hDlg,       // handle of dialog box
  int nIDDlgItem   // identifier of control
);
,
ili jos bolje ovo:
Code:

GetDlgItemText
The GetDlgItemText function retrieves the title or text associated with a control in a dialog box. 

UINT GetDlgItemText(
  HWND hDlg,       // handle of dialog box
  int nIDDlgItem,  // identifier of control
  LPTSTR lpString, // address of buffer for text
  int nMaxCount    // maximum size of string
);

If you want to argue with me, learn to google faster.
01.11.2004. u 16:24 

`and

Član broj: 32490
Poruke: 776
213.244.197.*

Sajt: www.bitbyterz.org


Profil

icon Re: FindWindowEx help ...02.11.2004. u 18:48
Imam ovakav kod:

Code:

HWND search_hwnd = FindWindow(NULL,"Search words");
char* buf2;
int len2 = GetWindowTextLength(GetDlgItem(search_hwnd,150));

    if (len2 == 0)
        MessageBox(hwnd,"g1","g",MB_OK);

buf2 = (char*)GlobalAlloc(GPTR, len2 + 1);
int cou = GetDlgItemText(search_hwnd,150,buf2,len2 + 1);

if ( cou == 0 )
        MessageBox(hwnd,"g2","g",MB_OK);

    

MessageBox(hwnd,buf2,"caption",MB_OK);


I uvek dobijem gresku, tj Funkcija nista ne cita ... ... zasto ?

tnx
02.11.2004. u 18:48 

blaza

Član broj: 961
Poruke: 735
*.vdial.verat.net.



Profil

icon Re: FindWindowEx help ...02.11.2004. u 19:07
Ja greske najlakse nalazim tako sto debagiram kod - izvrsavam ga korak po korak i pratim promenu svih parametara. Tako se vrlo precizno moze locirati problem.
Ako si za pronalazenje 'Control ID'-a korisitio 'Spy++' verovatno si zaboravio da je vrednost 'Control ID' koju si procitao zapravo heksadecimalan broj. Ako je to slucaj, prepravka 150 u 0x150 ce odraditi posao.
If you want to argue with me, learn to google faster.
02.11.2004. u 19:07 

[es] :: C programiranje :: FindWindowEx help ...

[ Pregleda: 732 | Odgovora: 3 ]

Postavi temu Odgovori

Srodne teme
Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.