|
От: |
Milman
|
|
Дата: | 11.04.02 04:47 |
|
Оценка: |
|
Задача послать сообщение с данными
//Посылка сообщения
LRESULT CALLBACK KeyboardProc(int code,WPARAM wParam,LPARAM lParam)
{
DWORD IsDown;
// обрабатываем только когда клавиша нажата (типа WM_KEYDOWN)
IsDown = !(lParam >> 31);
if (IsDown && code == HC_ACTION)
{
char *pNameApp=GetCommandLine();
COPYDATASTRUCT *_COPYDATASTRUCT = new COPYDATASTRUCT;
_COPYDATASTRUCT->dwData=0;
_COPYDATASTRUCT->cbData=0;
_COPYDATASTRUCT->lpData=GetCommandLine(),
Wnd = FindWindow (CN_SERV, WN_SERV);
SendMessage (Wnd,WM_COPYDATA,0,(LPARAM)(PCOPYDATASTRUCT)_COPYDATASTRUCT);
delete _COPYDATASTRUCT;
}
//Прием сообщения
LRESULT CALLBACK MainWndProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
switch (msg)
{
case WM_COPYDATA:
COPYDATASTRUCT *_COPYDATASTRUCT;
_COPYDATASTRUCT=(PCOPYDATASTRUCT)lParam;
char NameApp[80];
strcpy(NameApp,(char*)(_COPYDATASTRUCT->lpData));
//
MessageBox (NULL,NameApp, GetCommandLine(), 0);
NameApp пустой !!!
Подскажите, плз, где прямить руки
Пока на собственное сообщение не было ответов, его можно удалить.