WScript.Echo(GetPrinterName());
function GetPrinterName()
{
var hMainWnd=AkelPad.GetMainWnd();
var oSys=AkelPad.SystemFunction();
var lpPrintInfo;
var lpDevNames;
var hDevNames;
var nDeviceOffset;
var pDeviceName="";
if (lpPrintInfo=AkelPad.MemAlloc(_X64?56:40 /*sizeof(PRINTINFO)*/))
{
AkelPad.SendMessage(hMainWnd, 1215 /*AKD_GETPRINTINFO*/, lpPrintInfo, 0);
hDevNames=AkelPad.MemRead(lpPrintInfo + (_X64?8:4) /*offsetof(PRINTINFO, hDevNames)*/, 2 /*DT_QWORD*/);
if (hDevNames && (lpDevNames=oSys.Call("kernel32::GlobalLock", hDevNames)))
{
nDeviceOffset=AkelPad.MemRead(lpDevNames + 2 /*offsetof(DEVNAMES, wDeviceOffset)*/, 4 /*DT_WORD*/);
pDeviceName=AkelPad.MemRead(lpDevNames + nDeviceOffset * _TSIZE, _TSTR);
oSys.Call("kernel32::GlobalUnlock", hDevNames);
}
AkelPad.MemFree(lpPrintInfo);
}
return pDeviceName;
}
Posted: Mon Nov 12, 2012 7:03 am
by sasa236
Все заработало! Большое Вам Спасибо!!!
Posted: Thu Nov 29, 2012 8:52 am
by booleg
И опять я о компиляции паскалевских программ. Как добавить кнопку для запуска откомпилированного приложения прямо из Акелпада? Добавить кнопку с командой на выполнение .exe файла не проблема, но нужно, чтобы запускался не фиксированный .exe файл. Запускать нужно файл с именем редактируемого в данный момент файла, но расширением .exe. Наверное можно какой-то скрипт написать, но я в скриптах не силен. Вообщем - "поможите люди добрые, кто чем может".
Posted: Thu Nov 29, 2012 10:03 am
by booleg
Кажется сам разобрался. Создал копию RunMe.js и в ней сделал небольшие корректировки:
1) создал функцию
Большая просьба к автору RunMe.js прокомментировать насколько корректно это будет работать.
Posted: Thu Nov 29, 2012 12:03 pm
by VladSh
booleg
Лучше бы задать этот вопрос, где анонсируются скрипты и ведётся их обсуждение, т.е. здесь. Но вы удивительным образом сумели отметиться с одним и тем же вопросом в 2-х темах, и даже создали одну отдельную. Такое ощущение, что темы выбираете рэндомайзом.
Надеюсь Instructor перенесёт ваше сообщение туда.
Posted: Thu Nov 29, 2012 12:59 pm
by booleg
VladSh wrote:booleg
Лучше бы задать этот вопрос, где анонсируются скрипты и ведётся их обсуждение, т.е. здесь. Но вы удивительным образом сумели отметиться с одним и тем же вопросом в 2-х темах, и даже создали одну отдельную. Такое ощущение, что темы выбираете рэндомайзом.
Надеюсь Instructor перенесёт ваше сообщение туда.
Вы будете удивлены, но первое моё сообщение и было сюда перенесено (предположительно Instructor-ом ), а второе я запостил сюда как развитие темы.