С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Запуск программ по расписанию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как выделить определенный диапазон цвета RGB на картинке bmp? http://www.cyberforum.ru/cpp/thread280183.html
всем доброго времени суток!помогите,пожалуйста, в написании кода.есть картинка bmp. Надо разложить ее на цвета rgb. определить диапазон оттенка красного и выделить его на изображении...
C++ Vendor Id Добрый день, уважаемые. Назрел у меня один вопрос, прошу прощения если уже его обсуждали, поиск по форуму ничего не дал. Вопрос в следующем: у меня есть буква диска, мне надо узнать его vid.... http://www.cyberforum.ru/cpp/thread280040.html
Unreal Development Kit C++
Здравствуйте. Где можно достать уроки подробное руководство по Unreal Development Kit? ( пишу в этот раздел так как соответствующей темы нет, а основа этого есть C++ )
Метод трассировки луча C++
Нужно определить, находится ли точка в многоугольнике либо нет. Как я понял надо задать луч проходящий через эту точку, и если будет нечетное кол-во пересечений то точка находится внутри. Вопрос:...
C++ Паспорт HDD http://www.cyberforum.ru/cpp/thread278914.html
Кто-нибудь знает можно ли написать программу на C++, которая читала бы паспорт жесткого диска и выводила информацию на экран?? Если можно, то подскажите как...
C++ Указать директорию Здравствуйте. Пишу программу в борланде 6, в которой надо указать путь, из которого программа будет брать фаилы. С помощью чего это можно сделать? Видел есть DirectoryListBox но как он работает, не... подробнее

Показать сообщение отдельно
skreggi
0 / 0 / 0
Регистрация: 25.11.2010
Сообщений: 16

Запуск программ по расписанию - C++

20.04.2011, 22:48. Просмотров 1682. Ответов 7
Метки (Все метки)

Нужно реализовать программу на Microsoft Visual C++ которая бы запускала программы по заданному времени. Я её реализовал под Win32 Aplication. Расписание время и путь программ я указывал в файл shedule.reg , который я добавляю в реестр. А в программе я считываю расписания с реестра. Откомпелировалась без ошибок, но в итоге программы не запускаются по расписанию.
---------------------------------------------------------------------
файл shedule.reg

Код
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\shedule]

"1"="21:06 C:\\Windows\\System32\\calc.exe"
"2"="21:05 C:\\Windows\\System32\\cmd.exe"
"3"="21:11 C:\\Windows\\System32\\notepad.exe"
----------------------------------------------------------------------------
Исходник:

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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
// program.cpp : Defines the entry point for the application.
//
 
#include "stdafx.h"
#include "windows.h"
#include "stdlib.h"
#include "winioctl.h"
#include "shellapi.h"
 
 
// Функция проверки расписания в реестре
void CheckShedule(void);
 
char shed[30][3];
 
//оконная функция
LRESULT CALLBACK WindowProc(HWND hWnd, 
                    UINT message,
                    WPARAM wParam,
                    LPARAM lParam);
 
// основная функция
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// создания и заполнение структуры окна
WNDCLASS wcl;
wcl.style=CS_HREDRAW|CS_VREDRAW;
wcl.lpfnWndProc=WindowProc;
wcl.cbClsExtra=0;
wcl.cbWndExtra=DLGWINDOWEXTRA;
wcl.hInstance=hInstance;
wcl.hIcon=LoadIcon(NULL, IDI_APPLICATION);
wcl.hCursor=LoadCursor(NULL, IDC_ARROW);
wcl.hbrBackground=(HBRUSH)(COLOR_BTNFACE+1);
wcl.lpszMenuName=NULL;
wcl.lpszClassName="WWW";
 
strcpy(shed[0], "1");
strcpy(shed[1], "2");
strcpy(shed[2], "3");
strcpy(shed[3], "4");
strcpy(shed[4], "5");
strcpy(shed[5], "6");
strcpy(shed[6], "7");
strcpy(shed[7], "8");
strcpy(shed[8], "9");
strcpy(shed[9], "10");
strcpy(shed[10], "11");
strcpy(shed[11], "12");
strcpy(shed[12], "13");
strcpy(shed[13], "14");
strcpy(shed[14], "15");
strcpy(shed[15], "16");
strcpy(shed[16], "17");
strcpy(shed[17], "18");
strcpy(shed[18], "19");
strcpy(shed[19], "20");
strcpy(shed[20], "21");
strcpy(shed[21], "22");
strcpy(shed[22], "23");
strcpy(shed[23], "24");
strcpy(shed[24], "25");
strcpy(shed[25], "26");
strcpy(shed[26], "27");
strcpy(shed[27], "28");
strcpy(shed[28], "29");
strcpy(shed[29], "30");
 
