include stdafx include locale include Windows define BUF 32 void Err D

 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
#include "stdafx.h"
#include <locale.h>
#include <Windows.h>
#define BUF 32
void Err(DWORD a) {
TCHAR text[256];
LPVOID lpMsgBuf;
DWORD dw,cnt,count1;
if (a==0) dw = GetLastError();
else dw = a;
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM |FORMAT_MESSAGE_IGNORE_INSERTS,NULL,dw,MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),(LPTSTR) &lpMsgBuf,0, NULL );
cnt = wsprintf(text, TEXT("%s"),lpMsgBuf);
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE),text,cnt,&count1,NULL);
}
int _tmain(int argc, _TCHAR* argv[])
{
HANDLE In,Out;
TCHAR Login[BUF]={0}, Pas[BUF]={0},Path[]=_T("Software\\Google\\"),Login1[BUF]={0}, Pas1[BUF]={0};
DWORD nIn,nIn2,cbData,er;
HKEY hKey;
In = GetStdHandle(STD_INPUT_HANDLE);
Out = GetStdHandle(STD_OUTPUT_HANDLE);
setlocale(LC_ALL,"RUSSIAN");
WriteConsole(Out,_T("Введите логин:\n"),15,&nIn,NULL);
ReadConsole(In,Login,sizeof(Login),&nIn, NULL);
WriteConsole(Out,_T("Введите пароль:\n"),16,&nIn2,NULL);
ReadConsole(In,Pas,sizeof(Pas),&nIn2,NULL);
er = RegGetValue(HKEY_CURRENT_USER,Path,_T("Login"),RRF_RT_REG_SZ,NULL,(BYTE*)Login1,&cbData);
if (er != 0) Err(er);
er = RegGetValue(HKEY_CURRENT_USER,Path,_T("Password"),RRF_RT_REG_SZ,NULL,(BYTE*)Pas1,&cbData);
if (er != 0) Err(er);
er = RegCreateKeyEx(HKEY_CURRENT_USER,Path,NULL,NULL,REG_OPTION_NON_VOLATILE,KEY_WRITE,NULL,&hKey,NULL);
if (er != 0) Err(er);
er = RegSetValueEx(hKey, _T("Login"), 0, REG_SZ, (BYTE*)Login, BUF);
if (er != 0) Err(er);
er = RegSetValueEx(hKey, _T("Password"), 0, REG_SZ, (BYTE*)Pas, BUF);
if (er != 0) Err(er);
er = RegCloseKey(hKey);
if (er != 0) Err(er);
if (((_tcscmp(Login,Login1)) == 0) && (_tcscmp(Pas,Pas1) == 0)) {
wprintf(_T("Авторизация одобрена\n"));
}
/*if (RegGetValue(HKEY_CURRENT_USER,Path,_T("Login"),RRF_RT_REG_SZ,NULL,(BYTE*)Login1,&cbData) != ERROR_SUCCESS) {
WriteConsole(Out,_T("При чтении значения Login произошла ошибка!\n"),44,&nIn,NULL);
}
if (RegGetValue(HKEY_CURRENT_USER,Path,_T("Password"),RRF_RT_REG_SZ,NULL,(BYTE*)Pas1,&cbData) != ERROR_SUCCESS) {
WriteConsole(Out,_T("При чтении значения Password произошла ошибка!\n"),46,&nIn,NULL);
}
if (RegCreateKeyEx(HKEY_CURRENT_USER,Path,NULL,NULL,REG_OPTION_NON_VOLATILE,KEY_WRITE,NULL,&hKey,NULL) != ERROR_SUCCESS) {
WriteConsole(Out,_T("При создании ключа произошла ошибка!\n"),35,&nIn,NULL);
}
if(RegSetValueEx(hKey, _T("Login"), 0, REG_SZ, (BYTE*)Login, BUF) != ERROR_SUCCESS) {
WriteConsole(Out,_T("При записи значения Login произошла ошибка!\n"),50,&nIn,NULL);
}
if(RegSetValueEx(hKey, _T("Password"), 0, REG_SZ, (BYTE*)Pas, BUF) != ERROR_SUCCESS) {
WriteConsole(Out,_T("При записи значения Password произошла ошибка!\n"),50,&nIn,NULL);
}
if(RegCloseKey(hKey) != ERROR_SUCCESS){
WriteConsole(Out,_T("При закрытии ключа произошла ошибка!\n"),35,&nIn,NULL);
}
if (((_tcscmp(Login,Login1)) == 0) && (_tcscmp(Pas,Pas1) == 0)) {
wprintf(_T("Авторизация одобрена\n"));
}*/
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE),_T("\nВыполнил:\n Студент группы 5ИНТ-2ДБ-105\n Перепечко Сергей\n МАТИ 2014."),68,&nIn,NULL);
getchar();
return 0;
}