33## Table of Contents
44
55- [ Introduction] ( #introduction )
6+ - [ Building the Application] ( #building-the-application )
67- [ Terms of Use] ( #terms-of-use )
7- - [ Problems? ] ( #problems )
8+ - [ Known Problems] ( #known- problems )
89- [ Changelog] ( #changelog )
910
1011## Introduction
1112
1213This application is an example 16 bit Windows application written in C. It
1314accompanies the
1415[ Building Win16 GUI Applications in C] ( http://www.transmissionzero.co.uk/computing/win16-apps-in-c/ )
15- article on [ Transmission Zero] ( http://www.transmissionzero.co.uk/ ) . The
16- application runs under Windows 1 to Windows 3.11, and all versions of Windows NT
17- which support Win16 apps (Windows NT 3.1 to at least the x86 version of Windows
18- 8.1). It does not run under Windows 9x (Windows 95 to Windows ME). The reason
19- for this is not known at the moment.
16+ article on [ Transmission Zero] ( http://www.transmissionzero.co.uk/ ) .
17+
18+ The application is a little anarchronistic, since it makes use of functionality
19+ which didn't exist in Windows 1. An example is overlapped windows, which didn't
20+ exist until Windows 2 (Windows 1 only supported tiled windows). That doesn't
21+ magically make the functionality work on Windows 1, but means it works on the
22+ supported version of Windows and falls back gracefully on the unsupported one.
23+ This has been achieved by defining constants and structures in the header files
24+ of this project, which match the definitions of later Windows SDKs. This works
25+ because Windows API changes are designed to be backwards compatible, so older
26+ versions of Windows just ignore window styles it doesn't understand, and message
27+ handlers in the application will never receive messages which aren't defined on
28+ that version of Windows.
29+
30+ The application runs under Windows 1 to Windows 3.11, and all versions of
31+ Windows NT which support Win16 apps (Windows NT 3.1 to at least the x86 version
32+ of Windows 10). It does not run under Windows 9x (Windows 95 to Windows ME). I
33+ think the reason is that Windows 9x just doesn't have support for Windows 1 and
34+ 2 applications, whereas Windows NT does because the Win16 subsystem is based on
35+ Windows 3.1.
36+
37+ ## Building the Application
2038
2139To build the application with Microsoft C, open a command prompt, change to the
2240directory containing the Makefile, and run "make Win1App". Note that you will
@@ -30,7 +48,13 @@ available tools you can use to build it.
3048
3149Refer to "License.txt" for terms of use.
3250
33- ## Problems?
51+ ## Known Problems
52+
53+ The icon does not display correctly in versions of Windows after 3.x. Icons in
54+ Windows 1 and 2 are a different file format from the ".ico" file format, and I
55+ think they either aren't supported in later versions or there is a bug which
56+ means they aren't rendered correctly. Either way, it happens to all Windows 1
57+ and 2 applications, so it's not a problem with the supplied icon file.
3458
3559If you have any problems or questions, please ensure you have read this readme
3660file and the
@@ -40,8 +64,14 @@ article. If you are still having trouble, you can
4064
4165## Changelog
4266
67+ 2 . 2016-08-28: Version 1.1
68+ - Corrected name in module definition file. This was causing an odd issue
69+ where launching the Windows 3.x version of the application while the Windows
70+ 1 application was running, resulted in a second instance of the Windows 1
71+ application!
72+
43731 . 2014-11-09: Version 1.0
4474 - First release.
4575
4676Transmission Zero
47- 2016-08-27
77+ 2016-08-28
0 commit comments