Показать сообщение отдельно
Старый 30.03.2006, 13:04   #8  
Косых Артём is offline
Косых Артём
Участник
Axapta Retail User
 
123 / 77 (3) ++++
Регистрация: 03.09.2004
Адрес: Москва
Код:
static void Job13(Args _args)
{
    DLL         _winApiDLL              = new DLL('USER32');
    DLLFunction _getClipboardData       = new DLLFunction(_winApiDLL, 'GetClipboardData');
    DLLFunction _enumClipboardFormats   = new DLLFunction(_winApiDLL, 'EnumClipboardFormats');

    int         format;
    ;
    if(WinApi::openClipboard(0))
    {
        _enumClipboardFormats.arg(ExtTypes::DWord);
        _enumClipboardFormats.returns(ExtTypes::DWord);

        format = _enumClipboardFormats.call(0);

        _getClipboardData.arg(ExtTypes::DWord);
        while(format)
        {
            info(int2str(format));
            switch(format)
            {
                case 1: //CF_TEXT
                case 7: //CF_OEMTEXT
                    _getClipboardData.returns(ExtTypes::String);
                    info(_getClipboardData.call(format));
                    break;

                default:
                    break;
            }
            format = _enumClipboardFormats.call(format);
        }

        WinApi::closeClipboard();
    }
}
данный джобик выдает в инфолог номер формата,
в случае форматов 1 и 7 выдает содержащиеся строковые данные в буфере в этих форматах.

Последний раз редактировалось Косых Артём; 30.03.2006 в 13:09.