Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
0 / 0 / 0
Регистрация: 30.04.2026
Сообщений: 11

Загрузка выгрузка без процесса и с процессом

30.04.2026, 12:07. Показов 3288. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
там нужно получить hwnd
чтобы выгрузить процесс de

C++
1
2
3
TerminateProcess(pi.hProcess, 0);
 CloseHandle(pi.hProcess);
  CloseHandle(pi.hThread);
свой калькулятор или блокнот
я могу выгрузить из памяти
а запущенный по таймеру яндекс броузер
не закрывается

1.
C++
1
2
//hwndhwnd=FindWindow("calc.exe", NULL);
//DestroyWindow(hwndhwnd);
2.
C++
1
2
3
TerminateProcess(pi.hProcess, 0);
 CloseHandle(pi.hProcess);
  CloseHandle(pi.hThread);
что делать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.04.2026, 12:07
Ответы с готовыми решениями:

Двунаправленная связь через pipe между процессом-родителем и процессом-ребенком
Зачем мы используем в этой программе 2 пайпа? #include <sys/types.h> #include <unistd.h> ...

Добавление своей dll в список dll подгружаемых процессом чужого процесса
Вообще вопрос такой,как можно внедрить свою dll в список Import чужого не запущенного процесса?Не...

Организация работы со словарем: загрузка/выгрузка, поиск слов с заданным корнем
STL Нужно использовать шаблон list (двусвязного списка) для организации работы со словарем...

31
 Аватар для Наталья8
625 / 383 / 67
Регистрация: 09.03.2016
Сообщений: 4,305
02.05.2026, 22:43
Студворк — интернет-сервис помощи студентам
Напишите - код гавно, сделаю одной строчкой?
Тогда позвольте возразить.
Эта штука настраиваеться на разные файлы и разное удаление.
Она может удалять папки вместе с содержимым.
Или файлы с данным расширением.
Так же переносить или переименовывать.
0
Software Engineer
 Аватар для Custos
338 / 342 / 55
Регистрация: 23.09.2014
Сообщений: 1,050
02.05.2026, 23:50
Цитата Сообщение от Royal_X Посмотреть сообщение
Но шуточные пакости, про которые я писал выше, не будут определяться как вирус на сайте virustotal
Даже если исполняемый файл будет содержать деструктивный код, который гарантированно палится поведенческими анализаторами антивирусов, то virustotal все равно можно обмануть, так как малварь зачастую содержит детекты для обнаружения виртуального окружения. Если виртуальное окружение обнаружено, то малварь будет себя вести как безобидное приложение, чтобы не вызывать подозрений, а деструктивное поведение будет проявляться только на реальных машинах пользователей.

Поэтому virustotal по большей части бесполезен.
А для разработчиков легитимного софта даже вреден, так как некоторые антивирусы могут воспринимать сам факт отправки бинарника на virustotal как недоверие/подозрительность пользователей в отношении ПО, и просто на всякий случай могут помечать такой софт как "потенциально опасный".

Также virustotal любит ругаться на бинарники, которые используют публичные библиотеки, которые также активно используются и авторами вредоносного ПО. У меня, к примеру, так было с lazy importer. Пришлось делать форк и немного перерабатывать либу.
2
0 / 0 / 0
Регистрация: 30.04.2026
Сообщений: 11
03.05.2026, 00:11  [ТС]
pid-error-list-txtfile <it=analyz>

1.pid 1=error 5
2.pid 2=error 6
3.pid 3=error 5
4.pid 4=error 6
5.pid 5=error 6
6.pid 6=error 5
----------------
100.pid 100=error 5
101.pid 101=error 6

getlasterror использовал
лист отчет тест ткст файл

все процессы открыла enumprocess() загрузкой таблицы пидов-pids
openprocess()


C++
1
2
3
4
5
6
7
//#if _WIN32_WINNT >= 0x0600
    // ?????????? QueryFullProcessImageName
    //QueryFullProcessImageName(hProcess, 0, szProcessName, pnsize);
//#else
    // ?????????????? ????? ??? ?????? ?????? Windows
 //   GetModuleFileNameEx(hProcess, NULL, szProcessName, &pnsize);
//#endif

