Показать сообщение отдельно
Старый 13.09.2005, 09:24   #1  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
Извините, но задачу идентификации окна Axapta можно реализовать намного проще и элегантнее. IMHO

PHP код:
#define.WM_SETTEXT(0x000C)
static void Job18(Args _args)
{
    
str         caption;
    
int  defWindowProc(
                               
int              _handle,
                               
int              _msg,
                               
int              _wParam,
                               
str              _lParam )
    {
        
int         ret;
        
DLL         _DLL             = new DLL('USER32');
        
DLLFunction _defwproc        = new DLLFunction(_DLL'DefWindowProcA');
        ;

        
_defwproc.returns(ExtTypes:: DWord); // LRESULT
        
_defwproc.arg(ExtTypes:: DWord);     // handle window
        
_defwproc.arg(ExtTypes:: DWord);     // message
        
_defwproc.arg(ExtTypes:: DWord);     // wparm
        
_defwproc.arg(ExtTypes::String);     // lparm

        
return  _defwproc.call(_handle_msg_wParam_lParam);
    }
    ;
    
caption winapi::getWindowText(infolog.hWnd());
    
defWindowProc(infolog.hWnd(), #WM_SETTEXT, 0, "База данных 1 : " + caption);

Двоеточие и D местный парсер превращает в смайлики, так что уберите пробел, если будете использовать
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: mazzy (5).