Форум программистов, компьютерный форум 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; подробнее

Показать сообщение отдельно
ft4l
Невнимательный
 Аватар для ft4l
125 / 125 / 28
Регистрация: 08.02.2013
Сообщений: 399
Записей в блоге: 1
30.12.2013, 07:34     Удаление процессов
если честно , я в cpp вообще не понимаю, а с /TC как си этот код не собирается.
добавил static int i,вынес из функции pi
только так не потеряло , хэндл процесса , хз почему , не понял :))
+ вывод информации
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#include <windows.h>
//#include <iostream>
//#include <stdio.h>
//#include <conio.h>
 
 
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
    HWND zapproc,
         procclc,
         udalclc,
         listbox,
         stat;
    
 void ErrorShow(LPTSTR lpszFunction, HANDLE hendl) 
{ 
    TCHAR szBuf[100]; 
    LPVOID lpMsgBuf;
    DWORD dw = GetLastError(); 
 
    FormatMessage(
        FORMAT_MESSAGE_ALLOCATE_BUFFER | 
        FORMAT_MESSAGE_FROM_SYSTEM,
        NULL,
        dw,
        MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
        (LPTSTR) &lpMsgBuf,
        0, NULL );
 
    wsprintf(szBuf, 
        "%s failed with error %d: %s\n\nhendl=%d", 
        lpszFunction, dw, lpMsgBuf, hendl); 
 
    MessageBox(NULL, szBuf, "Error", MB_OK); 
 
    LocalFree(lpMsgBuf);
}   
 
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;
}
 
    const int count = 3;
    PROCESS_INFORMATION pi[count];
 
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    static int i=0;
    int poziproc=0;
    STARTUPINFO si;
    char process[]="";
    ZeroMemory( &si, sizeof(si) );
    si.cb = sizeof(si);
    // ZeroMemory( &pi, sizeof(pi) );
    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:
                     GetWindowText(zapproc, process,20);
                     SendMessage (listbox,LB_ADDSTRING,0,(LPARAM) process);
                     !CreateProcess( NULL, process, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi[i]);
ErrorShow("CreateProcess", pi[i].hProcess);
                     UpdateWindow(hwnd);
                     UpdateWindow(listbox);
                     i++;
                     break;
                case 2:
                     i = SendMessage (listbox, LB_GETCURSEL, 0, 0);
                     poziproc++;
                     !TerminateProcess(pi[i].hProcess, NO_ERROR);
ErrorShow("TerminateProcess", pi[i].hProcess);
                     break;
            }
    }
    return 0 ;
}
Код
J:\SRC>cl /TP test.c /link kernel32.lib user32.lib bufferoverflowu.lib
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.4035 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

test.c
test.c(101) : warning C4552: '!' : operator has no effect; expected operator with side-effect
test.c(110) : warning C4552: '!' : operator has no effect; expected operator with side-effect
Microsoft (R) Incremental Linker Version 7.10.4035
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:test.exe
kernel32.lib
user32.lib
bufferoverflowu.lib
test.obj
при том что без static вообще обваливается запуск калькулятора...
я не знаю как правильнее... не совсем понял как это должно работать
 
Текущее время: 03:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru