Последние записи
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
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
Мар
Корректное перетаскивание прозрачной формы
невероятно, но я смог сам разобраться! вылаживаю код может кому нибуть поможет…
Облако меток
css реестр ассемблер timer SaveToFile ShellExecute программы массив советы word MySQL SQL ListView pos random компоненты дата LoadFromFile form база данных сеть html php RichEdit indy строки Win Api tstringlist Image мысли макросы Edit ListBox office C/C++ memo графика StringGrid canvas поиск файл Pascal форма Файлы интернет Microsoft Office Excel excel winapi журнал ПРОграммист DelphiКупить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)