Последние записи
- Как настроить адрес без указания на index.php?
- Чтение из Excel и валидация. Можно ли как-то ускорить данный процесс?
- Загрузить файл из папки с программой
- Компьютеры для бухгалтера и дизайнера. В чём разница?
- Удалить все повторения в строке
- Как в treeview узнать индекс узла по которому был click?
- Исходник программы «азбука Морзе»
- Рассылка. Выпуск 139
- Как в коснольном приложении открыть диалог сохранения?
- Поддержка drag and drop для Tlistview?
27th
Окт
Удаленное управление веб камерой. Видеозахват методами DirectShow и через AVICAP
raxp:
хоть тема называется управление, но вижу затык с получением картинки… итак:
1) включить, то бишь получить-сграбить картинку с локальной камеры (usb подключение) можно через функции (универсальный подход к работе с драйвером камеры) AVICAP32.dll (cистемная)
Код:
(читать всё…)
8th
Сен
Как загрузить из файла и вывести на форму bitmap?
Пишу на дельфи, программа GUI WinAPI. Только начал изучать. Подскажите, как загрузить из файла и вывести на форму bitmap? (читать всё…)
23rd
Авг
Как можно узнать список всех окон процесса?
Есть процесс (чужой). Внедряю в него библиотеку. Как из библиотеки можно узнать список всех окон процесса?
EnumThreadWindows даёт только окна текущего потока – это не подходит. Есть ли способ перечислить сразу все окна процесса, или хотя бы потоки? (читать всё…)
16th
Авг
Как определить тип учётной записи?
Как это реализовать в делфи? Нужно определить админская учётка или огранич. (читать всё…)
8th
Авг
Как можно отключить звуковые оповещения beep (Пик – стандартный звук winows) для одного объекта, а лучше для все формы в Delphi?
delphicoding:
При переходе между некоторыми полями по Enter программа передаёт ПИК (стандартный виндовый звук). Как можно отключить звуковые оповещения для одного объекта, а лучше для все формы?
(читать всё…)
18th
Июн
Узнать в delphi приложении – загружена ли dll, какие dll используются программой.
Мастак:
Можно ли как-то проверить загружена ли определённая dll в память.Желательно это сделать из другого процесса.
12th
Май
Закрытие чужого процесса WinApi
Одно из многочисленных готовых решений:
function ProcessTerminate(dwPID:Cardinal):Boolean;
var
hToken:THandle;
SeDebugNameValue:Int64;
tkp:TOKEN_PRIVILEGES;
ReturnLength:Cardinal;
hProcess:THandle;
begin
Result:=false;
// Добавляем привилегию SeDebugPrivilege
// Для начала получаем токен нашего процесса
if not OpenProcessToken( GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES
or TOKEN_QUERY, hToken ) then
exit;
// Получаем LUID привилегии
if not LookupPrivilegeValue( nil, 'SeDebugPrivilege', SeDebugNameValue )
then begin
CloseHandle(hToken);
exit;
end;
tkp.PrivilegeCount:= 1;
tkp.Privileges[0].Luid := SeDebugNameValue;
tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
// Добавляем привилегию к нашему процессу
AdjustTokenPrivileges(hToken,false,tkp,SizeOf(tkp),tkp,ReturnLength);
if GetLastError()< > ERROR_SUCCESS then exit;
// Завершаем процесс. Если у нас есть SeDebugPrivilege, то мы можем
// завершить и системный процесс
// Получаем дескриптор процесса для его завершения
hProcess := OpenProcess(PROCESS_TERMINATE, FALSE, dwPID);
if hProcess =0 then exit;
// Завершаем процесс
if not TerminateProcess(hProcess, DWORD(-1))
then exit;
CloseHandle( hProcess );
// Удаляем привилегию
tkp.Privileges[0].Attributes := 0;
AdjustTokenPrivileges(hToken, FALSE, tkp, SizeOf(tkp), tkp, ReturnLength);
if GetLastError() < > ERROR_SUCCESS
then exit;
Result:=true;
end;
10th
Функция GetKeyboardState копирует состояние 256 виртуальных клавиш в заданный буфер.
Один из вариантов использования – отслеживание нажатия клавиш.

