Приклади програм з обробки повідомлень від клавіатури і миші

Приклад 1 Реалізувати зміна тексту заголовка вікна на заданий текст за подвійним клацанням правої кнопки в клієнтській області вікна Зворотну заміну заголовка здійснити після натискання клавіші F1

.model flat,stdcall

option casemap:none

include з:\masm32\include\windows Inc include з:\masm32\include\user32 Inc include з:\masm32\include\kernel32 Inc includelib з:\masm32\lib\user32 Lib includelib з:\masm32\lib\kernel32lib WinMain proto :DWORD,:DWORD,:DWORD,:DWORD data

AppName db Моє додаток, 0 NewName db Нова назва”, 0 hlnstance HINSTANCE CommandLine LPSTR code start:

invoke GetModuleHandle, NULL

mov   hlnstance,eax

invoke GetCommandLine

mov   CommandLine,eax

invoke WinMain, hlnstance, NULL, CommandLine, SW_SHOWDEFAULT запуск WinMain і після її завершення зупинка процесу

invoke ExitProcess,eax WinMain proc hlnst:HINSTANCE,hPrevInst:HINSTANCE, CmdLine:LPSTR,CmdShow:DWORD

LOCAL wc: WNDCLASSEX WNDCLASSEX аналогічна WNDCLASS За винятком 2 полів cbSize розміру структури в байтах і hlconSm – дескриптора піктограми додатка розміром 16×16, використовуваної в заголовку вікна даного класу

LOCAL msg:MSG

LOCAL hwnd:HWND

LOCAL X:DWORD

LOCAL Y:DWORD

mov X,500

mov Y,350

mov   wccbSize,SIZEOF WNDCLASSEX

mov wcstyle, CS_HREDRAW or CS_VREDRAW OR CS_DBLCLKS стиль класу забезпечує реакцію на подвійні клацання

mov   wclpfnWndProc, OFFSET WndProc

mov   wccbClsExtra,NULL

mov   wccbWndExtra,NULL

push hlnstance

pop  wchlnstance

mov   wchbrBackground,COLOR_BTNFACE+1

mov  wclps zMenuName,NULL

mov  wclpszClassName,OFFSET AppName

invoke LoadIcon,NULL,IDI_APPLICATION

mov  wchIcon,eax

mov  wchIconSm,eax

invoke LoadCursor,NULL,IDC_ARROW

mov  wchCurs or,eax

invoke RegisterClassEx, addr wc

INVOKE CreateWindowEx,NULL,ADDR AppName,

ADDR AppName, WS_OVERLAPPEDWINDOW,200, 200, X,Y,NULL, NULL,hinst,NULL mov  hwnd,eax

invoke ShowWindow, hwnd,SW_SHOWNORMAL invoke UpdateWindow, hwnd WHILE TRUE

begin:  invoke GetMessage, ADDR msg,NULL,0,0 BREAK IF (eax)

invoke TranslateMessage, ADDR msg invoke DispatchMessage, ADDR msg ENDW

mov eax,msgwParam ret WinMain endp

WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM IF uMsg=WM_DESTROY

invoke PostQuitMessage, NULL ELSEIF uMsg = WM_RBUTTONDBLCLK замінюємо текст заголовка вікна

invoke SetWindowText,hWnd,ADDR NewName ELSEIF uMsg=WM_KEYDOWN

; Відновлюємо текст IF wParam == VK_F1

invoke SetWindowText,hWnd,ADDR AppName endif ELSE

invoke DefWindowProc,hWnd,uMsg,wParam,lParam ret ENDIF xor eax,eax ret WndProc endp end start

Приклад 2 Подвійне клацання лівої кнопки в клієнтській області вікна призводить до циклічного переміщенню вікна по екрану Скасувати ці дії можна натисканням клавіші на клавіатурі

Розглянемо тільки віконну функцію і макроси, які здійснюють додавання і віднімання параметрів, які повертають результат операції через перший операнд:

plus MACRO mem,vl                      mem=mem+vl

