Autor Wątek: Odwrotność SendMessage  (Przeczytany 634 razy)

Offline heavymental

  • Użytkownik

# Luty 27, 2017, 17:31:42
Hi,
mam taki problem - potrzebuję z jednej aplikacji pobrać wartość do drugiej aplikacji.
Przykładowo:
Wiem jak działa SendMessage którym mogę wysłać wiadomość do innej aplikacji (np. tekst do notatnika)
LPCWSTR ClassN = (LPCWSTR)L"notepad";
HWND h = FindWindow(ClassN, 0);
HWND h2;
h2 = FindWindowEx(h, 0, (LPCWSTR)L"EDIT", (LPCWSTR)L"");

SendMessage(h2, WM_CHAR, (WPARAM)CONVERT('T'), 1);
Potrzebował bym jednak coś takiego w drugą stronę - pobrać wartość z notatnika do aplikacji.
Zapewne służy do tego GetMessage - jednak nie mogę ogarnąć jak to zrobić.

Z jakiej klasy, pola (komponent lable - wartość to tekst) wynajdę choćby programem WinID - nie mam pojęcia jednak jak sam pobór zrobić.
« Ostatnia zmiana: Luty 27, 2017, 17:48:30 wysłana przez heavymental »

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Karol

  • Użytkownik

# Luty 27, 2017, 19:00:14
Chyba chodzi Ci o GetWindowText, a nie o GetMessage.

Offline FrozenShade

  • Użytkownik
    • Skullstone's official site

# Luty 27, 2017, 21:32:53
Musiał byś się wpiąć w pętlę komunikatów i przechwycić ten, który cię interesuje, ale nie pytaj się mnie jak to się robi bo zwyczajnie nie pamiętam.

Generalnie sposobów jest więcej, ogólnie temat nazywa się inter-process communication, tu masz wiki: https://pl.wikipedia.org/wiki/Komunikacja_mi%C4%99dzyprocesowa

Polecam komunikacje na pajpach.

Offline koirat

  • Użytkownik

# Luty 27, 2017, 22:02:28
Opowi chyba nie chodzi o ipc on chce pobrać daną z aplikacji która nie obsługuje IPC.

3 minuty z google....

Cytuj
1) Use Spy++ to get the name of the class of the RichTextbox and the window
2) Then, retrieve the handle of the window (every control is a window with a handle) using the FindWindow (or FindWindowEx) function
3) If you successfully retrieved the handle to the RichTextBox, simply send a WM_GETTEXT message to the control to retrieve the text

Offline heavymental

  • Użytkownik

# Luty 28, 2017, 13:27:00
Okay, wielkie dzięki za naprowadzenie!