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

FindWindowEx help ...

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

[ Pregleda: 2269 | Odgovora: 3 ] > FB > Twit

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 - pre 237 meseci
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
 
Odgovor na temu

blaza
n/a

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



+3 Profil

icon Re: FindWindowEx help ...01.11.2004. u 16:24 - pre 237 meseci
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
);

O_o
 
Odgovor na temu

`and

Član broj: 32490
Poruke: 776
213.244.197.*

Sajt: www.bitbyterz.org


Profil

icon Re: FindWindowEx help ...02.11.2004. u 18:48 - pre 237 meseci
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
 
Odgovor na temu

blaza
n/a

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



+3 Profil

icon Re: FindWindowEx help ...02.11.2004. u 19:07 - pre 237 meseci
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.
O_o
 
Odgovor na temu

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

[ Pregleda: 2269 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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