push eax

mov eax,mem

add eax,vl

mov mem, eax

pop eax
ENDM
minus MACRO mem,vl                   mem=mem-vl

push eax

mov eax,mem

sub eax,vl

mov mem, eax

pop eax ENDM

Так як переміщення вікна повинна бути циклічним, то доцільно використовувати повідомлення від таймера WMTIMER, при обробці якого здійснювати переміщення вікна в нову позицію Створення таймера будемо здійснювати при обробці повідомлення про подвійне клацання лівої кнопки миші Знищення таймера реалізуємо при обробці повідомлення про натискання будь-якої клавіші

WndProc proc hWin: DWORD, uMsg: DWORD, wParam: DWORD, lParam: DWORD початкові значення координат лівого верхнього кута (Left, Top) вікна задаються як глобальні змінні If uMsg == WM_TIMER If Left == 50

.if Top &lt 350

plus Top,10 else

plus Left,10 endif endif if Top = 350

.if Left &lt 350

plus Left,10 else

minus Top,10 endif endif if Left == 350

.if Top &gt 50

minus Top,10 else

minus Left,10 endif endif if Top = 50

.if Left &gt 50

minus Left,10 else

plus Top, 10 endif endif висновок вікна з зміненими координатами лівого верхнього кута

invoke SetWindowPos,hWnd, HWND_TOP,

Left, Top, 200,100, SWP_SHOWWINDOW Elseif uMsg == WM_KEYDOWN при натисканні будь-якої клавіші таймер знищується invoke KillTimer, hWin, NULL else

. If uMsg == WM_LBUTTONDBLCLK инициализируем таймер

invoke SetTimer, hWin, NULL, 500, NULL 500 мс = 0,5 секунди Else

.if uMsg == WM_CLOSE elseif uMsg == WM_DESTROY

invoke PostQuitMessage,NULL return 0 endif endif endif

invoke DefWindowProc,hWin,uMsg,wParam,lParam ret WndProc endp

19 Вправи

З використанням API-функцій AnimateWindow, CloseWindow, Find-Window, FlashWindow, FlashWindowEx, GetClientRect, GetParent, Get-DesktopWindow, GetTitleBarlnfo, GetWindowPlacement, IsChild, GetWindowTextLength, IsWindow, IsWindowVisible, MoveWindow, CloseWindow, Openlcon, SetWindowPlacement, SetWindowText, ShowWindow, Window-FromPoint реалізувати запропоновані завдання

1&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Після подвійного клацання лівої кнопки в клієнтській області вікна вікно починає переміщатися по вертикалі Натискання будь-якої клавіші припиняє рух

2&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Клацання правою кнопкою на клієнтській області вікна призводить до зміни його розмірів (зменшенню в 2 рази) Натискання будь-якої клавіші повертає вихідні розміри

3&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Клацання правою кнопкою на клієнтській області вікна призводить до зміни реакції на натискання цифр Кожне наступне натискання цифри змінює розмір вікна Натискання будь-який інший клавіші повертає вихідні розміри

4&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Клацання правою кнопкою у верхній половині вікна призводить до його згортку Розгортка вікна після натискання будь-якої функціональної клавіші

5&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Переміщення миші у верхній половині вікна призводить до появи періодичного мерехтіння заголовка вікна Натискання будь літери з лінійки «QWER .» переміщує вікно у правий верхній кут екрану

6&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Створити два вікна, одне з яких батьківське для іншого Переміщення миші в некліентской області дочірнього вікна призводить до його згортку Натискання клавіші «пробіл» при установці фокусу введення на батьківські вікна призводить також до його згортку

7&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Клацання лівою кнопкою в некліентской області вікна переміщує вікно вправо на заданий кількість пікселів Натискання клавіші Alt разом з цифровою клавішею повертає вікно на місце

8&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Клацання правою кнопкою в некліентской області вікна призводить до того, що подальше натиснення будь буквеної клавіші зрушує вікно на задане число пікселів вправо

9&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp Подвійне клацання лівої кнопки в робочій області вікна призводить до того, що при натисканні цифрових клавіш вікно зсувається вниз на кількість пікселів, відповідне натиснутою цифрі

10 Подвійне клацання правої кнопки в клієнтській області вікна призводить до того, що при натисканні клавіш стрілок згодом реалізується переміщення вікна по екрану

11 Клацання правою кнопкою в нижній половині вікна дозволяє зміна тексту в заголовку вікна Подальше натискання букв призводить до зміни тексту заголовка вікна на натиснуту літеру

12 Переміщення миші в нижній половині вікна максимізує вікно Натискання ESC повернення вікна до колишнього вигляду

13 Подвійне клацання лівою кнопкою в некліентской області вікна максимізує вікно Натискання будь літери повернення до колишніх розмірів

14 Подвійне клацання правою кнопкою в НЕ клієнтської області вікна призводить до його переміщення в циклі з його вихідного стану в горизонтальному напрямку вліво і вправо до тих пір, поки не буде натиснута будь-яка клавіша з нижньої лінійки

15 Одночасне натискання кнопок у некліентской області вікна призводить до його переміщення по екрану у вертикальному напрямку після натискання клавіш з лінійки «ASD .»

16 Переміщення миші в некліентской області вікна призводить до зміни його розмірів Натискання клавіші ESC забороняє подібну зміну

17 Подвійне клацання правої кнопки в клієнтській області вікна змінює текст заголовка вікна на заданий текст Зворотній заміна -Клавіша F1

18 Створити два вікна, одне з яких частково перекриває інший Клацання правою кнопкою в лівій половині верхньої вікна активізує перекрите вікно Якщо до клацання натиснути клавішу «пробіл», то перекрите вікно не активується

19 Переміщення миші в лівій половині вікна змінює колір фону вікна (SetClassLongPtr) Натискання клавіші F1 скасовує зміна

20 Подвійне клацання лівою кнопкою в некліентской області вікна згортає його в піктограму Натискання будь-якої функціональної клавіші розгортає вікно

21 Створити три вікна, одне з них показати Подвійне клацання правою кнопкою в некліентской області вікна приводить до висновку на екран інших вікон, якщо вони ще не показувалися Висновок створених, але не показаних вікон дозволений тільки в разі, якщо не натиснута клавіша Enter

22 Переміщення миші в некліентской області вікна призводить до переміщення вікна в лівий верхній кут екрану Натискання клавіш PgUp і PgDn призводить до переміщення вікна з лівого верхнього кута в лівий нижній кут і назад

23 Клацання правою кнопкою в некліентской області вікна скасовує реакцію на натиснення клавіш End і Ноті, які переміщують виведене вікно відповідно між лівим верхнім і правим нижнім кутом екрану

Подвійне клацання лівої кнопки в клієнтській області вікна призводить до зміни заголовка вікна Вибір поточного заголовка вікна залежить від кількості натискань клавіші Insert Кожне наступне натискання робить активним наступний по прядку заголовок з деякого масиву заголовків (циклічно)

25 Вивести на екран два вікна Подвійне клацання правої кнопки в клієнтській області будь-якого з вікон змінює їх місцями Зворотний обмін після натискання клавіші Delete

26 Вивести на екран два вікна Клацання правою кнопкою в правій половині другого вікна змінює заголовок першого Зворотний обмін -Після натискання клавіші Insert

27 Вивести на екран три вікна Клацання лівою кнопкою в правій половині будь-якого вікна призводить до згортку в піктограму інших Зворотне розгортання, якщо вони вже згорнуті, здійснити при натисканні будь-який цифровий клавіші

28 Подвійне клацання лівою кнопкою в некліентской області вікна приводить до висновку на екран дочірнього вікна Згорнути в піктограму обидва вікна можна при натисканні клавіш F1-F5

29 Створити два вікна, одне з них показати Подвійне клацання правою кнопкою в некліентской області показаного вікна призводить спочатку до показу другого вікна, потім до його згортання, потім до його розгортанню, потім до його закриття

30 Створити два вікна Клацання лівою кнопкою в некліентской області будь-якого вікна призводить до переміщення їх у лівий верхній кут екрану так, щоб менша було зверху Натискання будь голосної букви закриває обидва вікна

31 Створити два вікна Переміщення миші в некліентской області першого вікна викликає переміщення другого вікна по горизонталі від лівого до правого краю екрану і назад Натискання будь цифри закриває обидва вікна

32 Подвійне клацання лівої кнопки в клієнтській області вікна приводить до висновку на екран двох дочірніх вікон По натискання клавіші Esc заголовки дочірніх вікон міняються місцями

33 Вивести на екран два вікна Подвійне клацання правої кнопки в клієнтській області першого вікна призводить до послідовної згортку і розгортці другого вікна до тих пір, поки не натиснута клавіша «пробіл»

34 Відпускання лівої кнопки миші у верхньому лівому квадранті вікна змінює текст заголовка вікна на одну з кількох рядків тексту залежно від координати відпускання Цей режим активний лише після натискання однієї з клавіш-стрілок

Клацання лівою кнопкою у верхньому лівому квадранті вікна призводить до його переміщення на стільки пікселів вліво, який порядковий номер клацання Максимізація вікна натискання клавіші «стрілка вгору»

36 Подвійне клацання лівою кнопкою в некліентской області вікна призводить до створення іншого вікна, колір фону якого залежить від ко-ординати клацання Натискання будь цифри закриває створене вікно

37 Вивести вікно в правій половині екрану Подвійне клацання правою кнопкою в некліентской області вікна призводить до того, що кожне подальше натиснення клавіші «пробіл» зрушує вікно вліво

38 Клацання лівою кнопкою в області заголовка вікна змінює цей заголовок і виводить на екран друге вікно Закриття обох вікон відбувається при натисканні будь-якої функціональної клавіші

39 Натискання клавіші Insert забороняє реакцію на клацання правою кнопкою в некліентской області вікна Реакція на такий клацання полягає в переміщенні вікна по екрану з лівого нижнього в правий верхній кут

40 Одночасний клацання кнопок в клієнтській області вікна приводить до висновку на екран дочірнього вікна По натискання клавіші Ноті обидва ці вікна переміщаються до правої межі екрану

41 Вивести на екран три вікна з різними кольорами фону Подвійне клацання правої кнопки в клієнтській області будь-якого вікна згортає в піктограму інші вікна Їх розгортання після натискання цифр на додатковій клавіатурі

42 Клацання правою кнопкою у верхньому правому квадранті вікна виводить нове вікно, колір фону якого залежить від місця клацання (передбачити не менше 3 варіантів) Натискання функціональної клавіші закриває створені вікна

43 Вивести на екран три вікна, одне з яких батьківське для двох інших Клацання лівою кнопкою у верхньому правому квадранті батьківського вікна закриває дочірні вікна Натискання будь буквеної клавіші закриває і батьківське вікно

44 Вивести на екран три вікна Одночасний клацання кнопок в некліентской області будь-якого вікна закриває два з них, і третє вікно отримує можливість переміщатися до лівої межі екрану при натисканні клавіші End

45 Подвійне клацання правою кнопкою в некліентской області вікна дозволяє наступну реакцію на натискання цифр на додатковій клавіатурі Кожне натискання цифри зменшує ширину вікна на стільки пікселів, яка цифра

Клацання лівою кнопкою в некліентской області вікна призводить до зміни заголовка вікна на новий рядок в залежності від попереднього натискання буквених клавіш За номером лінійки вибирається новий заголовок

47 Клацання правою кнопкою в некліентской області вікна викликає його циклічне переміщення по екрану Ця реакція на кнопку дозволяється при попередньому натисканні не менше 5 літерних клавіш

48 Подвійне клацання лівої кнопки в клієнтській області вікна викликає зміну заголовка вікна на букву, клавіша якої була натиснута перед клацанням

49 Подвійне клацання правої кнопки в клієнтській області вікна виводить на екран дочірнє вікно, колір фону якого залежить від координати клацання Реалізувати не менше 4 варіантів

50 Клацання правою кнопкою в нижньому лівому квадранті вікна згортає його в піктограму, а натиснення клавіші F8 розгортає вікно за умови, що перед цим була натиснута хоча б одна цифра

51 Клацання лівою кнопкою в нижньому лівому квадранті вікна дозволяє переміщення вікна по екрану за допомогою клавіш-стрілок, PgUp, PgDn

52 Подвійне клацання лівою кнопкою в некліентской області вікна дозволяє надалі при натисканні клавіш 1-4 рухати вікно по екрану в чотирьох напрямках

53 Подвійне клацання правою кнопкою в НЕ клієнтської області вікна виводить на екран два дочірніх вікна з різними стилями Натискання будь-якої функціональної клавіші закриває одне з дочірніх вікон

54 Клацання лівою кнопкою в некліентской області вікна виводить довжину заголовка вікна Натискання будь літери змінює заголовок на цю букву

55 Клацання правою кнопкою в некліентской області вікна дозволяє переміщення вікна в лівий верхній кут (по натисканні F1), лівий нижній кут (F2), правий верхній (F3), правий нижній (F4)

56 Подвійне клацання лівої кнопки в клієнтській області вікна дозволяє створення дочірнього вікна після натискання цифри Заголовком до-чорні вікна повинна стати ця цифра

57 Подвійне клацання правої кнопки в клієнтській області вікна закриває всі дочірні вікна, створені за натисканні клавіш F1-F4

58 Клацання правою кнопкою в нижньому правому квадранті вікна дозволяє переміщення вікна при натисканні стрілок на додатковій клавіатурі

59 Клацання лівою кнопкою в нижньому правому квадранті вікна призводить до створення дочірнього вікна, заголовок якого буква, натиснута перед клацанням

60 Подвійне клацання лівою кнопкою в некліентской області вікна виводить на екран інше вікно Клацання правої кнопки в його клієнтської області дозволяє його переміщення вгору-вниз по натисканні F4

61 Подвійне клацання правою кнопкою в некліентской області вікна дозволяє переміщення вікна по екрану за допомогою клавіш: Т вгору, У вниз, L вліво, R вправо

62 Клацання лівою кнопкою в некліентской області вікна призводить до створення двох вікон з різними стилями класу Натискання клавіш-стрілок дозволяє переміщати будь-яке вікно, якщо при активному 1 вікні натиснута будь-яка голосна буква

63 Вивести на екран 2 вікна Клацання лівою кнопкою в некліентской області будь-якого вікна змінює заголовок другого вікна Натискання будь цифри повертає вихідний заголовок

64 Клацання правою кнопкою в некліентской області вікна дозволяє вивід двох дочірніх вікон Перше вікно виводиться га екран при натисканні літери «А», другі при натисканні літери «В» Закриття всіх вікон після натискання «ESC»

65 Подвійне клацання лівої кнопки в клієнтській області вікна виводить дочірнє вікно Закриття дочірнього вікна натискання F1, повторний висновок натискання F2

66 Подвійне клацання правої кнопки в клієнтській області вікна дозволяє переміщення вікна вліво, вправо, вгору і вниз відповідно при натисканні Fl, F2, F8, F9

67 Подвійне клацання лівої кнопки в некліентской області вікна виводить на екран два дочірніх вікна Натискання будь цифри закриває дочірні вікна

68 Подвійне клацання лівої кнопки в некліентской області вікна призводить до появи на екрані дочірнього вікна Тема цього вікна може змінюватися на букву залежно від місця клацання

69 Клацання правої кнопки в клієнтській області вікна дозволяє переміщати вікно по екрану при натисканні клавіш-стрілок Подвійне клацання лівої кнопки забороняє таке переміщення

70 Вивести на екран батьківське вікно і два дочірніх Клацання лівою кнопкою в клієнтській області будь-якого дочірнього вікна дозволяє їх переміщення по екрану вгору і вниз при натисканні букв Н і D відповідно

71 Подвійне клацання правою кнопкою в некліентской області вікна дозволяє створення дочірнього вікна при натисканні цифр 0 або 1 Натискання будь літери зменшує розміри дочірнього вікна в 2 рази

72 У лівому верхньому куті клієнтської області вікна створити дочірнє вікно Після натискання лівої клавіші миші 4 рази «блимає» тимчасове вікно, а після натискання правої 3 рази «блимає» дочірнє вікно

73 Створити вікно додатка розміром в одну шістнадцяту площі екрану з заголовком «Йде форматування диска» без кнопок зміни розмірів, закриття та згортання в піктограму і без кнопки системного меню При переміщенні курсора миші над клієнтської областю вікно повинно «тікати» від курсора миші у випадковому чином обраному напрямку, залишаючись в межах екрану

74 У лівому верхньому куті клієнтської області вікна створити тимчасовий вікно площею в одну шістнадцяту площі це області При натисканні на ліву (праву) клавішу миші тимчасове вікно перемістити в сусідній по ходу (проти ходу) годинникової стрілки кут клієнтської області

75 При запуску 2-го екземпляра додатку запитати користувача, чи потрібно його запустити Якщо користувач відповість «Так», то за-пустити його Інакше змінити заголовок 1-го екземпляра

76 Вікно додатку без заголовка займає весь екран фоном робочого столу Закриття вікна по кліку правої кнопки миші

77 У центрі клієнтської області вікна розташовується невидиме вікно без заголовка розміром у чверть площі клієнтської області Після натискання лівої клавіші миші над клієнтської областю будь-якого з вікон вікно без заголовка має стати видимим, а після натискання правої невидимим

78 Створити вікно розміром у чверть площі екрана Після подвійного клацання миші вікно переміщається так, що його центр збігається з координатами курсора миші в момент клацання

79 Дочірнє вікно розміром в 1А батьківського вікна при переміщенні курсору миші над ним «тікає» від курсора миші в довільному напрямку, залишаючись у межах клієнтської області батьківського вікна

80 При запуску не перший екземпляра додатку видати попередження про кількість вже працюючих копій цього додатка Запустити екземпляр, тільки якщо згоден користувач

110 Контрольні питання

1 Яка інформація міститься в одному повідомленні

2 Наведіть приклад попередньої обробки повідомлення Windows

3 Які функції використовуються для отримання дескрипторів стан
дротяні ресурсів

4 Яка інформація вказується в структурі WNDCLASS

5 Що таке стиль класу вікна

6 Поясніть призначення стилю вікна

7 Навіщо реєструвати клас вікна

8 Які параметри має функція CreateWindow

9 Поясніть призначення функції GetMessage

10 Які параметри має функція GetMessage

11&nbsp&nbsp&nbsp&nbsp Навіщо потрібна функція PeekMessage

12 За якої умови завершується цикл обробки повідомлень

13 Які функції викликаються в тілі циклу обробки повідомлень мінімального програми

14 У чому полягає відмінність між функціями PostMessage і SendMessage

15 Які параметри має віконна функція

16 Які повідомлення повинна обробляти мінімальна віконна
функція

17 Поясніть структуру віконної функції

18 Яке призначення має функція DefWindowProc

19 Чим різняться апаратні і символьні повідомлення клавіатури

20 Які системні й несистемні повідомлення Вам відомі

21 Що передається в параметрах повідомлень від миші

22 Що таке не клієнтська область

23 Які макросредства MASM32 Вам відомі

24 Як виконати захоплення і звільнення миші

25 Що таке час Windows

26 Як організувати в програмі виконання дій з певною періодичністю

Джерело: Сучкова, ЛІ Win32 API: основи програмування: навчальний посібник / ЛІ Сучкова АлтГТУ ім ШІ Ползунова -Барнаул, АлтГТУ, 2010 138 с, іл

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*