Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.70
Wanee
54 / 54 / 13
Регистрация: 02.02.2011
Сообщений: 430
#1

Будильник - C++

26.07.2011, 10:16. Просмотров 3242. Ответов 45
Метки нет (Все метки)

Начал делать примитивный будильник и столкнулся с проблемой. Когда комп отправляешь в сон, то будильник не срабатывает. Как сделать чтобы будильник сначала разбудил комп, а потом подал признаки жизни?
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
#include <Windows.h>
#include <iostream>
#include <stdlib.h>
#include <conio.h>
using namespace std;
 
void gotoxy(int xpos, int ypos)
{
    COORD scrn;
    HANDLE hOuput = GetStdHandle(STD_OUTPUT_HANDLE);
    scrn.X = xpos; scrn.Y = ypos;
    SetConsoleCursorPosition(hOuput,scrn);
}
void prin(int x)
{
    if(x < 10)
        cout << '0';
    cout << x;
}
 
void main()
{   
    int c, m, a, b, f, t;
    bool z = true;
    char x[2], y[2], s[6];
 
    SYSTEMTIME st;
    setlocale(LC_ALL, "");
 
    cout << "Введите время: ";
    cin >> s;
 
    x[0] = s[0];
    x[1] = s[1];
    y[0] = s[3];
    y[1] = s[4];
 
    c = atoi(x);
    m = atoi(y);
 
    cout << "Текущие время: \nОсталось: ";
 
    while(z)
    {
        GetSystemTime(&st);
        a = st.wHour + 7;
        b = st.wMinute;
 
        f = c + 24 - a;
        t = m - b;
        if(t < 0)
        {
            f--;
            t += 60;
        }
        if(f > 23)
            f -= 24;
 
        gotoxy(15, 1);
        prin(a);
        cout << ':';
        prin(b);
 
        gotoxy(10, 2);
        prin(f);
        cout << ':';
        prin(t);
 
        if(c == a && m == b)
            z = false;
        Sleep(1000);
    }
 
    cout << "\n\nДля завершения нажмите Enter...";
 
    while(!kbhit())
    {
        cout << '\a';
        Sleep(1000);
    }
}
Время я забиваю к примеру: 23:34
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.07.2011, 10:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Будильник (C++):

Будильник. - C++
Написать программу будильник в С++ .

Будильник - C++
Кто может кинуть будильник на С++ Зарание благодарный!!!!!

Будильник Bada - C++
Так как среда разработки называется bada C++ имею полное право сюда писать. Вообще те у кого смарты на баде вообщем стандартном будильнике...

Нужна программа Музыкальный будильник! - C++
нужна программа Музыкальный будильник!!! Очень срочно

С чего начать, первая программа на компьютере "Будильник" - C++
Всем привет! Учусь на 3м курсе, для курсовой работы нужно сделать программу &quot;Будильник&quot; и вот в чем вопрос: Какую среду разработки...