// регистрация класса окна
if (!RegisterClass(&wcl)) return 0;
// создания диалогового окна
HWND hWnd=CreateDialogParam(hInstance,"TESTWIN",NULL,NULL,NULL);
// прорисока окна 
ShowWindow(hWnd, nCmdShow);
// обновления окна
UpdateWindow(hWnd);
// установка таймера
SetTimer(hWnd, 1, 60000, NULL);
 
// цикл оброботки сообщений
MSG lpMsg;
while (GetMessage(&lpMsg, NULL, 0 ,0))
{
TranslateMessage(&lpMsg);
DispatchMessage(&lpMsg);
}
return lpMsg.wParam;
}
 
LRESULT CALLBACK WindowProc(HWND hWnd, UINT message,
WPARAM wParam, LPARAM lParam)
{
 
switch(message)
{
case WM_DESTROY: PostQuitMessage(0); break;
 
// если пришло сообщения от таймера, проверка расписания в реестре
case WM_TIMER:
 CheckShedule();
 break;
 
default: return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
 
void CheckShedule(void)
{
 
// обьявления переменных
SYSTEMTIME time;
HKEY hOpen;
 
DWORD datatype, Buffsize;
long opRes;
 
char* szAlloc = "shedule\\";
char hour[3], minute[3], buff[1024];
 hour[2] = minute[2] = 0;
 
// открытия раздела реестра
opRes = RegOpenKey(HKEY_CURRENT_USER,szAlloc,&hOpen);
// если не открылся то сообщение и выход
if(opRes)
{
MessageBox(0, "Cannot open registry key!", "Error", MB_ICONSTOP);
return;
}
 
// получение текущего времени
GetLocalTime(&time);
 
for(int i = 0; i < 30; i++)
{
// чтение строки из реестра с временем и строкой запуска
if (RegQueryValueEx(hOpen,shed[i],NULL,&datatype,(BYTE*)buff,&Buffsize))
// если не прочитано то переход к следующей
continue;
 
// считывание времени запуска
hour[0] = buff[0];
hour[1] = buff[1];
minute[0] = buff[3];
minute[1] = buff[4];
 
// если текущее время равно считанному из реестра
if((atoi(hour) == time.wHour) && (atoi(minute) == time.wMinute))
{
// запуск программы
ShellExecute(0,"open", &buff[6], NULL, NULL, SW_SHOWNORMAL);
}
 
// обнуление буфера
memset(buff, 0, sizeof(buff));
 
 
 
}
 
}


-------------------------------------------------------------------------------

после компиляции пишет :

Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:\Windows\System32\kernel32.dll', no matching symbolic information found.
Loaded 'C:\Windows\System32\KernelBase.dll', no matching symbolic information found.
Loaded 'C:\Windows\System32\user32.dll', no matching symbolic information found.
Loaded 'C:\Windows\System32\gdi32.dll', no matching symbolic information found.
Loaded 'C:\Windows\System32\lpk.dll', no matching symbolic information found.
Loaded 'C:\Windows\System32\usp10.dll', no matching symbolic information found.
Loaded 'C:\Windows\System32\msvcrt.dll', no matching symbolic information found.
Loaded 'C:\Windows\System32\advapi32.dll', no matching symbolic information found.
Loaded 'C:\Windows\System32\sechost.dll', no matching symbolic information found.
Loaded 'C:\Windows\System32\rpcrt4.dll', no matching symbolic information found.
Loaded 'C:\Windows\System32\shell32.dll', no matching symbolic information found.
Loaded 'C:\Windows\System32\shlwapi.dll', no matching symbolic information found.
Loaded 'C:\Windows\System32\imm32.dll', no matching symbolic information found.
Loaded 'C:\Windows\System32\msctf.dll', no matching symbolic information found.
Loaded 'C:\Program Files\Kaspersky Lab\Kaspersky Anti-Virus 2011\mzvkbd3.dll', no matching symbolic information found.
Loaded 'C:\Windows\System32\psapi.dll', no matching symbolic information found.
The thread 0x4DC has exited with code 0 (0x0).


Помогите пожалуйста разобратся!

заранее спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.