как то так... : Код (Text): #define _WIN32_WINNT 0x0500 #include <windows.h> #include <sddl.h> #include <accctrl.h> #include <stdio.h> #include <conio.h> #include <aclapi.h> BOOL ProtectProcess(HANDLE hProcess); void main(void) { HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetCurrentProcessId()); ProtectProcess(hProc); printf("SetProcessDacl - Keep a process from being closed by other applications."); while(TRUE) { Sleep(100); } } BOOL ProtectProcess(HANDLE hProcess) { SECURITY_ATTRIBUTES sa; sa.nLength = sizeof(SECURITY_ATTRIBUTES); sa.bInheritHandle = FALSE; if (!ConvertStringSecurityDescriptorToSecurityDescriptor("D:P", SDDL_REVISION_1, &(sa.lpSecurityDescriptor), NULL)) return FALSE; if (!SetKernelObjectSecurity(hProcess, DACL_SECURITY_INFORMATION, sa.lpSecurityDescriptor)) return FALSE; return TRUE; }
Что у тебя за система такая? Зы.: тестил на ХР СП3, Висте СП2, БыньСЕРВ 2003 P2 СП2 (все х86) нормально отработали как тот мой пример с винлогон.ехе так и сей кодес. На семерке пока не тестил. У меня образ отвалился на XEN'e... ):
Статья по поводу сабжа: http://masters.donntu.edu.ua/2010/fknt/prylepskyi/library/prylepskyi.html. Можете попробовать пообщаться с автором, может даст сорцы