QueryFullProcessImageName( -вылетают ошибки что только ни делал (флаг версии винды вначале выставлял даже)

GetModuleFileNameEx( - компилится нормально - но в чек-листе с пидами-pids == выдает 5 5 5 6 5 6 5 6 6 5

самое интересное номера ошибки моно и легко находятся в справочнике микросовт

szProcessName - самая интеоресная выходная переменная текстовая.....от функции выше на одну строку

она должна выдать имя в нормальном текстовом виде -
но нет
черт побери только адна буква как байт и ошибка в указателе переменной компилятора
я указатель "&" &var1000 - так ошибка
а var1000 - нет ошибки...................
0
 Аватар для Наталья8
625 / 383 / 67
Регистрация: 09.03.2016
Сообщений: 4,305
03.05.2026, 00:11
Custos,
Полезно...
0
0 / 0 / 0
Регистрация: 30.04.2026
Сообщений: 11
03.05.2026, 00:13  [ТС]
щас попробую менятель привилегий новых пустых файлов создать
чтобы понять как это выглядит снизу.....
проблема простых разрабов
защитить свою новую прогу от себя же....на всяк случай
0
 Аватар для Наталья8
625 / 383 / 67
Регистрация: 09.03.2016
Сообщений: 4,305
03.05.2026, 00:18
Роман1005000,
У тебя с письмом не всё очень хорошо.
И с чтением похоже тоже.
Будь проще.. Всё работает без привилегий.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// ================================
// Получить ID процесса и потока
                DWORD processId;
                GetWindowThreadProcessId(hTargetWindow, &processId);
 
 
        HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processId);
        if (hProcess == NULL) {
            std::cerr << "Не удалось открыть процесс: "  << std::endl;
            Sleep(300);
        }
DWORD charsCarried = BUF_LEN;
/* get executable name*/
        if (QueryFullProcessImageName(hProcess, 0, fullPath, &charsCarried) == FALSE)
        {
            memset(fullPath, 0, wcslen(fullPath) * sizeof(wchar_t));
        }
std::wcout  << fullPath << std::endl;
 
    CloseHandle(hProcess);
        hProcess = NULL;
Почему у меня нет проблем с пидлами?
0
0 / 0 / 0
Регистрация: 30.04.2026
Сообщений: 11
03.05.2026, 00:20  [ТС]
сначала пишем фотку грузит
задаем привилегию я крутая такая
шиш со мной.....

потом пишем закрывалку простую
с другой фоткой типа я танк а ты кукла

так на двух разных програх
мы можем искать по этой модели способы закрытия разн программ
деинсталятор с нуля даже написать с драйвером типа антивир чутьть
0
 Аватар для Наталья8
625 / 383 / 67
Регистрация: 09.03.2016
Сообщений: 4,305
03.05.2026, 00:35
Цитата Сообщение от Роман1005000 Посмотреть сообщение
менятель привилегий новых пустых файлов создать
Я создавал...
Потом кучу файлов восстанавливать задолбался.
Менять обратно. В ручную...
(Сколько чудаков здесь мелькает...)

Добавлено через 7 минут
И пожалеешь............

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include <windows.h>
#include <locale.h>
#include <Aclapi.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");// Принимает русский путь...(проблемы с русскими путями)    
    static char dst_foldername[128]{};
    if (argc == 2) {// Если перетащил на экзешник файл то
                    //----------------Грузить  (перетаскиванием)
        WideCharToMultiByte(CP_ACP, 0, argv[1], -1, dst_foldername, wcslen(argv[1]), NULL, NULL);
        dst_foldername[wcslen(argv[1])] = '\0';
    }
    else {
        printf(" ====== Drag the folder with shit onto the exe file ======\n\n ");
        printf("      drag the file to the executable\n \n         ### press ENTER ###"); getchar(); return 0;
    }
    
    //----------------------------
    // printf("%s\n", dst_foldername);
    //  getchar(); getchar();
 
    PACL pSacl{};
    DWORD dwResult{};
    
// Беру дискриптор.
    HANDLE hDir_out = CreateFileA(dst_foldername,
                  READ_CONTROL | WRITE_DAC, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL);
    if (hDir_out == INVALID_HANDLE_VALUE)printf("%s\n", "fucked CreateFileA");
 
    
    ACL* pOldDACL;//   Беру DACL У папки.
    PSECURITY_DESCRIPTOR pSD = NULL;
GetSecurityInfo(hDir_out, SE_FILE_OBJECT,
        DACL_SECURITY_INFORMATION, NULL, NULL, &pOldDACL,// <------ Указатель на переменную, 
        NULL, &pSD);//        которая получает указатель на список DACL в возвращенном дескрипторе безопасности.
 
PACL pAcl = pOldDACL;
int aceNum = pOldDACL->AceCount;
for (int i = 0; i < aceNum; i++)
{
    ACE_HEADER *aceAddr = NULL;
    if (GetAce(pAcl, i, (void**)(&aceAddr)))
    {
        printf("ACE type: %d \n", aceAddr->AceType); ACCESS_ALLOWED_ACE_TYPE;
        printf("ACE flags: %d \n", aceAddr->AceFlags);
        printf("ACE size: %d \n", aceAddr->AceSize);
    //--------------------- 
        DeleteAce(// Удаляю все разрешения
            pOldDACL,
            i
        );
    }
}
 
    ACL* pNewDACL = 0;
// Сшибаю всё
    SetSecurityInfo(hDir_out, SE_FILE_OBJECT, DACL_SECURITY_INFORMATION, NULL, NULL, pNewDACL, NULL);
 
      //while (true) {
    //  Sleep(10);
  //        if (KEYDOWN(VK_SPACE))break;
//  }
 
    //  Устанавливаю
        SetSecurityInfo(hDir_out, SE_FILE_OBJECT, DACL_SECURITY_INFORMATION, NULL, NULL, pOldDACL, NULL);
        
    LocalFree(pNewDACL);
    LocalFree(pSD);
    LocalFree(pOldDACL);
                       CloseHandle(hDir_out);
                        
    return 0;
}
0
0 / 0 / 0
Регистрация: 30.04.2026
Сообщений: 11
03.05.2026, 04:07  [ТС]
system("taskkill /IM browser.exe /F");

