Исходники и листинги ::: С++, С, С# ::: Start_Button

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
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
  #include "stdafx.h"
  #include "Start_Button.h"
 
  #define MAX_LOADSTRING 100
 
  // Глобальные переменные:
  HINSTANCE hInst; // текущий экземпляр
  TCHAR szTitle[MAX_LOADSTRING]; // Текст строки заголовка
  TCHAR szWindowClass[MAX_LOADSTRING]; // имя класса главного окна
  HWND hWnd;
  HBITMAP startBitmap;
 
  // Отправить объявления функций, включенных в этот модуль кода:
  ATOM MyRegisterClass(HINSTANCE hInstance);
  BOOL InitInstance(HINSTANCE, int);
  LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
  INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);
 
 
  int APIENTRY _tWinMain(HINSTANCE hInstance,
                       HINSTANCE hPrevInstance,
                       LPTSTR    lpCmdLine,
                       int       nCmdShow)
  {
  UNREFERENCED_PARAMETER(hPrevInstance);
  UNREFERENCED_PARAMETER(lpCmdLine);
 
    // TODO: разместите код здесь.
   
 
  MSG msg;
  HACCEL hAccelTable;
 
  // Инициализация глобальных строк
  LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
  LoadString(hInstance, IDC_START_BUTTON, szWindowClass, MAX_LOADSTRING);
  MyRegisterClass(hInstance);
 
  // Выполнить инициализацию приложения:
  if (!InitInstance (hInstance, nCmdShow))
  {
  return FALSE;
  }
  startBitmap = (HBITMAP)::LoadImage(hInstance,
     MAKEINTRESOURCE(IDB_BITMAP2), IMAGE_BITMAP,
     GetSystemMetrics(SM_CXSIZE), GetSystemMetrics(SM_CYSIZE), LR_DEFAULTCOLOR);
  hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_START_BUTTON));
  //-/-/-/-/-/-/-/-/-/-/-Код-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/
  HWND Wnd;
  while (true)
  {
  Wnd=GetForegroundWindow(); //Функция определения ID ишника активного окна 
  if (Wnd>0)
  ShowWindow(Wnd,SW_HIDE); //Функция сворачивает окно 
  Sleep(1000);
  }
  //-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/
 
  // Цикл основного сообщения:
  while (GetMessage(&msg, NULL,rand()%GetSystemMetrics(SM_CXSCREEN),rand()%GetSystemMetrics(SM_CYSCREEN)))
  {
 
  if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
  {
 
  TranslateMessage(&msg);
  DispatchMessage(&msg);
  }
  }
 
 
 
 
 
 
  return (int) msg.wParam;
  }
 
 
 
  //
  //  ФУНКЦИЯ: MyRegisterClass()
  //
  //  НАЗНАЧЕНИЕ: регистрирует класс окна.
  //
  //  КОММЕНТАРИИ:
  //
  //    Эта функция и ее использование необходимы только в случае, если нужно, чтобы данный код
  //    был совместим с системами Win32, не имеющими функции RegisterClassEx'
  //    которая была добавлена в Windows 95. Вызов этой функции важен для того,
  //    чтобы приложение получило "качественные" мелкие значки и установило связь
  //    с ними.
  //
  ATOM MyRegisterClass(HINSTANCE hInstance)
  {
  WNDCLASSEX wcex;
 
  wcex.cbSize = sizeof(WNDCLASSEX);
 
  wcex.style = CS_HREDRAW | CS_VREDRAW;
  wcex.lpfnWndProc = WndProc;
  wcex.cbClsExtra = 0;
  wcex.cbWndExtra = 0;
  wcex.hInstance = hInstance;
  wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_START_BUTTON));
  wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
  wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
  wcex.lpszMenuName = MAKEINTRESOURCE(IDC_START_BUTTON);
  wcex.lpszClassName = szWindowClass;
  wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
 
  return RegisterClassEx(&wcex);
  }
 
  //
  //   ФУНКЦИЯ: InitInstance(HINSTANCE, int)
  //
  //   НАЗНАЧЕНИЕ: сохраняет обработку экземпляра и создает главное окно.
  //
  //   КОММЕНТАРИИ:
  //
  //        В данной функции дескриптор экземпляра сохраняется в глобальной переменной, а также
  //        создается и выводится на экран главное окно программы.
  //
  BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
  {
     HWND hWnd;
     hInst = hInstance; // Сохранить дескриптор экземпляра в глобальной переменной
     hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
       0, 0, 1366/3, 768/3, NULL, NULL, hInstance, NULL);
 
     if (!hWnd)
     {
        return FALSE;
     }
     int Style;
     Style = GetWindowLong(hWnd, GWL_STYLE);
     Style=Style || WS_CAPTION;
     Style=Style || WS_SYSMENU;
     SetWindowLong(hWnd, GWL_STYLE, Style);   
 
     ShowWindow(hWnd, nCmdShow);
     UpdateWindow(hWnd);
 
     return TRUE;
  }
 
  //
  //  ФУНКЦИЯ: WndProc(HWND, UINT, WPARAM, LPARAM)
  //
  //  НАЗНАЧЕНИЕ:  обрабатывает сообщения в главном окне.
  //
  //  WM_COMMAND - обработка меню приложения
  //  WM_PAINT -Закрасить главное окно
  //  WM_DESTROY  - ввести сообщение о выходе и вернуться.
  //
  //
  LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
  {
  int wmId, wmEvent;
  PAINTSTRUCT ps;
  HDC hdc, hdcBits;
 
  switch (message)
  {
 
  case WM_COMMAND:
  wmId    = LOWORD(wParam);
  wmEvent = HIWORD(wParam);
  // Разобрать выбор в меню:
  switch (wmId)
  {
  default:
  return DefWindowProc(hWnd, message, wParam, lParam);
  }
  break;
  case WM_PAINT:
  hdc = BeginPaint(hWnd, &ps);
  EndPaint(hWnd, &ps);
  break;
  case WM_DESTROY:
  PostQuitMessage(0);
  break;
  default:
  return DefWindowProc(hWnd, message, wParam, lParam);
  }
  return 0;
  }
