Как создать полноценый релиз (*.exe), с возможностью запуска на чистой винХр?
10.11.2012, 14:26. Показов 748. Ответов 1
Хэдер
Кликните здесь для просмотра всего текста
| C++ | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| //{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by Password.rc
//
#define IDC_LOGIN 1001
#define IDC_PASSWORD 1002
#define IDC_EDIT2 1018
#define IDC_EDIT3 1019
#define IDC_EDIT4 1020
#define IDC_STATIC -1
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 402
#define _APS_NEXT_COMMAND_VALUE 32811
#define _APS_NEXT_CONTROL_VALUE 1022
#define _APS_NEXT_SYMED_VALUE 104
#endif
#endif |
|
Файл ресурсов
Кликните здесь для просмотра всего текста
| 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
| // Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#define APSTUDIO_HIDDEN_SYMBOLS
#include "windows.h"
#undef APSTUDIO_HIDDEN_SYMBOLS
#include "resource.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// Russian resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
#ifdef _WIN32
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
#pragma code_page(1251)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
2 TEXTINCLUDE
BEGIN
"#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
"#include ""windows.h""\r\n"
"#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
"#include ""resource.h""\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
PASSWORDBOX DIALOGEX 0, 0, 167, 79
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Авторизация"
FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN
DEFPUSHBUTTON "OK",IDOK,19,53,50,14
PUSHBUTTON "Cancel",IDCANCEL,97,53,50,14
EDITTEXT IDC_LOGIN,49,13,101,12
EDITTEXT IDC_PASSWORD,49,33,101,12
LTEXT "Login",IDC_STATIC,12,16,23,10
LTEXT "Password",IDC_STATIC,12,35,34,10
END
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
BEGIN
"PASSWORDBOX", DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 160
TOPMARGIN, 7
BOTTOMMARGIN, 72
END
END
#endif // APSTUDIO_INVOKED
#endif // Russian resources
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
#endif // APSTUDIO_INVOKED
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED |
|
Файл исходного кода
Кликните здесь для просмотра всего текста
| 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
| #include <windows.h>
#include <iostream>
#include <fstream>
#include <conio.h>
#include <string>
#include "resource.h"
// объявление функций
LRESULT CALLBACK WndProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam);
BOOL CALLBACK Password (HWND Password, UINT message, WPARAM wParam, LPARAM lParam);
HINSTANCE hInst;
// функция вхождений программы WinMain
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{//описания регистрации класса окон
WNDCLASSEX windowsclass;
HWND hwnd;
MSG msg;
windowsclass.cbSize = sizeof(WNDCLASSEX);
windowsclass.style = CS_HREDRAW |CS_VREDRAW;
windowsclass.lpfnWndProc = WndProc;
windowsclass.cbClsExtra = 0;
windowsclass.cbWndExtra = 0;
windowsclass.hInstance = hInstance;
windowsclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
windowsclass.hCursor = LoadCursor(NULL, IDC_ARROW);
windowsclass.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
windowsclass.lpszMenuName = NULL;
windowsclass.lpszClassName = TEXT("WNDCLASS");
windowsclass.hIconSm = LoadIcon(NULL,IDI_APPLICATION);
// регистрация класса
if (!RegisterClassEx(&windowsclass))
return 0;
hInst = hInstance;
// создание диалогового окна
if (!(hwnd = CreateWindowEx (NULL, TEXT("WNDCLASS"), TEXT(""),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT, 500, 400,
NULL,
NULL,
hInstance,
NULL)))
return (0);
//вывод на экран
ShowWindow(hwnd, SW_SHOWDEFAULT);
UpdateWindow(hwnd);
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return (msg.wParam);//код завершения программы
}
// функция обработки сообщений
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wparam, LPARAM lparam)
{
switch(msg)//выбор и обработка мсж
{
case WM_CREATE:
DialogBox (hInst, TEXT("PasswordBox"), hWnd, Password);
break;
case WM_DESTROY:// При уничтожении окна, отправить сообщение о выходе для прерывания обработки сообщений
{
PostQuitMessage(0);
return (0);
}
break;
}
return (DefWindowProc(hWnd, msg, wparam, lparam));//все остальные сообщения обработает сама винда
}
BOOL CALLBACK Password (HWND Password, UINT message, WPARAM wParam, LPARAM lParam)
{
TCHAR paswrdBuffer[11];
switch (message)
{
case WM_INITDIALOG:
SetFocus (GetDlgItem (Password, IDC_LOGIN));
SendDlgItemMessage (Password, IDC_PASSWORD, EM_LIMITTEXT, 10, 0);
SendDlgItemMessage (Password, IDC_PASSWORD, EM_SETPASSWORDCHAR, 0x78, 0);
return FALSE;
case WM_COMMAND:
if (LOWORD(wParam) == IDOK)
{
GetDlgItemText (Password, IDC_LOGIN, paswrdBuffer, 11);
int key=3;
for (unsigned int i=0; i<strlen(LPSTR(paswrdBuffer)); i++) {
if (LPSTR(paswrdBuffer)[i] != ' ') {
LPSTR(paswrdBuffer)[i]+=key;
if (LPSTR(paswrdBuffer)[i] < 'a' || LPSTR(paswrdBuffer)[i] > 'z') {
LPSTR(paswrdBuffer)[i] -= 26;
}
}
}
if (lstrcmp (paswrdBuffer, TEXT("nluloo")) == 0)
{
GetDlgItemText (Password, IDC_PASSWORD, paswrdBuffer, 11);
int key=5;
for (unsigned int i=0; i<strlen(LPSTR(paswrdBuffer)); i++) {
if (LPSTR(paswrdBuffer)[i] != ' ') {
LPSTR(paswrdBuffer)[i]+=key;
if (LPSTR(paswrdBuffer)[i] < 'a' || LPSTR(paswrdBuffer)[i] > 'z') {
LPSTR (paswrdBuffer)[i] -= 26;
}
}
}
if (lstrcmp (paswrdBuffer, TEXT("rzwfyta")) == 0)
{
MessageBox (Password, TEXT("Password is true!"), TEXT(""), MB_OK | MB_ICONASTERISK);
EndDialog (Password, TRUE);
exit (1);
}
}
MessageBox (Password, TEXT("Login or password is false\nTry again"), TEXT("Autorisation"), MB_OK | MB_ICONERROR);
EndDialog (Password, TRUE);
exit (1);
}
else if (LOWORD(wParam) == IDCANCEL)
{
MessageBox (Password, TEXT("GoodBye..."), TEXT(""), MB_OK);
exit (1);
}
break;
}
return (FALSE);
} |
|
0
|