Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364139
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62791)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21319)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21692)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8692)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3462)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20644)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Лабораторная работа: Розроблення програми на мові С для OS Windows

Название: Розроблення програми на мові С для OS Windows
Раздел: Рефераты по информатике, программированию
Тип: лабораторная работа Добавлен 03:19:28 07 апреля 2011 Похожие работы
Просмотров: 59 Комментариев: 22 Оценило: 2 человек Средний балл: 5 Оценка: неизвестно     Скачать

Міністерство освіти і науки України

Житомирський державний технологічний університет

ФІКТ

Кафедра ПЗОТ

Група ПІ-39

Лабораторна робота №5

з курсу «Системне програмування»

на тему:«KeyLock»

м. Житомир

2011 р.

ЗАГОЛОВОК

Завдання . 3

Код програми . 4

Висновок . 8


Завдання

1. Вивчити матеріал викладений у файлі допомоги

2. Створити програму, яка друкує в вікно інформацію про натискання клавіш на клавіатурі в подібну таблицю:

Massege Key Char Repeat Scan Ext Alt Prev Tran

Код програми

KEYLOOK.C

#include <windows.h>

#include <stdio.h>

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

RECT rect ; //структура, яка буде мiстити розмiри вiкна

int cxChar; //ширина символа

int cyChar; //висота символа

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)

{

static char szAppName[] = "KeyLook" ;

HWND hwnd; //дескрипторвiкна

MSG msg; //структураповiдомлення

WNDCLASSEX wndclass; //структуракласувiкна

wndclass.cbSize = sizeof (wndclass); //розмiрструктурикласувiкна

wndclass.style = CS_HREDRAW | CS_VREDRAW; //стилькласувiкна

wndclass.lpfnWndProc = WndProc; // вiконнапроцедура

wndclass.cbClsExtra = 0; //резервуваннядодатков. пам’ятi вструктурi класувiкна

wndclass.cbWndExtra = 0; //резервуваннядодатков. пам’ятi вструктурi вiкна

wndclass.hInstance = hInstance; //дескрипторекземплярапрограми

wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION); //задання iконки

wndclass.hCursor = LoadCursor (NULL, IDC_ARROW); //заданнякурсораwndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH); //заданнякольоруфонуробоч. областi вiкна

wndclass.lpszMenuName = NULL; //менюкласу

wndclass.lpszClassName = szAppName; // iм’якласу

wndclass.hIconSm = LoadIcon (NULL, IDI_APPLICATION); //задання iконкидлявiконданногокласу

RegisterClassEx (&wndclass) ;

hwnd = CreateWindow (szAppName, //iм’яклассувiкна

" Keyboard Message Looker ", // заголовоквiкна

WS_OVERLAPPEDWINDOW, // стильвiкна

CW_USEDEFAULT, // початкове положення по х

CW_USEDEFAULT, // початкове положення по у

CW_USEDEFAULT, // початковий розмiр по х

CW_USEDEFAULT, // початковий розмiр по у

NULL, // дескриптор батькiвського вiкна

NULL, // дескриптор меню вiкна

hInstance, // дескриптор екземпляра програми

NULL) ; // параметри створення

ShowWindow (hwnd, iCmdShow) ;

UpdateWindow (hwnd) ; //перемалювання робоч. областi вiкна

while (GetMessage (&msg, NULL, 0, 0))

{

TranslateMessage (&msg); //передачаструктурив Windows

DispatchMessage (&msg); //вiдправкаповiдомленьвiконiйпроцедурi

}

return msg.wParam ;

}

void ShowKey (HWND hwnd, int iType, char *szMessage, WPARAM wParam, LPARAM lParam)

{

static char *szFormat[2] = { "%-14s %3d %c %6u %4d %3s %3s %4s %4s",

"%-14s %3d %c %6u %4d %3s %3s %4s %4s" } ;

char szBuffer[80] ;

HDC hdc ; //дескрипторконтекступристрою

ScrollWindow (hwnd, 0, -cyChar, &rect, &rect) ;

hdc = GetDC (hwnd) ; //отримання дексриптора контексту пристрою

SelectObject (hdc, GetStockObject (SYSTEM_FIXED_FONT)) ; //вибiршрифту

TextOut (hdc, cxChar, rect.bottom - cyChar, szBuffer,

wsprintf (szBuffer, szFormat [iType],

szMessage, wParam,

(BYTE) (iType ? wParam : ' '),

LOWORD (lParam), //повтореннянатисненняклавiш

HIWORD (lParam) & 0xFF, //сканкод

(PSTR) (0x01000000 & lParam ? "Yes" : "No"), //розширен. клавiатури

(PSTR) (0x20000000 & lParam ? "Yes" : "No"), //чинатисненаклавіша Alt

(PSTR) (0x40000000 & lParam ? "Down" : "Up"), //попереднiйстанклавiши

(PSTR) (0x80000000 & lParam ? "Up" : "Down"))); //теперешнiйстанклавiши

ReleaseDC (hwnd, hdc) ; //звiльненнядескриптора

ValidateRect (hwnd, NULL) ; //вiкнонепотребуєперемальовування

}

LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)

{

static char szTop[] = "Message Key Char Repeat Scan Ext ALT Prev Tran";

static char szUnd[] = "_______ ___ ____ ______ ____ ___ ___ ____ ____";

HDC hdc ;

PAINTSTRUCT ps ;

TEXTMETRIC tm ;

switch (iMsg)

{

case WM_CREATE : //створеннявiкна

hdc = GetDC (hwnd);

SelectObject (hdc, GetStockObject (SYSTEM_FIXED_FONT)) ;

GetTextMetrics (hdc, &tm) ;

cxChar = tm.tmAveCharWidth ;

cyChar = tm.tmHeight ;

ReleaseDC (hwnd, hdc) ;

rect.top = 3 * cyChar / 2 ;

return 0 ;

case WM_SIZE : //змiнарозмiрiввiкна

rect.right = LOWORD (lParam) ;

rect.bottom = HIWORD (lParam) ;

UpdateWindow (hwnd) ;

return 0 ;

case WM_PAINT : //перемалюваннявікна

InvalidateRect (hwnd, NULL, TRUE) ;

hdc = BeginPaint (hwnd, &ps) ;

SelectObject (hdc, GetStockObject (SYSTEM_FIXED_FONT)) ;

SetBkMode (hdc, TRANSPARENT) ;

TextOut (hdc, cxChar, cyChar / 2, szTop, (sizeof szTop) - 1) ;

TextOut (hdc, cxChar, cyChar / 2, szUnd, (sizeof szUnd) - 1) ;

EndPaint (hwnd, &ps) ;

return 0 ;

case WM_KEYDOWN : //принатисненніклавiші, яканевiдобрааєтьсянаекранi

ShowKey (hwnd, 0, "WM_KEYDOWN", wParam, lParam) ;

return 0 ;

case WM_KEYUP : //привідпусканніклавiші, яканевiдобрааєтьсянаекранi

ShowKey (hwnd, 0, "WM_KEYUP", wParam, lParam) ;

return 0 ;

caseWM_CHAR : //при натисненнiна клавiшу яка вiдобраається на екранi

ShowKey (hwnd, 1, "WM_CHAR", wParam, lParam) ;

return 0 ;

case WM_DEADCHAR : // принатисненнi на "нiму" клавiшу

ShowKey (hwnd, 1, "WM_DEADCHAR", wParam, lParam) ;

return 0 ;

case WM_SYSKEYDOWN ://принатисненнi наклавiшу <ALT>

ShowKey (hwnd, 0, "WM_SYSKEYDOWN", wParam, lParam) ;

break ;

case WM_SYSKEYUP : //при відпусканні клавіші

ShowKey (hwnd, 0, "WM_SYSKEYUP", wParam, lParam) ;

break ;

caseWM_SYSCHAR : //при натисненнiна <ALT> + <символьна клавiша>

ShowKey (hwnd, 1, "WM_SYSCHAR", wParam, lParam) ;

break ;

case WM_SYSDEADCHAR : // принатисненнi нанiмуклавiшута <Alt>

ShowKey (hwnd, 1, "WM_SYSDEADCHAR", wParam, lParam) ;

break ;

case WM_DESTROY : //призакритi вiкнакористувачем

PostQuitMessage (0) ;

return 0 ;

}

return DefWindowProc (hwnd, iMsg, wParam, lParam) ;

}

Висновок

Отже, на даній лабораторній роботі було розроблено програму на мові С для OS Windows, яка виводить у вікно інформацію про натиснення клавіш клавіатури. програмування клавіатура windows

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Хватит париться. На сайте FAST-REFERAT.RU вам сделают любой реферат, курсовую или дипломную. Сам пользуюсь, и вам советую!
Никита06:56:32 03 ноября 2021
.
.06:56:29 03 ноября 2021
.
.06:56:29 03 ноября 2021
.
.06:56:28 03 ноября 2021
.
.06:56:27 03 ноября 2021

Смотреть все комментарии (22)
Работы, похожие на Лабораторная работа: Розроблення програми на мові С для OS Windows

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

Да, в любом случае.
Да, но только в случае крайней необходимости.
Возможно, в зависимости от цены.
Нет, напишу его сам.
Нет, забью.



Результаты(294399)
Комментарии (4230)
Copyright © 2005 - 2024 BestReferat.ru / реклама на сайте