Форум программистов, компьютерный форум CyberForum.ru

Удаление процессов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Builder C++ Builder6 в devcpp-4.9.9.2 http://www.cyberforum.ru/cpp-beginners/thread1060561.html
Добрый день! Появился не большой вопрос. Есть ли возможность с C++ Builder6 в devcpp-4.9.9.2 сделать ? Чтобы все было красиво и компилировалась. Есди да, подскажите каким образом. Спасибо за ответ
C++ Вызов конструктора базового класса из порожденного Есть Базовый класс студент: имеет поля: фамилия, адрес, тел., возраст. Порожденный класс группа: имя группы, кол-во студентов в группе, массив студентов И нужно вводить студентов в группу через конструктор базового класса, т.е. элемент массива объектов класса будет содержать имя группы, кол-во студентов в ней, и массив самих студентов. Для массивов нужен конструктор по умолчанию.... http://www.cyberforum.ru/cpp-beginners/thread1060558.html
не работает инкрементация указателя C++
кинул мне сегодня знакомый програмку...нужно было переделать ее с использованием указателя суть в чем...программа - обычная викторина, 8 вопросов, 4 варианта, из которых 1 правильный....если вопрос правильный, вызывалась функция otvet(&points), в которой void otvet(int *points) { cout << "Вы выбрали правильный ответ!" << endl; *points++; }
C++ Динамические массивы
Помогите сделать пожалуйста массивы a и с динамическими, чтобы не переполнять память при сортировке больших чисел. Спасибо заранее. #include <iostream> #include <fstream> // Работа с файлами. using namespace std; int a; int c;
C++ Реализовать запросы в структурах http://www.cyberforum.ru/cpp-beginners/thread1060537.html
Реализовать запросы: 1) определить местонахождение фирмы, производящей заданный продукт, 2) определить суммарную стоимость продуктов, производимых в данном городе, 3) упорядочить список продуктов по цене для данного города. Можете помочь реализировать запросы. /*Створити масив структур. Кожна структура складається з таких елементів: місто, фірма, продукт, кількість продукту, ціна одиниці...
C++ Алгоритм кода Напишите пожалуйста алгоритм кода. Задание: Написать код на сортировку естественного слияния с выбором заполнения массива - рандомный или ручной ввод. #include <iostream> #include <cstdlib> #include <ctime> using namespace std; const int N = 100; подробнее

Показать сообщение отдельно
kventin_zhuk
БНТУ ФИТР
 Аватар для kventin_zhuk
214 / 154 / 15
Регистрация: 26.12.2012
Сообщений: 382
30.12.2013, 07:35     Удаление процессов
15Art94,

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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#include <windows.h>
#include <iostream>
#include <stdio.h>
#include <conio.h>
 
 
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
    HWND zapproc,
         procclc,
         udalclc,
         listbox,
         stat;
    
    
 
int WINAPI WinMain (HINSTANCE hThisInstance,HINSTANCE hPrevInstance,LPSTR lpszArgument,int nFunsterStil)
{
    
    char szClassName[ ] = "WindowsApp";
    HWND hwnd;              
    MSG messages;           
    WNDCLASSEX wincl;        
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure;     
    wincl.style = CS_DBLCLKS;               
    wincl.cbSize = sizeof (WNDCLASSEX);
    wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL;                 
    wincl.cbClsExtra = 0;                     
    wincl.cbWndExtra = 0;                   
    wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
    if (!RegisterClassEx (&wincl))
        return 0;
    hwnd = CreateWindowEx (0,szClassName,"Windows App",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,544,375,HWND_DESKTOP,NULL,hThisInstance,NULL );
    ShowWindow (hwnd, nFunsterStil);
    while (GetMessage (&messages, NULL, 0, 0))
    { 
        TranslateMessage(&messages);
        DispatchMessage(&messages);
    }
    return messages.wParam;
}
 
 
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    int i=0;
    int poziproc=0;
    const int count = 3;
    STARTUPINFO si;
    char process[30];
    static PROCESS_INFORMATION pi[count];
    
    switch (message)                  
    {
        case WM_CREATE:
            
            zapproc = CreateWindow("EDIT", "", WS_VISIBLE| WS_CHILD | WS_BORDER, 10,40,232,20, hwnd,NULL,NULL,NULL);
            procclc = CreateWindow("BUTTON", "Запустить процесс", WS_VISIBLE| WS_CHILD | WS_BORDER, 10,70,232,20, hwnd,(HMENU)1,NULL,NULL);
            udalclc = CreateWindow("BUTTON", "Удалить процесс", WS_VISIBLE| WS_CHILD | WS_BORDER, 10,270,232,20, hwnd,(HMENU)2,NULL,NULL);
            listbox = CreateWindow("LISTBOX", "",WS_VISIBLE| WS_CHILD , 10,100,232,150, hwnd,NULL,NULL,NULL);
            stat = CreateWindow("STATIC", "Примеры возможных процессов: \n 1. explorer.exe \n 2. notepad.exe \n 3. calc.exe",WS_VISIBLE| WS_CHILD , 272,40,232,250, hwnd,NULL,NULL,NULL);
            break;
        case WM_DESTROY:
            PostQuitMessage (0);       
            break;
            default:                      
            return DefWindowProc (hwnd, message, wParam, lParam);
        case WM_COMMAND:
            switch(LOWORD(wParam))
            {
                case 1:
                     ZeroMemory( &si, sizeof(si) );
                     si.cb = sizeof(si);
 
                     GetWindowText(zapproc, process,20);
                     SendMessage (listbox,LB_ADDSTRING,0,(LPARAM) process);
                     CreateProcess( NULL, process, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi[i]);
                     UpdateWindow(hwnd);
                     UpdateWindow(listbox);
                     i++;
                     break;
                case 2:
                     i = SendMessage (listbox, LB_GETCURSEL, 0, 0);
                     poziproc++;
                     TerminateProcess(pi[i].hProcess, NO_ERROR);
                     SendMessage (listbox, LB_DELETESTRING, i, 0);
                     break;
            }
    }
    return 0 ;
}
Вот - что-то удаляет, но баги есть Так же прошу заметить, что вот это

C++
1
char process[]="";
Очень плохо.
В статических массивах размерность не указывается, когда далее следует явная их инициализация. Инициализируется пустой строкой, а по сути - символом конца строки \0. Фактически статический имеем массив в один символ.

А вот здесь вы пытаетесь в этот массив впихнуть текст из Edita, и влезете куда-нибудь....
C++
1
GetWindowText(zapproc, process,20);
 
Текущее время: 01:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru