Ĺadny brzuch
W jaki sposób mogę wpisać coś do pola tekstowego innej aplikacji przy użyciu tej co mam.
Wiem że to będzie zaczynało się chyba tak:
HWND hwnd = FindWindow("TForm","Form1");
tylko nie wiem co totaj ma być :/
chciałbym wstawić wartość zmiennej typu char
np.
char[6]="abcdef";
Aby wklepac text do kontrolki, musisz znac jej uchwyt, jesli masz, to piszesz:
SendMessage(HWND, WM_SETTEXT, 0, LOngInt(@Buff));
SetWindowText(HWND, "Abcdef");
Okienko nie chce mi się znaleźć ;(
Wpisałem taki kod:
hwnd=FindWindowEx(hwnd,0,"Edit1","aaa");
if(hwnd) ShowMessage("Jest Edit");
Nie wiem czy wogóle dobrego kodu używam ale mam co do niego kilka pytań :
1) tam gdzie wpisałem aaa to ma być to co się w danej chwili znajduje w Edicie?
2) Tam gdzie wpisałem Edit 1 to ma być to co jest wpisane w pole name(zakładająć że program do którego chcemy się dostać pisany był w C++ Builder albo w Delphi Borlanda)
Wydaje mi sie, że FindWindow(Ex) służy tylko do wyszukiwania okien,a nie innych komponentów, te można znaleźć za pomocą jakiegoś tam wyliczenia znając uchwyt okna-rodzica.
//EDIT: spróbuj tego:
BOOL EnumChildWindows( HWND hWndParent, // handle to parent window WNDENUMPROC lpEnumFunc, // pointer to callback function LPARAM lParam // application-defined value );
Parameters
hWndParent:
Identifies the parent window whose child windows are to be enumerated.
lpEnumFunc:
Points to an application-defined callback function. For more information about the callback function, see the EnumChildProc callback function.
lParam:
Specifies a 32-bit, application-defined value to be passed to the callback function.
Return Values
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero.
Użytkownik Futhark edytował ten post 24 marzec 2005, 13:29
OK ale nie bardzo wiem jak to użyć w praktyce. Jak byś mógł pokazać mi to na jakimś prostym przykładzie. :rolleyes:
Za pomocą enumeracji można wyliczyć wszystkie okna...po co...FindWindow zwraca uchwyt do okna na podstawie nazwy klasy lub tekstu, którym okno się identyfikuje. FindWindowEx służy do wszykiwania dzieci kontrolki...Małe wyjaśnienie:
HWND FindWindow(
LPCTSTR lpClassName, // nazwa klasy
LPCTSTR lpWindowName // tekst
);
HWND FindWindowEx(
HWND hwndParent, // uchwyt do okna rodzica
HWND hwndChildAfter, // uchwyt do okna dziecka od którego funkcja rozpoczenie wyszkuwanie
LPCTSTR lpszClass, // nazwa klasy
LPCTSTR lpszWindow // tekst - tak to jest aaa
);
A tu w praktyce wyykorzystanie tych przydatnych funkcji:
HWND hNotatnik = FindWindow(NULL, "Bez tytułu - Notatnik") ;
HWND hPoleTekstowe = FindWindowEx(hNotatnik, NULL, "edit", NULL) ;
SetWindowText(hPoleTekstowe, "Tutaj tekst, który pojawi się w polu edit okna Notatnika") ;
I to cała filozofia...
a co do wyliczania to odsyłami cię na końcówki arta: http://www.haxite.or...kul_view&id=308
KONIEC pozdrawiam i życzę powodzeniaaaaa
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Wiem że to będzie zaczynało się chyba tak:
HWND hwnd = FindWindow("TForm","Form1");
tylko nie wiem co totaj ma być :/
chciałbym wstawić wartość zmiennej typu char
np.
char[6]="abcdef";
Aby wklepac text do kontrolki, musisz znac jej uchwyt, jesli masz, to piszesz:
SendMessage(HWND, WM_SETTEXT, 0, LOngInt(@Buff));
SetWindowText(HWND, "Abcdef");
Okienko nie chce mi się znaleźć ;(
Wpisałem taki kod:
hwnd=FindWindowEx(hwnd,0,"Edit1","aaa");
if(hwnd) ShowMessage("Jest Edit");
Nie wiem czy wogóle dobrego kodu używam ale mam co do niego kilka pytań :
1) tam gdzie wpisałem aaa to ma być to co się w danej chwili znajduje w Edicie?
2) Tam gdzie wpisałem Edit 1 to ma być to co jest wpisane w pole name(zakładająć że program do którego chcemy się dostać pisany był w C++ Builder albo w Delphi Borlanda)
Wydaje mi sie, że FindWindow(Ex) służy tylko do wyszukiwania okien,a nie innych komponentów, te można znaleźć za pomocą jakiegoś tam wyliczenia znając uchwyt okna-rodzica.
//EDIT: spróbuj tego:
BOOL EnumChildWindows( HWND hWndParent, // handle to parent window WNDENUMPROC lpEnumFunc, // pointer to callback function LPARAM lParam // application-defined value );
Parameters
hWndParent:
Identifies the parent window whose child windows are to be enumerated.
lpEnumFunc:
Points to an application-defined callback function. For more information about the callback function, see the EnumChildProc callback function.
lParam:
Specifies a 32-bit, application-defined value to be passed to the callback function.
Return Values
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero.
Użytkownik Futhark edytował ten post 24 marzec 2005, 13:29
OK ale nie bardzo wiem jak to użyć w praktyce. Jak byś mógł pokazać mi to na jakimś prostym przykładzie. :rolleyes:
Za pomocą enumeracji można wyliczyć wszystkie okna...po co...FindWindow zwraca uchwyt do okna na podstawie nazwy klasy lub tekstu, którym okno się identyfikuje. FindWindowEx służy do wszykiwania dzieci kontrolki...Małe wyjaśnienie:
HWND FindWindow(
LPCTSTR lpClassName, // nazwa klasy
LPCTSTR lpWindowName // tekst
);
HWND FindWindowEx(
HWND hwndParent, // uchwyt do okna rodzica
HWND hwndChildAfter, // uchwyt do okna dziecka od którego funkcja rozpoczenie wyszkuwanie
LPCTSTR lpszClass, // nazwa klasy
LPCTSTR lpszWindow // tekst - tak to jest aaa
);
A tu w praktyce wyykorzystanie tych przydatnych funkcji:
HWND hNotatnik = FindWindow(NULL, "Bez tytułu - Notatnik") ;
HWND hPoleTekstowe = FindWindowEx(hNotatnik, NULL, "edit", NULL) ;
SetWindowText(hPoleTekstowe, "Tutaj tekst, który pojawi się w polu edit okna Notatnika") ;
I to cała filozofia...
a co do wyliczania to odsyłami cię na końcówki arta: http://www.haxite.or...kul_view&id=308
KONIEC pozdrawiam i życzę powodzeniaaaaa