Сначала , FindWindowA()
может найти окна, которые нужно отправить, и получить дескриптор окна («hwnd»). Используйте SendMessage()
отправку чего-либо в обработчик сообщений Trigger WindowProcedure()
, затем обработайте этот тип сообщения в WindowProcedure()
.
Вот пример кода:
LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
COPYDATASTRUCT* copyData;
CHAR str[BUFFER_SIZE] = { 0 };
switch (message)
{
case WM_CREATE:
//Do Creat Windows.
break;
case WM_COMMAND:
//Do Something.
break;
case WM_COPYDATA:
copyData = (COPYDATASTRUCT*)lParam;
memcpy(str, (void *)copyData->lpData, copyData->cbData);
MessageBoxA(hWnd, str, "title", MB_OKCANCEL);
break;
}
}
файл class.cpp:
#include <windows.h>
#pragma warning(disable:4996)
int main()
{
char szWindowClass[] = "EDIT";
char cp[] = "printthis";
HWND hWnd = FindWindowA(szWindowClass, "xxx"/*windows title*/);
COPYDATASTRUCT copyData = { 0 };
copyData.lpData = cp;
copyData.cbData = strlen(cp)+1;
LRESULT h = SendMessageA(hWnd, WM_COPYDATA, 0, (LPARAM)©Data);
BOOL reg = SetWindowTextA(hWnd, "test");
return 0;
}
Выставьте веб-сервис на бэкенде Java и имейте фронтэнд C#, говорят с веб-сервисом Java. Изучите WCF (коммуникационная основа окон), это могло бы сделать говорящий с веб-сервисом Java намного легче.
Веб-сервисы должны быть Вашим выбором по умолчанию, потому что существует такая работа вокруг совместимости в том пространстве.
Если Вы не возражаете против плотного соединения и должны принять основанные на производительности решения, два решения, с которыми я встретился:
Я уверен, что существуют другие.
В то время как веб-сервисы (WS -*) могли бы быть правильным решением, заставление стеков взаимодействовать может быть топорным.
Существует очень, чтобы быть сказанным для HTTP + (POX | JSON) и архитектура REST-ian.
Я работал над бэкендом Java к толстому клиенту C#. Они связались через веб-сервисы хорошо. Единственная проблема, которую мы действительно имели, была с иерархиями наследования, какие веб-сервисы WSDLs стирают.
Вы могли использовать веб-сервисы.
Или Вы могли использовать IVKM для встраивания кода Java непосредственно в блок.NET.
Я действительно полагаю, что существуют некоторые проблемы совместимости с помощью веб-сервисов через платформы Java/.NET. Например, существуют некоторые проблемы с помощью Axis2 и .NET вместе. В большинстве случаев обходные решения существуют.
Я услышал некоторые хорошие комментарии об использовании архитектуры REST-ian все же.