как cls в бейсике сработало.
я даже удивился от ужаса
впроделанной многоработе

[
в результате я задумался о новых сложных программах как антивирус
я вначале сомневался но это интересные случаи виртуализации
]

Добавлено через 3 минуты
но мне надо чтобы он конкретно среди мозиллы оперы закрывал именно яндекс броузер
а то вдруг
чрезмерно обобщая он мне все разные броузеры закроет а я там телики в разных бро смотрю

поэтому проверяю ваши вложения внимательно
windowsclose.rar там всего две три voids функции важные

дефендер на гитхабе от взлома

тасккил

вообщем куча интересных идей господа

Добавлено через 58 секунд
спасибо за таскилл

милион лайков

вам профессор
0
0 / 0 / 0
Регистрация: 30.04.2026
Сообщений: 11
04.05.2026, 11:41  [ТС]
а как сделать чтоб окно было выше всех окон даже перекрывало фулскриновое с фильмом?
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6319 / 3044 / 1054
Регистрация: 01.06.2021
Сообщений: 11,624
04.05.2026, 13:06
Цитата Сообщение от Роман1005000 Посмотреть сообщение
а как сделать чтоб окно было выше всех окон
с этим всё просто, нужно использовать флаг HWND_TOPMOST. Этот флаг можно передать в SetWindowPos в качестве второго аргумента. Подробнее: https://learn.microsoft.com/en... twindowpos

Цитата Сообщение от Роман1005000 Посмотреть сообщение
даже перекрывало фулскриновое с фильмом
с этим уже посложнее. Можно попробовать при создании окна использовать CreateWindowEx со стилем WS_EX_TOPMOST. Может сработать, а может и нет, хз.
Прикол в том, что эти окна полноэкранных фильмов, скорее всего, будут тоже в режиме exclusive fullscreen, причем, будут использовать всякие DirectX и прочее, а стало быть будут иметь приоритет над WS_EX_TOPMOST и HWND_TOPMOST.
В таких случаях, нужно тоже использовать низкоуровневые техники типа Direct Composition / DXGI overlay, которые например используются курсором мыши, который поверх даже полноэкранного фильма. Тут уже обычных знаний по WinAPI будет недостаточно, и такое реализовать сложно. По крайней мере, я таким никогда не занимался.
Как альтернативу, в голову приходит идея отключить эксклюзивный fullscreen у окна с фильмом. Это, конечно, вмешательство в чужой процесс, но в таком случае твое topmost окно уже сможет перекрыть фильм. Но и тут не уверен, сработает ли или нет.
1
 Аватар для Наталья8
625 / 383 / 67
Регистрация: 09.03.2016
Сообщений: 4,305
04.05.2026, 13:57
Такую конструкцию долбить надо регулярно. Таймером что ли? По верх всего будет.

C++
1
2
3
// Подбросить окно браузера поверх всех окон, и сбросить обратно.
    SetWindowPos(data.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW);
    SetWindowPos(data.hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
Добавлено через 13 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
//------------------Анимация---------------------------------------------------------
void __fastcall TForm1::Timer2Timer(TObject *Sender)
{
aniPic++;
if(aniPic==2){Image1->Picture->Bitmap = NULL;Image1->Picture->Assign(Image2->Picture);}
if(aniPic==3){Image1->Picture->Bitmap = NULL;Image1->Picture->Assign(Image3->Picture);}
if(aniPic==4){Image1->Picture->Bitmap = NULL;Image1->Picture->Assign(Image4->Picture);}
if(aniPic==5){Image1->Picture->Bitmap = NULL;Image1->Picture->Assign(Image5->Picture);}
if(aniPic==6){Image1->Picture->Bitmap = NULL;Image1->Picture->Assign(Image6->Picture);}
if(aniPic==7){Image1->Picture->Bitmap = NULL;Image1->Picture->Assign(Image7->Picture);}
if(aniPic==8)aniPic=1;
SetWindowPos(Form1->Handle, HWND_TOPMOST, 0, 0, 0, 0,//--По верх всех окон
        SWP_NOMOVE | SWP_NOSIZE);
На шестом бильдере... И так и оставил...
Здесь за один проход таймера показывает один спрайт и делает по верх всех окон.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.05.2026, 13:57

WebServer выгрузка / загрузка файлов
Домашний Веб сервер по методологии CGI ISAPI - Web Server Application Задача: 1. При...

Загрузка\выгрузка в файл
Добрый день! У меня не получается сохранить двусвязный список в файл, точнее, оно сохраняет...

Создание динамической библиотеки с функцией загрузки и выгрузки
Ребят, помогите написать программу. Такое совсем не знаю как осилить... Написать динамическую...

Выгрузка DLL из стороннего процесса
Как возможно выгрузить DLL из стороннего процесса, желательно пару примеров.

Выгрузка dll из процесса
Здраствуйте. DLL подключается к процессу при его старте, и мне нужно чтобы при определенном условии...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru