подключал программатор через UserPort, хоть программатор и был на LPT1, в его командной строке писал LPT2. :-) Еще вот такое где-то встретил, но не проверял...
/*
Должны быть права админа.
*/
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
if ( !OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken) )
return;
LookupPrivilegeValue(NULL, SE_TCB_NAME,
&tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
BOOLEAN bret = AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
(PTOKEN_PRIVILEGES)NULL, 0);
CloseHandle(hToken);
if ( !bret )
return;
HINSTANCE NtDll;
NtDll=LoadLibrary("ntdll.dll");
if ( !NtDll)
return ;
ZwSetInformationProcess( GetCurrentProcess(), 16,0 , 0 );
__try {
_asm {
push ax
push dx
mov dx,0x378
mov al,0xff
out dx,al
pop dx
pop ax
}
}
__except( EXCEPTION_CONTINUE_EXECUTION )
{
}
return;