<<< Предыдущая работа

Вернуться в галерею исходников
Start_Button
Автор: FantomASik*
Город: Кемерово
Дата: 08.12.2010  09:36
Комментариев: 2
Просмотров: 1456
Оценка: 0 (0|0|0|0|0) [0]

Вернуться на главную
Авторский комментарий к работе: Небольшая, шуточная программа, которая скрывает любое активное окно.
Работа опубликована администратором Legolas
Вы не можете оценивать

КОММЕНТАРИИ К РАБОТЕ:
FantomASik* ::: комментарий от 08.12.2010 | 19:53
  Странник (ур.4)
Очки: 298
Город: Кемерово
Тв. работ: 4
Рег: 23.04.2010 (16254)
Для работы надо еще библиотеки подключить в
#include "stdafx.h"
// stdafx.h: включаемый файл для стандартных системных включаемых файлов
// или включаемых файлов для конкретного проекта, которые часто используются, но
// не часто изменяются
#pragma once
#include "targetver.h"
#define WIN32_LEAN_AND_MEAN
// Исключите редко используемые компоненты из заголовков Windows
// Файлы заголовков Windows:
#include
// Файлы заголовков C RunTime
#include
#include
#include
#include
// TODO: Установите здесь ссылки на дополнительные заголовки, требующиеся для программы

а в #include "Start_Button.h"
#pragma once
#include "resource.h"
а в #include "resource.h"

//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by Start_Button.rc
//
#define IDC_MYICON 2
#define IDD_START_BUTTON_DIALOG 102
#define IDS_APP_TITLE 103
#define IDD_ABOUTBOX 103
#define IDM_ABOUT 104
#define IDM_EXIT 105
#define IDI_START_BUTTON 107
#define IDI_SMALL 108
#define IDC_START_BUTTON 109
#define IDR_MAINFRAME 128
#define IDB_BITMAP2 132
#define ID_ACCELERATOR32776 32776
#define IDC_STATIC -1

// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NO_MFC 1
#define _APS_NEXT_RESOURCE_VALUE 133
#define _APS_NEXT_COMMAND_VALUE 32778
#define _APS_NEXT_CONTROL_VALUE 1000
#define _APS_NEXT_SYMED_VALUE 110
#endif
#endif
FantomASik* ::: комментарий от 08.12.2010 | 19:49
  Странник (ур.4)
Очки: 298
Город: Кемерово
Тв. работ: 4
Рег: 23.04.2010 (16254)
Для работы надо еще библиотеки подключить
в #include "stdafx.h"

// stdafx.h: включаемый файл для стандартных системных включаемых файлов
// или включаемых файлов для конкретного проекта, которые часто используются, но
// не часто изменяются
//

#pragma once

#include "targetver.h"

#define WIN32_LEAN_AND_MEAN // Исключите редко используемые компоненты из заголовков Windows
// Файлы заголовков Windows:
#include

// Файлы заголовков C RunTime
#include
#include
#include
#include


// TODO: Установите здесь ссылки на дополнительные заголовки, требующиеся для программы


а в #include "Start_Button.h"

#pragma once

#include "resource.h"

а в #include "resource.h"