Разработка службы Windows "Контроль приложений"

Проектирование, кодирование и отладка службы Windows: "Контроль приложений", осуществляющей контроль набора приложений и управление ими; разработка приложения, управляющего этой службой. Взаимодействие службы и приложения; тестирование и сопровождение.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 22.05.2013
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

108: ShowRegError(s);

109: return -1;

110: }

111:

112: if (strcmp(key, "") == 0 || strcmp(key, "/l /d") == 0 || strcmp(key,

113: "/d /l") == 0) {

114: WriteKeyMode(0);

115: }

116: else {

117: if (strcmp(key, "/l") == 0) {

118: WriteKeyMode("1");

119: }

120: else {

121: WriteKeyMode("2");

122: }

123: }

124: // закрываем дескриптор сервиса

125: CloseServiceHandle(hService);

126: // закрываем дескриптор SCM

127: CloseServiceHandle(hSCManager);

128: return 0;

129: }

130: else {

131: cout << "not corect key" << endl;

132: system("pause");

133: return -2;

134: }

135: }

136:

137: // ----------------------------------------------------------------------------

138: int Uninstal_Service(LPTSTR SomeServiceName,

SERVICE_STATUS ss) {

139: SC_HANDLE hService; // дескриптор сервиса

140: SC_HANDLE hSCManager; // дескриптор Service Control Manager

141:

142: hSCManager = OpenSCManager(NULL, NULL,

SC_MANAGER_ALL_ACCESS);

143: if (!hSCManager)

144: return -1;

145: hService = OpenService(hSCManager, SomeServiceName,

SERVICE_STOP | DELETE);

146: if (!hService) {

147: CloseServiceHandle(hSCManager);

148: return -1;

149: }

150: if (ss.dwCurrentState != SERVICE_STOPPED)

151: ControlService(hService, SERVICE_CONTROL_STOP, &ss);

152: // удаляем сервис из системы

153: DeleteService(hService);

154: CloseServiceHandle(hService);

155: CloseServiceHandle(hSCManager);

156: return 0;

157: }

158:

159: // ----------------------------------------------------------------------------

160: int Run_Service(LPTSTR SomeServiceName) {

161: SC_HANDLE hService; // дескриптор сервиса

162: SC_HANDLE hSCManager; // дескриптор Service Control Manager

163:

164: hSCManager = OpenSCManager(NULL, NULL,

SC_MANAGER_ALL_ACCESS);

165: if (!hSCManager)

166: return -1;

167: hService = OpenService(hSCManager, SomeServiceName,

SERVICE_START);

168: if (!hService) {

169: CloseServiceHandle(hSCManager);

170: return -1;

171: }

172: if (!StartService(hService, 0, NULL)) {

173: CloseServiceHandle(hService);

174: CloseServiceHandle(hSCManager);

175: return -1;

176: }

177: CloseServiceHandle(hService);

178: CloseServiceHandle(hSCManager);

179: return 0;

180: }

181:

182: // ----------------------------------------------------------------------------

183: int Stop_Service(LPTSTR SomeServiceName, SERVICE_STATUS ss)

{

184: SC_HANDLE hService; // дескриптор сервиса

185: SC_HANDLE hSCManager; // дескриптор Service Control Manager

186:

187: hSCManager = OpenSCManager(NULL, NULL,

SC_MANAGER_ALL_ACCESS);

188: if (!hSCManager)

189: return -1;

190: hService = OpenService(hSCManager, SomeServiceName,

SERVICE_STOP);

191: if (!hService) {

192: CloseServiceHandle(hSCManager);

193: return -1;

194: }

195: if (!ControlService(hService, SERVICE_CONTROL_STOP, &ss)) {

196: CloseServiceHandle(hService);

197: CloseServiceHandle(hSCManager);

198: return -1;

199: }

200: CloseServiceHandle(hService);

201: CloseServiceHandle(hSCManager);

202: return 0;

203: }

204: // ----------------------------------------------------------------------------

205:

206: #pragma argsused

207:

208: int _tmain(int argc, _TCHAR* argv[]) {

209: LPTSTR SomeServiceName = "ControlProcess";

210: // имя сервиса, которое будет отображаться в службах

211: SERVICE_STATUS ss;

212: int n;

213:

214: while (1) {

215: system("cls");

216: cout << "Choose action having chosen a corresponding key:" << endl

<<

217: "1 - Install Service;" << endl << "2 - Uninstall Service;" <<

218: endl << "3 - Start/stop Service; " << endl << "4 - help;" << endl <<

219: "5 - Exit." << endl;

220: cin >> n;

221: switch (n) {

222: case 1: {

223: system("cls");

224: if (Instal_Service(SomeServiceName) == -2) break;

225: ShowLastError();

226: system("pause");

227: } break;

228: case 2: {

229: system("cls");

230: Uninstal_Service(SomeServiceName, ss);

231: ShowLastError();

232: system("pause");

233: break;

234: }

235: case 3: {

236: system("cls");

237: cout << "Choose " << endl << "1-Start Service " << endl <<

238: "2-Stop Service " << endl;

239: cin >> n;

240: switch (n) {

241: case 1: {

242: Run_Service(SomeServiceName);

243: ShowLastError();

244: break;

245: }

246: case 2: {

247: Stop_Service(SomeServiceName, ss);

248: ShowLastError();

249: } break;

250: default: {

251: system("cls");

252: cout <<"There is no such point repeat input" << endl;

253: system("pause");

254: } break;

255: }

256: system("pause");

257: } break;

258:

259: case 4: {

260: system("cls");

261: cout << "Help using service " << endl << "1 - Info program " <<

262: endl << "2 - Help Key " << endl;

263: cin >> n;

264: switch (n) {

265: case 1: {

266: system("cls");

267:

268: cout << "This service is intended for control over Windows

applications. An operation mode are set at installation by a choice of keys."

269: << endl;

270: std::cout <<

271: " Copyrights

are protected: " <<

272: endl << "

author Skivu A. I.Surgu FAT gr.1281 (c)"

273: << endl;

274: } break;

275: case 2: {

276: cout << "/l - this key resolves write Process log" <<

277: endl << "/d - this key resolves ron defragmentatoin if CPU

not usage"

278: << endl << "Example:" << endl <<

279: "Input key: /d - In Service not working Process log and

work Defragmentator" <<

280: endl;

281: } break;

282: default: {

283: system("cls");

284: cout << "There is no such point repeat input" << endl;

285: } break;

286: }

287: system("pause");

288: break;

289: }

290: case 5:

291: exit(1);

292: default: {

293: system("cls");

294: cout << "There is no such point repeat input" << endl;

295: system("pause");

296: break;

297: }

298: }

299: }

300: return 0;

301: }

302: // ---------------------------------------------------------------------------

Размещено на Allbest.ru


Подобные документы

  • Разработка на языке C++ службы, осуществляющей контроль набора выполняющихся приложений. Проектирование, кодирование, отладка, тестирование и сопровождение службы Windows. Взаимодействие службы и приложения. Интерактивность разрабатываемой службы.

    курсовая работа [964,9 K], добавлен 01.06.2013

  • Проектирование службы Windows и приложения для управления этой службой, которое позволит контролировать данные приложения - запускать и завершать определенные процессы по желанию пользователя через определенные промежутки времени. Инструкция по установке.

    курсовая работа [2,8 M], добавлен 05.01.2013

  • Проектирование системы управления базами данных. Особенности реализации в MS SQL. Разработка пользовательского интерфейса. Тестирование и отладка приложения. Руководство пользователя и системного администратора. Анализ и методы разработки приложений.

    курсовая работа [867,9 K], добавлен 16.07.2013

  • Теоретические основы написания Windows-приложений с использованием библиотеки MFC. Основы программирования под Windows. Проектирование приложений в среде Microsoft Visual C++. Описание логической структуры приложения, его функциональное назначение.

    курсовая работа [1,3 M], добавлен 12.12.2011

  • Проектирование и отладка Windows-приложений для работы с внешними источниками данных. Функциональная блок-схема взаимодействия программных модулей. Описание связей между таблицами. Тестирование программного средства. Требования к техническому обеспечению.

    курсовая работа [2,7 M], добавлен 17.05.2011

  • Основы организации приложения в Windows. Посылка и передача сообщений для окон. Создание и отображение главного окна приложения. Деактивация приложения, его фазы. Сообщения клавиатуры и функции для работы с ней. Определение состояния отдельных клавиш.

    лекция [65,7 K], добавлен 24.06.2009

  • Реализация программы, созданной средствами языка C#. Предназначение Windows-приложения для решения комплекса задач. Определение состава форм с графиком функции. Вычисление коэффициентов полинома. Создание текстового поля для введения корней многочлена.

    курсовая работа [234,8 K], добавлен 13.11.2016

  • Структура базы данных web-приложения предприятия ООО "Седово"; автоматизация процесса передачи документов. Разработка технического задания, проектирование БД, функциональное назначение web-приложений, тестирование, отладка и размещение в сети Internet.

    дипломная работа [5,3 M], добавлен 24.06.2011

  • Основы работы с многооконным графическим пользовательским интерфейсом операционной системы Windows95/NT. Основы работы с прикладными программами Windows и DOS. Разработка простого приложения для Windows при помощи средства разработки приложений DELPHI.

    контрольная работа [281,0 K], добавлен 15.01.2009

  • Общая характеристика операционных систем и приложений Windows. Разделение ресурсов, работа с окнами, назначение диска, видов памяти, системы сохранения и передачи данных. История возникновения приложений, их виды и особенности, порядок написания.

    курс лекций [321,0 K], добавлен 24.06.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.