Код:
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 выдает содержащиеся строковые данные в буфере в этих форматах.