Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Перевод компа в спящий режим (C++) (https://forum.antichat.xyz/showthread.php?t=38416)

Noman 20.04.2007 15:07

Перевод компа в спящий режим (C++)
 
Ребят, подскажите решение следующей проблемы:
Для перехода компа в спящий одно приложение надо выгружать. Решил написать программку, чтобы можно было одним нажатием убивать выбранный процесс и переходить в спящий.
Проблема в том, что я не знаю, какой функцией пользоваться для убивания процесса и перехода в спящий. Если выполнять это средствами MSDOS, то тогда понятно:
Код:

taskkill /IM имя.exe
rundll32.exe powrprof.dll,SetSuspendState

Как это можно выполнить средствами C++?

Isis 20.04.2007 15:56

Гы, получается ты ничего не знаешь т.к. вся твоя программа в этом и состоит :)

Fata1ex 20.04.2007 16:04

Цитата:

Решил написать программку, чтобы можно было одним нажатием убивать выбранный процесс и переходить в спящий.
Проблема в том, что я не знаю, какой функцией пользоваться для убивания процесса и перехода в спящий.
Напишите за меня прогу=)

Noman 20.04.2007 16:13

Цитата:

Гы, получается ты ничего не знаешь т.к. вся твоя программа в этом и состоит
Эээ... Ну почти что так :)
Цитата:

Напишите за меня прогу=)
Не, писать за меня не надо. Меня интересует, с помощью какой ф-ции можно выполинить вышеуказанные действия.
Для завершения процесса вроде TerminateProcess(),
А для того, чтобы его усыпить?

os1r1s 20.04.2007 16:59

Вызов функции Windows API "SetSuspendState" для перехода в ждущий или спящий режим.
; Windows 95/NT4: поскольку этой функции нет, последующий код не произведёт эффекта.
; Параметр №1: 1 - спящий, 0 - ждущий.
; Параметр №2: 1 - ждущий режим немедленно, 0 - опросить все приложения о разрешении.
; Параметр №3: 1 - все "пробуждающие" события отключены, 0 - включены.

http://msdn2.microsoft.com/en-us/library/aa373201.aspx

da_ff 20.04.2007 19:11

а что значит усыпить процес?

Noman 20.04.2007 19:26

С убийством процесса я разобрался.
os1r1s спасибо за помощь.

Ребят, я может совсем идиот, но все же - подскажите откуда мне взять PowrProf.lib

Цитата:

а что значит усыпить процес?
Не процесс))) Комп.

bxN5 20.04.2007 19:34

Средствами с++ функии main можно вызывать аргументы смд.Т.е вроде реально в с++ выполнить taskkill /IM имя.exe
rundll32.exe powrprof.dll,SetSuspendState это.Так теория.... Я только учусь

Noman 20.04.2007 19:59

Цитата:

Средствами с++ функии main можно вызывать аргументы смд.Т.е вроде реально в с++ выполнить taskkill /IM имя.exe
rundll32.exe powrprof.dll,SetSuspendState это.Так теория.... Я только учусь
Да, это вроде возможно. Но хотелось бы выполнить используя winapi, ведь в самой винде это выполнено.
Проблема в том, что я никак не соображу где найти нужную библиотеку....

hidden 20.04.2007 20:17

GetProcAddress(LoadLibrary("PowrProf.dll"), "SetSuspendState");

Added: SetSystemPowerState(BOOL fSuspend, BOOL fForce) А эта есть в кернеле32.


Время: 23:36