Belépés címtáras azonosítással
magyar nyelvű adatlap
angol nyelvű adatlap
Windows Native Programming
A tantárgy neve magyarul / Name of the subject in Hungarian: Windows native programozás
Last updated: 2020. január 7.
C programming language
Basics of Programming 1. (one of VIEEA100/VIEEAA00/VIHIA106/VIHIAA01)
Microsoft Windows is one of the best known operating systems for PCs. Writing applications for this system requires special programming knowledge, supported by different programming languages and platforms. This subject introduces to native mode programming for Microsoft Windows using the Win32 API (Application Programming Interface) and offers to extend the theoretical and practical knowledge of the students in visualizing, data processing, data communications, etc. The subject provides also the basics of WinRT (Windows Runtime Library) that is supported with Windows 8, and the later UWP (Universal Windows Platform) that has several new functionalities similar to Win32 API but using C++ language.
An overview is also gives basic skills in driver development the earlier DDK (Windows Driver Development Kit) and the actual WDK (Windows Driver Kit).
- Windows basics and development systems for programmers.
- GUI, the consistent user interface, multitasking, memory handling, message-based operation.
- A simple Windows API program. Multi-window applications.
- Text handling, GDI, the handler, the scrollbar.
- Graphics: lines, areas, the mapping mode, regions and path, bitmap, metafile, fonts.
- Keyboard and mouse.
- The Windows timer.
- The child window, buttons, scrollbar, edit-box, list-box.
- Resources: icon, cursor, bitmap, menu, accelerator, modal and modeless dialogs, message box, common dialog boxes.
- Dynamic Link Library (DLL).
-The WinRT (Windows Runtime Library) and UWP (Universal Windows Platform). Software tools for driver development.
1st block: Windows basics, the different versions. Advantages and disadvantages. C/C++ development systems, programming tools. The graphical user interface. Forms of multitasking and memory management. Skeleton of a simple API-based Windows program. Messages.
2nd block: Structure of a simple Windows program. Comparison with the version of console application. Main code parts, new data types and naming conventions. Handling text, screen output. Using the GDI (Graphics Device Interface). The handle. A simple program with text output and scrollbar.
3rd block: Graphics: lines, areas, rectangles, path, bitmaps, metafiles, fonts. The mapping mode. The structure of a program with graphics.
4th block: Keyboard and mouse under Windows. Specific messages. Character sets, fonts, international characters. ANSI and OEM types. A program that handles keyboard and mouse.
5th block: The Windows timer. Basics, settings and usage. Example on how to use timers.
6th block: The child-window. Buttons, scrollbars, edit-box, list-box. Child-window types, messages and handling of them.
7th block: Resources: icon, cursor, bitmap. Resource file and resource compiler. Sample program with resources.
8th block: Menus and keyboard accelerators. Resource file for creating menus. Menu types: system, main, popup, floating popup. The resource editor.
9th block: Modal and non-modal dialog boxes. Handling dialog boxes in Windows programs. The message box and common dialog boxes.
10th block: The DLL: development and applications. DLL and LIB file. Writing a sample DLL and calling internal functions. Team work in complex projects.
11th block: The Windows Runtime Library and the Universal Windows Platform: platform-free development. Win32 API improvement.
12th block: Mid-semester test
13th block: Metro-style under Windows 10.
14th block: 14. Hardware support under Windows: device drivers. Development tools, the Windows Driver Kit and an example program.
Weekly 2 hours laboratory practice.
Participation is compulsory.
During the term:
To obtain the mid-semester mark a mid-semester test with at least the mark “sufficient” and the completion of the homework task is required.
The homework: development of a simple Windows application. Different tasks can be selected.
Charles Petzold: Programming Windows
Microsoft Press, 1998
ISBN 1-57231-995-X
MSDN online: https://msdn.microsoft.com/library
http://www.hvt.bme.hu/~csurgai/Bsc/WinProg.pdf