Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.09.2012, 19:04   #11
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,833
По умолчанию

вам же ссылку дали
p51x вне форума Ответить с цитированием
Старый 07.09.2012, 20:33   #12
Alexey56
 
Регистрация: 26.08.2012
Сообщений: 8
По умолчанию

выключение(ну в моем случае гибернацию) я реализовал, но с помощью приложения
using System;
using System.Windows.Forms;
using System.Diagnostics;

namespace Shutdown
{
public partial class Shutdown : Form
{
DateTime mShutdownTime;
public Shutdown()
{
InitializeComponent();
}

private void buttonRun_Click(object sender, EventArgs e)
{
mShutdownTime = DateTime.Now.AddMinutes(1);
labelInfo.Visible = true;
labelInfo.Text = "";
timer.Start();
}
private void timer_Tick(object sender, EventArgs e)
{
if (DateTime.Now < mShutdownTime)
{
TimeSpan ts = mShutdownTime - DateTime.Now;
labelInfo.Text = "До выключения осталось " + ts.Minutes + " минут " + ts.Seconds + " секунд.";
}
else
{
Close();
Process.Start("C:Windows/System32/shutdown.exe", "-h");
}
}
}
}

Код работоспособный проверял, по истечении одной минуты переводит ноут в гибернацию.

Вопрос звучит так: Как мне этот код запустить в методе Onstart моей службы:
protected override void OnStart(string[] args)
{
что мне сюда вставить?
}

Очень прошу о помощи, познания в C# не настолько глубоки чтоб реализовать такие вещи)

Последний раз редактировалось Alexey56; 07.09.2012 в 20:39.
Alexey56 вне форума Ответить с цитированием
Старый 08.09.2012, 12:14   #13
Alexey56
 
Регистрация: 26.08.2012
Сообщений: 8
По умолчанию

Вот что я получил, но оно не работает, служба устанавливается запускается все в порядке, если в методе Onstart просто записать выполнение shutdown.exe, все выполняет.Но мне нужен промежуток времени. я уже сам практически все сделал прошу вас о пустяке, проверьте и скажите как сделать выдержку времени
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Diagnostics;
namespace MyNewService
{
public partial class MyNewService : ServiceBase
{
DateTime mShutdownTime;// создал переменную времени отключения
public MyNewService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
mShutdownTime = DateTime.Now.AddSeconds(10); //время отключения = действующее время плюс 10 секунд
if (DateTime.Now > mShutdownTime)// сравниваю текущее время с уставкой,если оно больше установленого выполняю процесс
{
Process.Start("C:Windows/System32/shutdown.exe", "-h");
}
}

protected override void OnStop()
{
}
}
}
Alexey56 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Win32 + GUI or Win32 + WindowForm Black-Sparkle Visual C++ 0 02.03.2012 14:55
win32 API.Visual Studio 2008.Создание проекта Win32 Aleksandr_Yanov Visual C++ 2 12.09.2010 13:09
Win32 API. VS2008. Как создать приложение win32 в vs2008? Aleksandr_Yanov Visual C++ 4 12.09.2010 00:59
HLLW.Shadow.based / Net-Worm.Win32.Kido / Win32.Conficker / W32.Downadup Pirotexnik Безопасность, Шифрование 13 27.03.2009 14:02
служба MAcK Win Api 3 04.12.2006 20:05