Последние записи
- Как настроить адрес без указания на index.php?
- Чтение из Excel и валидация. Можно ли как-то ускорить данный процесс?
- Загрузить файл из папки с программой
- Компьютеры для бухгалтера и дизайнера. В чём разница?
- Удалить все повторения в строке
- Как в treeview узнать индекс узла по которому был click?
- Исходник программы «азбука Морзе»
- Рассылка. Выпуск 139
- Как в коснольном приложении открыть диалог сохранения?
- Поддержка drag and drop для Tlistview?
31st
Мар
Функция для удаления любого процесса, в котором включается привилегия доступа SE_DEBUG_NAME
{
bool Co;
HANDLE FS;
HANDLE hProcess = NULL;
DWORD dwError;
int result;
FS = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
ProcEntry.dwSize = sizeof(ProcEntry);
Co = Process32First(FS, &ProcEntry);
while (Co)
{
if ( ProcEntry.szExeFile == ExeFileName )
{
hProcess = OpenProcess(PROCESS_TERMINATE, false, ProcEntry.th32ProcessID);
if (hProcess == NULL)
{
if (GetLastError() != ERROR_ACCESS_DENIED)
return FALSE;
OSVERSIONINFO osvi;
// определяем версию операционной системы
osvi.dwOSVersionInfoSize = sizeof(osvi);
GetVersionEx(&osvi);
// мы больше ничего не можем сделать, если это не Windows NT
if (osvi.dwPlatformId != VER_PLATFORM_WIN32_NT)
return SetLastError(ERROR_ACCESS_DENIED), FALSE;
// включим привилегию SE_DEBUG_NAME и попробуем еще раз
TOKEN_PRIVILEGES Priv, PrivOld;
DWORD cbPriv = sizeof(PrivOld);
HANDLE hToken;
// получаем токен текущего потока
if (!OpenThreadToken(GetCurrentThread(),
TOKEN_QUERY|TOKEN_ADJUST_PRIVILEGES,
FALSE, &hToken))
{
if (GetLastError() != ERROR_NO_TOKEN)
return FALSE;
// используем токен процесса, если потоку не назначено
// никакого токена
if (!OpenProcessToken(GetCurrentProcess(),
TOKEN_QUERY|TOKEN_ADJUST_PRIVILEGES,
&hToken))
return FALSE;
}
_ASSERTE(ANYSIZE_ARRAY > 0);
Priv.PrivilegeCount = 1;
Priv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &Priv.Privileges[0].Luid);
// попробуем включить привилегию
if (!AdjustTokenPrivileges(hToken, FALSE, &Priv, sizeof(Priv),
&PrivOld, &cbPriv))
{
dwError = GetLastError();
CloseHandle(hToken);
return SetLastError(dwError), FALSE;
}
if (GetLastError() == ERROR_NOT_ALL_ASSIGNED)
{
// привилегия SE_DEBUG_NAME отсутствует в токене
// вызывающего
CloseHandle(hToken);
return SetLastError(ERROR_ACCESS_DENIED), FALSE;
}
// попробуем открыть описатель процесса еще раз
hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, ProcEntry.th32ProcessID);
dwError = GetLastError();
// восстанавливаем исходное состояние привилегии
AdjustTokenPrivileges(hToken, FALSE, &PrivOld, sizeof(PrivOld),
NULL, NULL);
CloseHandle(hToken);
if (hProcess == NULL)
return SetLastError(FALSE), NULL;
}
// пытаемся завершить процесс
if (!TerminateProcess(hProcess, (UINT)-1))
{
dwError = GetLastError();
CloseHandle(hProcess);
return SetLastError(dwError), FALSE;
}
}
Co = Process32Next(FS, &ProcEntry);
}
CloseHandle(FS);
CloseHandle(hProcess);
return TRUE;
}
31st
Зачем делать ADOQuery1.Close перед изменением SQL запроса?
Вам никогда не приходилось обращаться к встроенной в Дельфи справке?
Ну, тогда приведу пример из нее:
Delphi Object and Component Reference
SQL, ExecSQL example
______________________________________________________
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(’Delete from Country where Name = ”Argentina”’);
Query1.ExecSQL;
По-простому, попытка любого изменения SQL без этого – сродни попытке замены поршневых колец на работающем двигателе… ©mihali4
30th
Мар
Как отловить капчу вконтакте и потом передать текст с нее опять на сайт?
Был предложен такой вариант:
На сколько мне припоминается то когда капчу можно отловить в исходном коде(то что прийдёт от Get/Post запроса) приходит что то вроди такого:
{"ok":-2,"captcha_sid":"703109533263","text":"Enter code"}
Парсим значение “captcha_sid”, в данном случае это “703109533263″, далее подставляем в ссылку вида http://vkontakte.ru/captcha.php?s=1&sid=******* (как вы догадались заместь ******* подставляем значение captcha_sid которые мы ранее спарсили) и получаем прямую ссылку на картинку каптчи!
Что бы потом текст картинки отослать ВК нужно сделать следующее:
1) Добавить в конец пост запроса(при логине, отправке сообщения и тд) значение captcha_sid.
2) Непосредственно добавить сам текст с картинки: в параметре captcha_key.
Например: я расмотрю на примере когда каптча “вылазит” при авторизации на сайт, для этого нам нужно отослать пост запрос с таким содержимым:
op=a_login_attempt
captcha_sid=captcha_sid
captcha_key=captcha_key
captcha_sid = ранье спарсенное значение
captcha_key = сам текст с картинки
Более подробно о пост запросе вы можете узнать в любом HTTP снифере(HTTPAnalyzer и прочие аналоги)
29th
Мар
Первый выпуск журнала “ПРОграммист”
Здравствуйте, уважаемые форумчани, коллеги!
Сегодня у нас радостное событие- выход первого номера журнала “ПРОграммист”! 
Как и было запланировано журнал был с нуля сделан за 1 месяц, даже немного меньше =)
В нашем журнале, состоящего из 47 страниц формата А4, Вы найдете много интересной, эксклюзивной(все статьи авторские), и, надеемся, полезной информации.
В первый номер вошли статьи касающиеся правил правильного написания программ, работе с графикой в Delphi, для новичков в программировании вошла статья про создание простейшей программы на
WinAPI, а также статья посвященная быстрым преобразованиям Фурье (БПФ).
Также на страницах нашего журнала Вы увидите много интересных фактов и еще много много всего 
Хочу поблагодарить всех участников, работающих над нашим первым выпуском, а именно:
Редакторов:
Utkin, JTG, Сергей Бадло aka raxp
Дизайнеров/верстальщиков:
Егор Горохов aka Revival001, Indian, Сергей Бадло aka raxp
И, конечно же, авторов, которые написали замечательные статьи:
Utkin, Виктор Кон, Владимир Дегтярь,
Дмитрий Федорков, Руслан Аблязов,
Сергей Бадло
Особенно хочу поблагодарить Сергея, ибо без него журнала не было бы.
С уважением, член редакторского состава журнала Шульга Алексей aka Levsha100.
28th
Мар
Эквалайзер собственными руками
Эта тема уже поднималась на форуме.
В этот раз за нее взялись серьезно:)
Поучаствуйте в обсуждении.
28th
TCUI – библиотека графического интерфейса для J2ME
TCUI (TomClaw User Interface), библиотека графической оболочки, остова, при помощи которого можно легко, без особых усилий собрать полноценный интерфейс для Вашего приложения, написанного на Java 2 Microedition. Оговорюсь сразу, данная библиотека не сотрудничает с иными поставщиками, не является модификацией, подобием или иным подражанием. Авторство принадлежит одному лицу, Солкину Игорю Викторовичу. Распространяется оболочка по zlib/libpng лицензии с открытыми исходными кодами.
27th
Мар
Корректное перетаскивание прозрачной формы
невероятно, но я смог сам разобраться! вылаживаю код может кому нибуть поможет…
26th
Мар
Выбор названия журнала форума
25th
Технология CUDA
Технология CUDA — это программно-аппаратная вычислительная архитектура NVIDIA, основанная на расширении языка Си, которая даёт возможность организации доступа к набору инструкций графического ускорителя и управления его памятью при организации параллельных вычислений. CUDA помогает реализовывать алгоритмы, выполнимые на графических процессорах видеоускорителей GeForce восьмого поколения и старше (серии GeForce 8, GeForce 9, GeForce 200), а также Quadro и Tesla.
23rd
Мар
Октлючить спящий режим на ноутбуке
23rd
Как сравниваются картинки.
Предположим, у вас есть картинка, и еще много других. Как же их сравнить между собой (например, для обхода капчи)?
22nd
Мар
Что означает буква A в именах параметров?
22nd
Конкурс подходит к концу! Создание лучшего бота для игры Fortress.
Присылаем ботов до субботы на майл – gruzino-abhaz@rambler.ru
В субботу 27.03 будет производится битва Dll ботов.

От редактора.