Komunikacja między aplikacjami - Windows Message WM_COPY - jak przechwycić?

0

Możesz napisać co chcesz przesyłać między tymi aplikacjami?

I ogólnie winapi jest tak do d**y, że lepiej już ręcznie pamięć modyfikować.

1
litrmleka napisał(a):

Może to jeszcze jakaś wskazówka.
Wysłałem pytanie do producenta o ten kod:

   TCHAR* lpszString = (TCHAR*)"DIMX=....,LOWRES=0,HINTBOX=0,";
		COPYDATASTRUCT cds;
		cds.dwData = ID_COPYDATA_PHOTODONE;
		cds.cbData = sizeof(TCHAR) * (_tcslen(lpszString) + 1);
		cds.lpData = (TCHAR*) lpszString;

To jest odpowiedź:

here's how my code is different :
cds.lpData = szString.GetBuffer() ;
and after you called ::SendMessage, you need to call
szString.ReleaseBuffer() ;
About other data, that's the same code.

Gość po prostu używa CString-a z MFC i jakoś musi wyłuskać z niego pamięć, by przekazać do niskopoziomowego interfejsu WM_COPYDATA. Nic to nie wnosi.
Testowałeś moje funkcje? Pamiętaj, że hWnd przekazywany do serwera musi być uchwytem okna, które ma tą procedurę okienkową nasłuchującą WM_DATACOPY, inaczej nie dostaniesz odpowiedzi.

0

Dla testu zmieniłem tylko (*THCAR) na _T i działa. W NC pokazuje się zdjęcie, także mam komunikację.

0

Jeszcze tylko pytanie odnośnie komunikacji pomiędzy tym moim forwarderem w C++ a moim serwerem w C#. Dalej brnąć w WM_COPYDATA, czy jest jakieś lepsze rozwiązanie?

0
litrmleka napisał(a):

Jeszcze tylko pytanie odnośnie komunikacji pomiędzy tym moim forwarderem w C++ a moim serwerem w C#. Dalej brnąć w WM_COPYDATA, czy jest jakieś lepsze rozwiązanie?

Zerknę na windowsowe ipc i dam znać. Będzie chyba prościej niż robić to sieciowo po loopbacku. No i w net funkcje tez powinny być normalne do tych mechanizmów. To WM_COPYDATA raczej zostaw, bo to było pomyślane dla aplikacji WINAPI. Byś znowu musiał się bawić w uzgadnianie tych uchwytów okienek.
Pamiętaj też, że na razie coś Ci wyszło, a do produkcyjnego kodu serwera pośredniczącego jeszcze parę kroków. Natomiast nic nie napisałeś czy odpowiedź zwrotną dostałeś.

1 użytkowników online, w tym zalogowanych: 0, gości: 1