Написать программу "Будильник" - C++
Хочу сделать будильник. Пишу на C++ первый день, до этого практики не было. Как отключить динамик? Если он включается то уже больше не...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
-=ЮрА=-
Заблокирован
Автор FAQ
26.07.2011, 10:51 #2
Я думаю систему можно разбудить послав сообщение типа WM_MOUSEMOVE (CLICK и т.д.)в систему или же програмно перегрузить комп, думаю это даже проще реализовать + если он стоял сспящим часов 8 перезагрузка в любом случае не помешает
1
Zverit
Уничтожитель печенек
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
26.07.2011, 11:20 #3
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
перегрузить комп
Это лишнее будет. Нужно будет дополнительно реализовывать запоминание параметров будильника, автозапуск.
0
-=ЮрА=-
Заблокирован
Автор FAQ
26.07.2011, 11:31 #4
Параметры будильника можно заносить в отдельный файл, а при желании можно изголиться и произвести самозапись экзешника, помню пару месяцев назад писал в топике как модифицировать счётчик в самом экзешнике
0
Zverit
Уничтожитель печенек
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
26.07.2011, 11:34 #5
-=ЮрА=-, можно сделать и не такое. Но сказано же
Цитата Сообщение от Wanee Посмотреть сообщение
примитивный будильник
0
Wanee
54 / 54 / 13
Регистрация: 02.02.2011
Сообщений: 430
26.07.2011, 11:40  [ТС] #6
-=ЮрА=-, что то я не совсем понял что нужно сделать. Вы хотите искусственно нажать клавишу, чтобы пробудить копм?
0
-=ЮрА=-
Заблокирован
Автор FAQ
26.07.2011, 11:41 #7
Тогда нужно генерировать события которые будят комп - нажатие клавиатуры, мышь и т.д., по другому простыми способами думаю не реализвать...
0
Wanee
54 / 54 / 13
Регистрация: 02.02.2011
Сообщений: 430
26.07.2011, 11:44  [ТС] #8
Ясно. А как допустим программно нажать клавишу Enter?
0
mimicria
return (true);
1957 / 1094 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
26.07.2011, 11:44 #9
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Тогда нужно генерировать события которые будят комп - нажатие клавиатуры, мышь и т.д.
Только эти события не сгенерируются, потому что комп спит
0
-=ЮрА=-
Заблокирован
Автор FAQ
26.07.2011, 11:49 #10
А с эксплорером работать нельзя?Например отловить хэндл рабочего стола и в это окошко сообщение кинуть???
0
Wanee
54 / 54 / 13
Регистрация: 02.02.2011
Сообщений: 430
26.07.2011, 11:50  [ТС] #11
Тогда как?
0
jonson
232 / 205 / 61
Регистрация: 18.03.2010
Сообщений: 750
26.07.2011, 11:51 #12
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Я думаю систему можно разбудить послав сообщение
при спящем режиме сее не получится. Т.к в этом состоянии не может работать ни один процесс. Это своего рода выключеный режим. Просто все данные из оперативной памяти выгружаются на винт, для последующего быстрого включения.
Как сделать чтобы будильник сначала разбудил комп
думаю ни как. Тут над смотреть в сторону биоса, что-то типа PowerManagment, и вручную настраивать. Может на низком уровне и возможно манипулировать этими опциями биоса, но лично я в этом оч сомневаюсь.
1
-=ЮрА=-
Заблокирован
Автор FAQ
26.07.2011, 11:54 #13
Я бы попробовал вот так(для работы нужен windows.h
C++
1
2
HWND hWnd = GetDesktopWindow();
    SendMessage(hWnd,WM_MOUSEMOVE,0,0);
0
Zverit
Уничтожитель печенек
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
26.07.2011, 11:54 #14
Цитата Сообщение от jonson Посмотреть сообщение
Просто все данные из оперативной памяти выгружаются на винт
А не про гибернацию вы случаем говорите?
0
jonson
232 / 205 / 61
Регистрация: 18.03.2010
Сообщений: 750
26.07.2011, 11:56 #15
Цитата Сообщение от ITZver Посмотреть сообщение
А не про гибернацию вы случаем говорите?
она самая
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.07.2011, 11:56
Привет! Вот еще темы с ответами:

Прокомментируйте программу "Будильник" - C++
Если с можете помагите с этим программой 3.2 Разработана программа для проверки работоспособности класса «Будильник» (Budilnik). ...

Будильник - C#
Подскажите пожалуйста, что здесь не так, уже голову сломала над этим. using System; using System.Collections.Generic; using...

будильник - Delphi
Помогите создать будильник с возможностью сворачиваться в трей на подобие такого

Будильник - CMD/BAT
что не так? вообщем нужен будильник что б прозвучал системный динамик в определенное время echo off SET bebe=20:50 :start ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.07.2011, 11:56
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru