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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 173, средняя оценка - 4.95
dima1694
0 / 0 / 0
Регистрация: 17.08.2012
Сообщений: 6
#1

таймер c++ - C++

17.08.2012, 12:09. Просмотров 25917. Ответов 14
Метки нет (Все метки)

Всем привет.

Прошу вас помочь мне в слудующем: нужен простой таймер(среда visual c++ express выпуск),который отключит вот эту функцию через 20 секунд после включения

Сама функция:
C++
1
2
3
4
if(opt.other.аст==1)
{MEMwrite((void *)(ast),(void *)"\xC3",1);}
if(opt.other.аст==0)
{MEMwrite((void *)(ast),(void *)"\x55",1);}
Наедсюь на вашу помощь.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2012, 12:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос таймер c++ (C++):

Таймер - C++
Господа знатоки,прошу помощи: Нужно реализовать таймер при запуске нужной функции: Класс class Game { protected: clock_t...

таймер - C++
извините , я знаю что уже миллион раз спрашивали это но подскажите обычный таймер в С++ не винапи а просто в С++ и как чтобы обнавлялась...

Таймер на С/С++ - C++
Всем доброго времени суток. Есть такой вопрос. Как написать на С/С++ таймер который будет выполнять какой то участок кода через на пример 5...

Таймер c++ - C++
как создать таймер в с++ ? чтоб с каждой секундой переменная увеличивалась на 1 или каждую секунду выводилось какое-либо сообщение. ...

таймер - C++
Мне нужно написать программу которая будет по таймеру выписывать сообщение к примеру. В общем мне интересна работа с таймером.

таймер - C++
Функцию надо вызывать каждую минуту. Название функции void xxx(). Как сделать с помощью settimer, ну то есть вызвать таймер

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
4iFF
19 / 19 / 1
Регистрация: 06.07.2012
Сообщений: 88
17.08.2012, 13:40 #2
dima1694, в заголовочном файле windows.h есть функция sleep("аргумент") которая получает в виде аргумента целое число, которое представляет собой кол-во микросекунд (1000 мс = 1с).Может быть это как-то поможет.
1
dima1694
0 / 0 / 0
Регистрация: 17.08.2012
Сообщений: 6
17.08.2012, 14:10  [ТС] #3
4iFF, смотри правильно ли будет так?
C++
1
2
3
4
5
6
if(opt.other.аст)
{
MEMwrite((void *)(ast),(void *)"\xC3",1);
Sleep(20000);
MEMwrite((void *)(ast),(void *)"\x55",1);
}
Возможности проверить нет (с телефона сижу)..
0
SubTerran
8 / 8 / 0
Регистрация: 13.08.2012
Сообщений: 18
17.08.2012, 14:20 #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <ctime>
 
// ...
 
void f()
{
    if(opt.other.аст==1)
    {MEMwrite((void *)(ast),(void *)"\xC3",1);}
    if(opt.other.аст==0)
    {MEMwrite((void *)(ast),(void *)"\x55",1);}
    while (true)
    {
        clock_t t1 = clock();
        if (double(t1) / CLOCKS_PER_SEC >= 20)
            return;
    }
}
1
Jupiter
17.08.2012, 14:38
  #5

Не по теме:

Цитата Сообщение от 4iFF Посмотреть сообщение
в заголовочном файле windows.h есть функция sleep("аргумент") которая получает в виде аргумента целое число, которое представляет собой кол-во микросекунд (1000 мс = 1с).Может быть это как-то поможет.
функция принимает миллисекунды, а не микросекунды

1
dima1694
0 / 0 / 0
Регистрация: 17.08.2012
Сообщений: 6
17.08.2012, 16:29  [ТС] #6
Цитата Сообщение от SubTerran Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <ctime>
 
// ...
 
void f()
{
    if(opt.other.аст==1)
    {MEMwrite((void *)(ast),(void *)"\xC3",1);}
    if(opt.other.аст==0)
    {MEMwrite((void *)(ast),(void *)"\x55",1);}
    while (true)
    {
        clock_t t1 = clock();
        if (double(t1) / CLOCKS_PER_SEC >= 20)
            return;
    }
}
Так,используя в таком виде коддинг,функция вообще не работает,прошу пересмотреть его (многое перепробывал).Извините за надоедливость.
0
SubTerran
8 / 8 / 0
Регистрация: 13.08.2012
Сообщений: 18
17.08.2012, 16:53 #7
dima1694, Sleep(20000) из заголовка #include <Windows.h> то же самое, что я написал, используй его. Оба варианта останавливают время работы программы/функции на 20 сек.
0
dima1694
0 / 0 / 0
Регистрация: 17.08.2012
Сообщений: 6
17.08.2012, 17:02  [ТС] #8
SubTerran, в этом деле я новичок ещё,как будет правильней с функцией Sleep сделать?

Но вот вы сказали останавливает,тоесть это пауза,а ведь мне нужно,чтобы она полностью отключилась через 20 секунд.

Вот почему мне это надо: эта функция невидимки,дело в том,что её можно использовать всего лишь 20 секунд без кика,поэтому мне и надо добиться её отключения через 20 секунд,а не просто остановить.Отключать в ручную не резонно.
0
KostyaKulakov
Заблокирован
17.08.2012, 17:24 #9
давайте полный код. либо делать для "куска" кода. это глупо. тк нужно исправлять весь код
0
dima1694
0 / 0 / 0
Регистрация: 17.08.2012
Сообщений: 6
17.08.2012, 17:29  [ТС] #10
KostyaKulakov,

полностью он выглядит так: (но выполнение здесь и то что я щас дам,в данной ситуации мало влияет)

C++
1
2
3
4
5
6
DWORD ast = (DWORD)GetModuleHandleA("модуль") + 0xадрес;//это асм функция
//ну это включение функции в энд сцене
if(opt.other.аст==1)
{MEMwrite((void *)(ast),(void *)"\xC3",1);}
if(opt.other.аст==0)
{MEMwrite((void *)(ast),(void *)"\x55",1);}
0
KostyaKulakov
Заблокирован
17.08.2012, 17:34 #11
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
#include <iostream>
#include <time.h>
using namespace std;
 
void function();
 
int main()
{
    function();
}
 
void function()
{
    if(opt.other.аст==1)
        MEMwrite((void *)(ast),(void *)"\xC3",1);
 
    if(opt.other.аст==0)
        MEMwrite((void *)(ast),(void *)"\x55",1);
 
 
    while (true)
    {
        clock_t time = clock();
 
        if (double(time) / CLOCKS_PER_SEC >= 2) // тут в секундах если надо в мили секунды то преведите в такой тип if (double(time) >= 2000)
           break;
    }
 
}
Добавлено через 2 минуты
так сойдёт?
1
dima1694
0 / 0 / 0
Регистрация: 17.08.2012
Сообщений: 6
17.08.2012, 17:39  [ТС] #12
Цитата Сообщение от KostyaKulakov Посмотреть сообщение
if (double(time) / CLOCKS_PER_SEC >= 2)
здесь 2 секунды получается? (просто может вы перевели и это 2 минуты.)
0
KostyaKulakov
Заблокирован
17.08.2012, 17:46 #13
аххаа. смешно. вы не поняли код.
щас я напишу как это видит программа.
если (время(2000) / на 1000 и это будет больше или равно 2)
time рассчитывается в мили секундах а деление на 1000 позволяет это перевести в секунды. если для вас это не понятно то используйте
C++
1
if (double(time) >= 2000)
это означает если (время( к примеру 2000) болше или равно 2000) каждая секунда исполнения цикла while грубо говоря прибавляет к time значение 1000. те 2 секунды будут 2000. а 25 секунд будут 25000. далие это значение передаётся каждый раз в проверку те если(время(25000) делёное на 1000 ) больше или равно 2. те деление помогает нам не парится с мили секундами а работать с секундами
0
SubTerran
8 / 8 / 0
Регистрация: 13.08.2012
Сообщений: 18
17.08.2012, 17:49 #14
KostyaKulakov, Вообще то time расичтывается в тактах процессора, а не в миллисекундах, а деленее на CLOCKS_PER_SEC позволяет перевести результат в секунды.
0
KostyaKulakov
Заблокирован
17.08.2012, 17:50 #15
извеняйте, болие подробно объяснить не могу.

Добавлено через 22 секунды
Цитата Сообщение от SubTerran Посмотреть сообщение
KostyaKulakov, Вообще то time расичтывается в тактах процессора, а не в миллисекундах, а деленее на CLOCKS_PER_SEC позволяет перевести результат в секунды.
а я что писал.

Добавлено через 55 секунд
Цитата Сообщение от KostyaKulakov Посмотреть сообщение
если(время(25000) делёное на 1000 ) больше или равно 2. те деление помогает нам не парится с мили секундами а работать с секундами
не? такты процессора тут вобще не причём
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2012, 17:50
Привет! Вот еще темы с ответами:

Таймер - C++
То-ли я кривой, то-ли лыжы не едут. Чё за фигня? Таймер не работает... POINT previousPoint, currentPoint; bool mouseDown; HPEN myPen; ...

таймер микросекунд - C++
Нужно оценить эффективность работы алгоритма кодирования данных по методу Хаффмана, для этого следует установить на фрагменты выполнения...

условия и таймер | C++ - C++
Как сделать 2 условия на таймер, тоесть он задан к примеру на 5 минут, нужно чтобы 1 действие выполнялось когда будет 3 минуты, а 2...

Таймер из Delphi в С++ - C++
Прошу помощи в перекладке кода таймера из Делфи на Си++, ну или хотя бы подсказки, чем заменить Ttime procedure...


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

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

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