Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <windows.h>
- #include <stdio.h>
- #include <commctrl.h>
- #include <tchar.h>
- LRESULT WINAPI WndProc(HWND, UINT, WPARAM, LPARAM);
- int maxx_size = 800;
- int maxy_size = 600;
- long width;
- long height;
- HDC dc;
- HWND w;
- STARTUPINFO si;
- PROCESS_INFORMATION pi;
- static HWND hBtn1, hBtn2, hBtn3, hBtn4, hBtn5;
- int main()
- {
- HINSTANCE histance = GetModuleHandleW(NULL);
- WNDCLASSEX wclass = { 0 };
- wclass.cbSize = sizeof(WNDCLASSEX);
- wclass.style = CS_HREDRAW | CS_VREDRAW;
- wclass.lpfnWndProc = WndProc;
- wclass.cbClsExtra = 0;
- wclass.cbWndExtra = 0;
- wclass.hInstance = histance;
- wclass.hIcon = LoadIcon(0, IDI_APPLICATION);
- wclass.hCursor = LoadCursor(0, IDC_ARROW);
- wclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
- wclass.lpszMenuName = NULL;
- wclass.lpszClassName = "Test";
- RegisterClassEx(&wclass);
- w = CreateWindowExW(
- 0,
- L"Test",
- L"Form",
- WS_OVERLAPPEDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- 800,
- 600,
- 0,
- 0,
- histance,
- 0);
- ShowWindow(w, SW_SHOW);
- UpdateWindow(w);
- MSG msg = { 0 };
- while (GetMessage(&msg, 0, 0, 0)) {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- return 0;
- }
- LRESULT WINAPI WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
- {
- PAINTSTRUCT MyPaint;
- HBRUSH Brush;
- HPEN Pen;
- switch (msg) {
- case WM_DESTROY:
- PostQuitMessage(0);
- break;
- case WM_PAINT:
- break;
- case WM_CLOSE:
- break;
- case WM_CREATE:
- hBtn1 = CreateWindow(TEXT("BUTTON"),TEXT("Update"),WS_VISIBLE|WS_CHILD, 0,0,100,20,hWnd,HMENU(NULL),NULL,NULL);
- hBtn2 = CreateWindow(TEXT("BUTTON"),TEXT("Notepad"),WS_VISIBLE|WS_CHILD, 0,20,100,20,hWnd,HMENU(NULL),NULL,NULL);
- hBtn3 = CreateWindow(TEXT("BUTTON"),TEXT("MsPaint"),WS_VISIBLE|WS_CHILD, 0,40,100,20,hWnd,HMENU(NULL),NULL,NULL);
- hBtn4 = CreateWindow(TEXT("BUTTON"),TEXT("MsInfo"),WS_VISIBLE|WS_CHILD, 0,60,100,20,hWnd,HMENU(NULL),NULL,NULL);
- hBtn5 = CreateWindow(TEXT("BUTTON"),TEXT("Calculator"),WS_VISIBLE|WS_CHILD, 0,80,100,20,hWnd,HMENU(NULL),NULL,NULL);
- break;
- case WM_COMMAND:
- if(lParam == (LPARAM)hBtn1) {
- }
- if(lParam == (LPARAM)hBtn2) {
- TCHAR czCommandLine[] = L"Notepad";
- CreateProcess( NULL, // Нет имени модуля (используется командная строка).
- czCommandLine, // Командная строка.
- NULL, // Дескриптор процесса не наследуемый.
- NULL, // Дескриптор потока не наследуемый.
- FALSE, // Установим наследование дескриптора в FALSE.
- 0, // Флажков создания нет.
- NULL, // Используйте блок конфигурации родителя.
- NULL, // Используйте стартовый каталог родителя.
- &si, // Указатель на структуру STARTUPINFO.
- &pi );
- }
- if(lParam == (LPARAM)hBtn3) {
- TCHAR czCommandLine[] = L"MsPaint";
- CreateProcess( NULL, // Нет имени модуля (используется командная строка).
- czCommandLine, // Командная строка.
- NULL, // Дескриптор процесса не наследуемый.
- NULL, // Дескриптор потока не наследуемый.
- FALSE, // Установим наследование дескриптора в FALSE.
- 0, // Флажков создания нет.
- NULL, // Используйте блок конфигурации родителя.
- NULL, // Используйте стартовый каталог родителя.
- &si, // Указатель на структуру STARTUPINFO.
- &pi );
- }
- if(lParam == (LPARAM)hBtn4) {
- TCHAR czCommandLine[] = l"MsInfo32";
- CreateProcess( NULL, // Нет имени модуля (используется командная строка).
- czCommandLine, // Командная строка.
- NULL, // Дескриптор процесса не наследуемый.
- NULL, // Дескриптор потока не наследуемый.
- FALSE, // Установим наследование дескриптора в FALSE.
- 0, // Флажков создания нет.
- NULL, // Используйте блок конфигурации родителя.
- NULL, // Используйте стартовый каталог родителя.
- &si, // Указатель на структуру STARTUPINFO.
- &pi );
- }
- if(lParam == (LPARAM)hBtn5) {
- TCHAR czCommandLine[] = L"Calc";
- CreateProcess( NULL, // Нет имени модуля (используется командная строка).
- czCommandLine, // Командная строка.
- NULL, // Дескриптор процесса не наследуемый.
- NULL, // Дескриптор потока не наследуемый.
- FALSE, // Установим наследование дескриптора в FALSE.
- 0, // Флажков создания нет.
- NULL, // Используйте блок конфигурации родителя.
- NULL, // Используйте стартовый каталог родителя.
- &si, // Указатель на структуру STARTUPINFO.
- &pi );
- }
- HWND hwndList = CreateWindowEx(0L, WC_LISTVIEW, "",
- WS_VISIBLE | WS_CHILD | WS_BORDER | LVS_REPORT |
- LVS_EDITLABELS,
- 0, 0, 400, 600,
- hWnd, NULL, NULL, NULL);
- break;
- }
- return DefWindowProc(hWnd, msg, wParam, lParam);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement