Это может быть достигнуто с помощью одного объекта или массива объектов. Преимущество использования массива объектов состоит в том, что вы можете выполнять итерации по нему и создавать список элементов или структуру таблицы и т. Д.
// using an object
var MYDATA_OBJ= {
FIRST_ELEMENT: {
ABCKEY1: 'value 1.1',
ABCKEY2: 'value 1.2',
ABCKEY3: 'value 1.3'
},
SECOND_ELEMENT: {
ABCKEY1: 'value 2.1',
ABCKEY2: 'value 2.2',
ABCKEY3: 'value 2.3'
}
};
console.log(MYDATA_OBJ.FIRST_ELEMENT.ABCKEY2); // gives value1.2
console.log(MYDATA_OBJ.SECOND_ELEMENT.ABCKEY3); // gives value2.3
// to alter the value of a given element the syntax would be
MYDATA_OBJ.FIRST_ELEMENT.ABCKEY2 = 'newValue1.2';
console.log(MYDATA_OBJ.FIRST_ELEMENT.ABCKEY2); // gives newValue1.2
// using an array
var MYDATA_ARR= [{
ABCKEY1: 'value 1.1',
ABCKEY2: 'value 1.2',
ABCKEY3: 'value 1.3'
}, {
ABCKEY1: 'value 2.1',
ABCKEY2: 'value 2.2',
ABCKEY3: 'value 2.3'
}
];
console.log(MYDATA_ARR[0].ABCKEY2); // gives value1.2
console.log(MYDATA_ARR[1].ABCKEY3); // gives value2.3
// to alter the value of a given element the syntax would be
MYDATA_ARR[0].ABCKEY2 = 'newValue2.2';
console.log(MYDATA_ARR[0].ABCKEY2); // gives newValue2.2
Вы могли бы хотеть рассмотреть "API Заданий". CreateJobObject
и друзья. Можно осуществить дочерние процессы для пребывания в Задании путем установки соответствующего атрибута. Тогда можно звонить TerminateJobObject
каждый раз, когда Вы хотите.
Разъяснение: это не то, что делает Диспетчер задач.
Я предлагаю идти путем объекта задания, как обозначено выше, это будет самым надежным.
, Если Вы не можете пойти путем объекта задания, можно использовать toolhelp API, чтобы получить идентификатор родительского процесса и создать дерево тот путь. Будьте осторожны, хотя, так как Windows не имеет прочных родительских/дочерних отношений, и для PID возможно быть переработанным. Можно использовать GetProcessTimes
, чтобы запросить время создания процесса и проверить, что это является более старым, чем ребенок. Если промежуточный процесс в дереве будет завершен, то Вы не будете в состоянии обойти дерево далее.
// Error handling removed for brevity
HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
PROCESSENTRY32 process;
ZeroMemory(&process, sizeof(process));
process.dwSize = sizeof(process);
Process32First(snapshot, &process);
do
{
// process.th32ProcessId is the PID.
// process.th32ParentProcessID is the parent PID.
} while (Process32Next(snapshot, &process));
Существует функция Win32, вызванная TerminateProcess () . Это должно сделать задание для Вас.
, С другой стороны, я нашел, что команда taskkill полезна для вещей как это.
из командной строки:
taskkill /F /T /IM program.exe
от кода:
system("taskkill /F /T /IM program.exe");
другие переключатели (прямо от taskkill/?):
TASKKILL [/S system [/U username [/P [password]]]] { [/FI filter] [/PID processid | /IM imagename] } [/F] [/T] Description: This command line tool can be used to end one or more processes. Processes can be killed by the process id or image name. Parameter List: /S system Specifies the remote system to connect to. /U [domain\]user Specifies the user context under which the command should execute. /P [password] Specifies the password for the given user context. Prompts for input if omitted. /F Specifies to forcefully terminate process(es). /FI filter Displays a set of tasks that match a given criteria specified by the filter. /PID process id Specifies the PID of the process that has to be terminated. /IM image name Specifies the image name of the process that has to be terminated. Wildcard '*' can be used to specify all image names. /T Tree kill: terminates the specified process and any child processes which were started by it. /? Displays this help/usage.
- Джон
Вы хотите найти идентификатор процесса для процесса, который Вы хотите уничтожить, затем "обходят дерево" его детей (и их дети, и так далее...), отметьте их pids и затем уничтожьте все хорошие процессы и быстро.
Можно также использовать WMI, маршрут, планируя Вас может создать класс для выполнения задач.
Se это , "Где я могу найти документацию WMI?"
и библиотека COM WMI
и Примеры Приложения C++ WMI