Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/32: Рейтинг темы: голосов - 32, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
1

Перевод консоли в окно

29.03.2012, 19:51. Показов 6007. Ответов 25
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
есть консольный исходник VMProtect для получения HWID. Хочу перевести его в оконное приложение... Может у кого есть шаблон окошка для таких целей? Желательно чтоб с кнопкой копирования в буфер.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
}
#include <iostream>
#include <windows.h>
#include <stdio.h>
#include <winnt.h>
#include "VMProtectSDK.h"
 
 
int main(int argc, char **argv)
{
 int nSize = VMProtectGetCurrentHWID(NULL, 0);
 char *buf = new char[nSize];
 VMProtectGetCurrentHWID(buf, nSize);
 printf("HWID: %s\n", buf);
 delete [] buf;
 system("pause");
 return 0;
}
VMProtectSDK.h
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
#pragma once
 
#ifdef _WIN64
    #pragma comment(lib, "VMProtectSDK64.lib")
#else
    #pragma comment(lib, "VMProtectSDK32.lib")
#endif
 
#ifdef __cplusplus
extern "C" {
#endif
 
// protection
__declspec(dllimport) void __stdcall VMProtectBegin(const char *);
__declspec(dllimport) void __stdcall VMProtectBeginVirtualization(const char *);
__declspec(dllimport) void __stdcall VMProtectBeginMutation(const char *);
__declspec(dllimport) void __stdcall VMProtectBeginUltra(const char *);
__declspec(dllimport) void __stdcall VMProtectBeginVirtualizationLockByKey(const char *);
__declspec(dllimport) void __stdcall VMProtectBeginUltraLockByKey(const char *);
__declspec(dllimport) void __stdcall VMProtectEnd(void);
__declspec(dllimport) BOOL __stdcall VMProtectIsDebuggerPresent(BOOL);
__declspec(dllimport) BOOL __stdcall VMProtectIsVirtualMachinePresent(void);
__declspec(dllimport) BOOL __stdcall VMProtectIsValidImageCRC(void);
__declspec(dllimport) char * __stdcall VMProtectDecryptStringA(const char *value);
__declspec(dllimport) wchar_t * __stdcall VMProtectDecryptStringW(const wchar_t *value);
 
// licensing
enum VMProtectSerialStateFlags
{
    SERIAL_STATE_FLAG_CORRUPTED         = 0x00000001,
    SERIAL_STATE_FLAG_INVALID           = 0x00000002,
    SERIAL_STATE_FLAG_BLACKLISTED       = 0x00000004,
    SERIAL_STATE_FLAG_DATE_EXPIRED      = 0x00000008,
    SERIAL_STATE_FLAG_RUNNING_TIME_OVER = 0x00000010,
    SERIAL_STATE_FLAG_BAD_HWID          = 0x00000020,
    SERIAL_STATE_FLAG_MAX_BUILD_EXPIRED = 0x00000040,
};
#pragma pack(push, 1)
typedef struct
{
    WORD            wYear;
    BYTE            bMonth;
    BYTE            bDay;
} VMProtectDate;
typedef struct
{
    INT             nState;             // VMProtectSerialStateFlags
    wchar_t         wUserName[256];     // user name
    wchar_t         wEMail[256];        // email
    VMProtectDate   dtExpire;           // date of serial number expiration
    VMProtectDate   dtMaxBuild;         // max date of build, that will accept this key
    INT             bRunningTime;       // running time in minutes
    BYTE            nUserDataLength;    // length of user data in bUserData
    BYTE            bUserData[255];     // up to 255 bytes of user data
} VMProtectSerialNumberData;
 
#pragma pack(pop)
__declspec(dllimport) INT  __stdcall VMProtectSetSerialNumber(const char * SerialNumber);
__declspec(dllimport) INT  __stdcall VMProtectGetSerialNumberState();
__declspec(dllimport) BOOL __stdcall VMProtectGetSerialNumberData(VMProtectSerialNumberData *pData, UINT nSize);
__declspec(dllimport) INT  __stdcall VMProtectGetCurrentHWID(char * HWID, UINT nSize);
 
#ifdef __cplusplus
}
#endif

С оконными только начал разбираться...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.03.2012, 19:51
Ответы с готовыми решениями:

Исчезает окно консоли
Запускаю программу, ввожу первое число, второе число, жму Enter и окно MS DOS исчезает, не выводя...

Закрывается окно консоли
Здравствуйте! Я новичок в программирование. И желаю научиться C++ есть книга Джесс Либерти ...

Изменение окно в консоли
Можно как-то убрать полосу прокрутки в консоли (MS Visual C++)? Чтоб нельзя было ее прокрутить и...

Окно консоли исчезает
пишу программу сервер. состоит програма из 2 приложений, один главный подключает клиентов и...

25
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
30.03.2012, 21:06  [ТС] 21
Author24 — интернет-сервис помощи студентам
Спасибо большое! Все поехало! "Edit" правда не совсем то, возможность редактировать не нужна, но так зато есть возможность скопировать в буфер.

Как-нибудь потом, когда разберусь, просто сделаю кнопку копирования в буфер. Спасибо!
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
30.03.2012, 21:23 22
Там по идее в стиле надо добавить ES_READONLY или что-то вроде того, что бы редактировать нельзя было.

Но реализация на RAD конечно намного проще, буквально в несколько кликов
1
0 / 0 / 0
Регистрация: 08.03.2012
Сообщений: 65
30.03.2012, 21:28  [ТС] 23
А не подскажешь, можно фон наложить и сделать ListBox прозрачным (50проц) или полностью прозрачным, но чтобы текст выводился 100 видимости.


Цитата Сообщение от Avazart Посмотреть сообщение
Но реализация на RAD конечно намного проще, буквально в несколько кликов
Буду смотреть значит в сторону пары кликов. Пасиб!
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
30.03.2012, 22:02 24
Фон в смысле картинку или цвет?
В RAD можно убрать бордюры и выставить цвет фона так что элемент сравняется с формой будет только виден текст, если вы про это.

Добавлено через 9 минут
C++
1
hEdit=CreateWindowA("Edit",text.c_str(),WS_CHILD|WS_VISIBLE|WS_VSCROLL|WS_BORDER|ES_MULTILINE|ES_READONLY, lx,ly,lw,lh,hWnd,(HMENU)ID_EDIT,hInst,0);
1
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
30.03.2012, 22:18 25
C++
1
2
3
4
5
6
7
8
9
10
11
    case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
 
        RECT R;
        GetClientRect(hWnd,&R);
        HBRUSH hBrush; 
        hBrush= CreateSolidBrush(0x0F0F0F0);
        FillRect(hdc,&R,hBrush);
 
        EndPaint(hWnd, &ps);
        break;
1
102 / 86 / 5
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
31.03.2012, 11:31 26
вот хороший сайт http://shatalov.su/ru/articles... ndow_0.php
там есть первая и вторая часть
прочтите иначе кода не поймете
0
31.03.2012, 11:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2012, 11:31
Помогаю со студенческими работами здесь

Как убрать окно консоли
Всем привет! Посмотрите как можно убрать черное окно чтобы осталась только окно диалога....

Как очистить окно консоли?
Здравствуйте! Есть к примеру программа - калькулятор а консоли! Она работает так, ввели число,...

Убрать/скрыть окно консоли
Всем привет!Я пишу на notepad++,компилирую через командную строку.Как мне убрать консольное...

Как расширить окно консоли
какой командой можно расширить окно консоли?а то у меня прога много выводит,и начало ,не с начала...


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

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru