
An introduction:
It is the most popular platform for the developments of the various web sites. It provides the various developers with the ability to design a site with the use of the windows operating system. This platform is widely accepted because of the different technologies that it supports. Some of the technologies supported compromise of COM, Active Server Pages and the latest one in the row is .NET. Windows hosting can be used for remote Microsoft technology and also for running the latest applications.
Advantages of Windows Hosting:
Windows based hosting continues to be the most popular type of platform that is used these days. With the various advantages that they provide they have been in use since the very beginning of web development. Some of the advantages of using windows based hosting are the stability that it offers which proves to be the best one for business as well as professional persons. Some of the other advantages are support that is provided. Thus, the various developers find it very easy to use this platform.
1. Familiar and can be easily used: Windows platform is popular almost all round the world. This platform is used in almost every aspect of business. They have been around since a long time and thus, are the most trusted ones.
2. Better performing applications: This platform is the best when the developers are using Microsoft applications with the combination of windows environment.
3. Windows is compatible with .NET: The best feature of windows platform is that it is completely compatible with the .NET environment. Been the latest language used in the development of the websites .NET has a lot of potential and prospects of future growth.
Disadvantages of windows hosting:
There are many advantages related with windows hosting but they are also followed by some disadvantages. The most common drawback that has to be faced while using this platform is the long time that it takes to get fixed the security lacks and other related problems. Some other drawbacks related with windows are that it is more expensive than any other kind of hosting like Linux/UNIX hosting.
The popularity of windows hosting goes to the popularity of the windows itself. It Being the oldest company providing software as well as hardware assistance worldwide, it has the longest loyal fan following. The assistance and the tools that are provided by windows are the best ones and suit the needs of the small businesses a lot. Most of the small businesses and the individuals today try to reach the landmark that has been established by the windows platforms. A thing that has to be kept in mind is that windows hosting gives the best performance when it is used along with files that have been created using windows technology. For an example if the developer has developed a site using .NET or APS environment that he should go for windows based hosting. If Linux based hosting is used then there would be a lack in performance.
Read More...

Windows web hosting has been around for some time and has evolved from a simple platform hosting static HTML pages to a sophisticated environment where applications can be designed to enable user interaction. In modern times, Windows hosting is ideal for personal sites, small businesses and large corporations alike.
Web hosting packages are backed by a variety of operating systems. Windows Server 2003 and Debian Linux are two of the most well known examples. Although Windows is often looked down upon by Linux users, this platform offers a number of benefits to the potential webmaster. Despite the advancements, the Windows operating system still supports common scripts such as HTML and also more advanced languages like ASP and ASP.NET, which are Microsoft branded technologies.
Windows hosting makes use of a built-in technology known as IIS (Internet Information Server). IIS contains servers of its own and is responsible for serving pages to a web browser. When you visit a Windows hosted site on the web and are presented with content, your browser downloads those pages stored on a Windows server via IIS.
Choosing Windows or Linux
The choice of whether to host on a Windows or Linux platform basically boils down to proprietary technologies. If you feel that your site requires ASP or ASP.NET to be successful, the Windows environment would be more suitable. However, if you have a bit of experience designing web pages, these scripts may work on a Linux system as well. While Windows has its own brand of scripting languages, it also supports the common PHP language as well.
When hosting with Windows, you have numerous options for uploading your web pages to the server. Many providers offer a number of FTP (File Transfer Protocol) clients which can be used for this purpose. Another web building tool is Microsoft FrontPage and Macromedia DreamWeaver which allows you to upload directly from your offline applications.
Windows hosting also makes it easy to send and receive email. The average host will typically provide you with a number of accounts that can be set up rather quickly. Once your email accounts have been established, you can then use the WebMail interface to send and receive messages directly from your web browser. You can also integrate these accounts with popular Microsoft email applications like Outlook and Outlook Express.
Managing your Windows account is made easy with the implementation of quality control panel software. One of the most widely used control panels available for the Windows platform is Plesk, a comprehensive program designed by Sw-Soft. Plesk provides users with a web-based GUI (Graphical User Interface) that enables control over nearly every aspect of a website. You can create and mange your email accounts, handle domains and sub-domains, view website statistics, set permissions for HTML, ASP and PHP scripts, redirect requests, block IP addresses and much more.
Closing Thoughts
There is really no right or wrong when it comes to Windows or Linux hosting. Both are quite reliable and include many great features and services to enhance your web appearance. While Linux tends to be more geared for small business, Windows is suited for small companies and large e-commerce sites just the same.
Read More...

Microsoft has taken web hosting to a new level with the introduction of Windows Server 2008, highly regarded as the most sophisticated Windows server system yet. This astonishing platform allows you to create, deliver and effectively manage a number of applications designed for user interaction. It also provides a more secure network infrastructure along with advanced technology capable of increasing the value of your business.
The Many Elements of Windows Server 2008
Windows Server 2008 offers a solid foundation for your server workload while ensuring that the deployment of your applications are simple and highly manageable. The new Server Manager feature includes a unified management console designed to streamline the processes of server setup, configuration and continuous management. This platform also comes with Windows PowerShell, a newly introduced command-line shell that gives administrators the ability to automate routine management tasks over multiple servers. Windows Deployment Services provides a simple way to deploy the operating system securely through network-based installations. Windows Server 2008 also comes with a variety of self-help wizards, full support of IPv6 (Internet Protocol version 6) and centralized management for network load balancing.
Your web-based applications can be effectively managed and deployed with the new Windows centralized application access features. Terminal Services Gateway and Terminal Services RemoteApp. permit remote access to standard Windows-based applications from any location, running them on the terminal server rather than directly on a client computer. This eliminates the need for a VPN (virtual private network).
IIS Security
Hosting with Windows Server 2008 includes IIS (Internet Information Services) 7.0. IIS is a state of the art web server built with enhanced security features. It provides an intuitive web hosting platform and enables better functionality with the ability to support a number of applications and services. IIS 7.0 offers considerable upgrades to the Windows hosting environment with a rock-solid infrastructure for greater control and flexibility. Windows Server 2008 simplifies website management and includes diagnostic and troubleshooting features that will save you a lot of time.
IIS 7.0 may be used in conjunction with the Microsoft NET Framework 3.0 to provide an intuitive hosting platform well suited for creating data-driven applications that enable user interaction. This allows your visitors to view, share and perform activity on given pieces of data. Furthermore, IIS 7.0 plays a critical role in merging Microsoft hosting technologies such as ASP, FrontPage, Windows SharePoint Services and the Windows Communication Foundation.
The tremendous benefits and cost efficiency of Windows Server 2008 extends to the Windows HPC Server 2008 as well. Windows HPC Server is specifically designed for the high performance computing environment. It is built with the advanced implementations of Windows Server 2008 and faster 64-bit technology. Out of the box, it has the ability to scale a large amount of processing cores to increase productivity and reduce the complexity typically found in an HPC environment. This advanced platform offers a much greater level of flexibility with seamlessly integrated end-user capabilities that extend from desktop applications to clusters. HPC Server 2008 provides a number of easy to use tools for the development, deployment, administration and security of your website. All in all, Windows Server 2008 offers the ultimate web hosting solution that’s easy to establish or integrate with your current infrastructure.
by : http://webhostingrating.com
Read More...
Microsoft Windows is the name of several families of software operating systems by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces (GUIs). The most recent client version of Windows is Windows Vista. The current server version of Windows is Windows Server 2008.
Windows 1.0 (1985)
The first version of Windows provided a new software environment for developing and running applications that use bitmap displays and mouse pointing devices. Before Windows, PC users relied on the MS-DOS® method of typing commands at the C prompt (C:\). With Windows, users moved a mouse to point and click their way through tasks, such as starting applications.
In addition, Windows users could switch among several concurrently running applications. The product included a set of desktop applications, including the MS-DOS file management program, a calendar, card file, notepad, calculator, clock, and telecommunications programs, which helped users, manage day-to-day activities.
Windows 2.0 (1987)
Windows 2.0 took advantage of the improved processing speed of the Intel 286 processor, expanded memory, and inter-application communication capabilities made possible through Dynamic Data Exchange (DDE). With improved graphics support, users could now overlap windows, control screen layout, and use keyboard combinations to move rapidly through Windows operations. Many developers wrote their first Windows–based applications for this release.
Windows 3.0 (1990)
The third major release of the Windows platform from Microsoft offered improved performance, advanced graphics with 16 colors, and full support of the more powerful Intel 386 processor. A new wave of 386 PCs helped drive the popularity of Windows 3.0, which offered a wide range of useful features and capabilities, including:
Program Manager, File Manager, and Print Manager.
A completely rewritten application development environment.
An improved set of Windows icons.
Windows NT 3.1 (1993)
When Microsoft Windows NT® was released to manufacturing on July 27, 1993, Microsoft met an important milestone: the completion of a project begun in the late 1980s to build an advanced new operating system from scratch.
Windows NT was the first Windows operating system to combine support for high-end, client/server business applications with the industry's leading personal productivity applications.
Windows for Workgroups 3.11 (1993)
A superset of Windows 3.1, Windows for Workgroups 3.11 added peer-to-peer workgroup and domain networking support. For the first time, Windows–based PCs were network-aware and became an integral part of the emerging client/server computing evolution.
Windows for Workgroups was used in local area networks (LANs) and on standalone PCs and laptop computers. It added features of special interest to corporate users, such as centralized configuration and security, significantly improved support for Novell NetWare networks, and remote access service (RAS)
Windows NT Workstation 3.5 (1994)
The Windows NT Workstation 3.5 release provided the highest degree of protection yet for critical business applications and data. With support for the OpenGL graphics standard, this operating system helped power high-end applications for software development, engineering, financial analysis, scientific, and business-critical tasks.
Windows 95 (1995)
Windows 95 was the successor to the three existing general-purpose desktop operating systems from Microsoft—Windows 3.1, Windows for Workgroups, and MS-DOS. Windows 95 integrated a 32-bit TCP/IP (Transmission Control Protocol/Internet Protocol) stack for built-in Internet support, dial-up networking, and new Plug and Play capabilities that made it easy for users to install hardware and software.
The 32-bit operating system also offered enhanced multimedia capabilities, more powerful features for mobile computing, and integrated networking.
Windows NT Workstation 4.0 (1996)
This upgrade to the Microsoft business desktop operating system brought increased ease of use and simplified management, higher network throughput, and tools for developing and managing intranets. Windows NT Workstation 4.0 included the popular Windows 95 user interface yet provided improved networking support for easier and more secure access to the Internet and corporate intranets.
Windows 98 (1998)
Windows 98 was the upgrade from Windows 95. Described as an operating system that "Works Better, Plays Better," Windows 98 was the first version of Windows designed specifically for consumers.
With Windows 98, users could find information more easily on their PCs as well as the Internet. Other ease-of-use improvements included the ability to open and close applications more quickly, support for reading DVD discs, and support for universal serial bus (USB) devices
Windows 98 Second Edition (1999)
Windows 98 SE, as it was often abbreviated, was an incremental update to Windows 98. It offered consumers a variety of new and enhanced hardware compatibility and Internet-related features.
Windows 98 SE helped improve users' online experience with the Internet Explorer 5.0 browser technology and Microsoft Windows NetMeeting® 3.0 conferencing software. It also included Microsoft DirectX® API 6.1, which provided improved support for Windows multimedia, and offered home networking capabilities through Internet connection sharing (ICS)
Windows Millennium Edition (Windows Me) (2000)
Designed for home computer users, Windows Me offered consumers numerous music, video, and home networking enhancements and reliability improvements.
Windows Me was the last Microsoft operating system to be based on the Windows 95 code base. Microsoft announced that all future operating system products would be based on the Windows NT and Windows 2000 kernel.
Windows 2000 Professional (2000)
Windows 2000 added major improvements in reliability, ease of use, Internet compatibility, and support for mobile computing.
Among other improvements, Windows 2000 Professional simplified hardware installation by adding support for a wide variety of new Plug and Play hardware, including advanced networking and wireless products, USB devices, IEEE 1394 devices, and infrared devices.
Windows XP (2001)
With the release of Windows XP in October 2001, Microsoft merged its two Windows operating system lines for consumers and businesses, uniting them around the Windows 2000 code base.
With Windows XP, home users can work with and enjoy music, movies, messaging, and photos with their computer, while business users can work smarter and faster, thanks to new technical-support technology, a fresh user interface, and many other improvements that make it easier to use for a wide range of tasks
Windows VISTA
Windows Vista is a line of operating systems developed by Microsoft for use on personal computers, including home and business desktops, laptops, Tablet PCs, and media centers.
Windows Vista contains many changes and new features, including an updated graphical user interface and visual style dubbed Windows Aero, improved searching features, new multimedia creation tools such as Windows DVD Maker, and redesigned networking, audio, print, and display sub-systems
Read More...
In the beginning Windows' registry consisted of two files totalling around 5mb in size. Today it consists of at least 12 files with the Software file itself being 30mb or bigger in size. As the size of the registry has exploded, so has the trash and clutter in it. It may seem like a daunting task, but cleaning the registry properly can fix system problems, speed your computer up, and make it run more efficiently.
I have spent many years developing and refining thousands of procedures to do just that. I could share these methods of hunting down the trash with you and let you find them and delete them by hand, but if you were to sit down at your computer right now and work nonstop, you would still be busy with them a week from now when the next issue of Ray's Computer Tips arrives. By then your registry would have new clutter and you would have to start all over again.
To make registry cleaning easier on everyone, I wrote a program called RegVac Registry Cleaner (http://regvac.com/regvac.htm) to perform those procedures. It has been so successful that several companies have asked me to model their registry cleaners after RegVac and even more have copied processes that first debutted in RegVac.
The first place RegVac cleans is the HKEY_CLASSES_ROOT section (the Classes Vac in RegVac does this). This section contains settings for the classes of Windows. Think of a huge box full of snakes and you will get an idea of how complicated and interwoven it is. It is so complicated that many registry cleaners bypass it or simply perform surface scans of it. RegVac uses over a hundred processes to follow each tentacle of each class deep into this area and make sure that they abide by the rules.
Next RegVac validates the entries in 22 lists with 7 different methods (the FilesList Vac does this). This is a minor part of RegVac but the bulk of most other registry cleaners even though they usually do not clean all 22 lists.
Another part of RegVac, the Software Vac, which is unique to RegVac, finds old software sections in the registry and provides a way to remove that software's entire branch. Other registry cleaners only remove a few entries in this area often leaving huge portions of the registry that do nothing but take up space and get in the way.
Even more trash can be discovered in hundreds of stashes used to store data you will never use. Most registry cleaners do not even touch these. The Stash Vac lists these stashes and lets you go through and select which ones to empty out. Please use caution when using the Stash Vac because some of the items listed there may be important. For example, one folder in the Stash Vac lists places where data for international keyboards are stored. You probably will never use the data for Bulgarian keyboards, so you can remove it, but if you live in the US you may experience problems after removing the United States 101 keyboard. The items that you can safely remove are usually obvious.
Last but not least, when cleaning the registry, you should look for broken links to files on the computer (this is what the Bad Link Vac does). If a file is referenced in the registry but it does not exist on your hard drive, that is a good indicator that something is wrong. Many programmers start out writing a registry cleaner thinking all it has to do is check for these broken links and remove them. In fact, that is all many registry cleaners do.
Even though that is all they do, they often don't do it correctly. If you check the results of such scans, you will find out that many of the broken links are really good links. I spent several months refining this part of RegVac so that as far as I know it is 100% accurate. Despite this, please realize that some software enter broken links in the registry and require them to be there in order for them to run. RegVac skips the ones it knows about, but you still need to be careful with this part of RegVac.
RegVac has six more tools that clean even more areas: the Add/Remove Editor, the System Config Utility, the OpenWith Editor, the AutoComplete Editor, the Junk Keys Editor, and Registry Backup, Pack, and Restore.
Many of you already use RegVac but if you don't, you can downloaded a free 30 day trial of RegVac at http://regvac.com/regvacz.exe. For more information about RegVac Registry Cleaner go to http://regvac.com/regvac.htm. If you like RegVac, you can purchase it for only $29.95. All future updates are free.
Keep the Windows registry clean and running smoothly with RegVac Registry Cleaner.
Read More...
Following recent discussion about archive compressor/extractor utilities (Zippers). I had a ferret about and downloaded six and ran a very quick test on each of them. This is what I found. FreeZip: reasonably fast; only supports ZIP format; reverts to a dos window when working (not pretty). www.ozemail.com.au/~nulifetv/freezip/ 7-zip: fast; supports ZIP, RAR, CAB, GZIP, BZIP2, TAR; simple interface; separate config in installed folder; "Open", "Extract" and "Add to" on right click context; nicely simple. www.7-zip.com Power Archiver: this one supports 18 archive formats; fast; lots of config options; nice clean interface; customisable toolbar; right-click includes email option; self extractor creation option. Registration (fee) optional but not required. www.powerarchiver.com/ QuickZip: supports 33 extensions (19 true file types); email option; lots of configuration options; has internal graphics viewer; interface layout not to my taste; I could not make it produce a right-click context (although it's supposed to); don't know about speed - gave up at this point; http://www.tucows.com/system/preview/194312.html Ultimate Zip: does (so far as I can see) everything that WinZip does; context menu includes create self-extracting, zip&email; wizard option; tidy interface. www.ultimatezip.com Zip Central: much the same as Ultimate Zip but no email or wizard options; does not support cab file extraction; no other minus points; disk-span facility (large files to floppies) has a nice "feel" to it. http://ZipCentral.isCool.net So, if anybody is looking for a zipper prog, 7-Zip is worth a look for its sheer simplicity. Power Archiver, Ultimate Zip and Zip Central all have things in their favour and in the end it's probably just a matter of personal preference - worth checking them out to see which you prefer. For the others I looked at - no further comment. FWIW I have decided to use Power Archiver but keep "Ultimate" in uninstalled form, "just in case". Read More...
What News? ---------- v2.1: A bug of the memory management has been solved. v2.0: Icon Digger was renamed to Icon Digger 2000. The interface was changed. The old ugly interface and icon was changed into new old. I spend lot of time to improve the interface. Right click mouse menu was added. The icon view section was enlarged. Press enter to save icon was added. Some minor bugs was fixed. The options section was removed because it doesn't very useful. The installer and uninstaller was not needed beacause it doesn't access the registry any more. v1.5: It is now packed with installer and uninstaller. v1.4 Beta: Icon can be saved as Bitmap format (*.bmp) and copy to clipboard now. Save Last opened directory function option was added. Memory requirement is decreased with better memory management. v1.3 Beta: Icon library (*.icl) support was added. Set the default saving directory option was added. The program will now automatic memory the lastest opened directory. v1.2: Minimize command was added. All supported files type is added to file type combo box for convenient. v1.1: The interface was changed to vertical form. Icons viewer was rewritten, it runs more faster and smoother on low-end PC. What is it? ----------- Icon Digger is a free utility that lets you extract icons from executable (*.exe) and dynamic-link library (*.dll) files -- as long as the files contain them, of course. Browse through a file list and whenever Icon Digger finds an icon, it's displayed in a viewing window. You can click copy to copy the icon into clipbroad. Double-click on the image to save it as an .ico file in the folder of your choice. Icon Digger can also convert any .bmp file into icon format, complete with resizing it to 32x32 proportions. How to install? --------------- No need to install, just run the file(Icon Digger 2000.exe) to launch the program. How to uninstall? ----------------- Delete the file(Icon Digger 2000.exe). How to use? ----------- 1. Double-clicks the file(Icon Digger 2000.exe) to launch the program. 2. Click on the drive/directory/file that you want. 3. Click on the icon that you want. 4. Double-clicks the icon or click the save button to save the icon. Click the copy button to copy the icon. Press enter to save the icon. Right click the icon to save or copy icon. Read More...
This topic describes the graphics-file formats used by the Microsoft WindowsRead More...
operating system. Graphics files include bitmap files, icon-resource files,
and cursor-resource files.
Bitmap-File Formats
Windows bitmap files are stored in a device-independent bitmap (DIB) format
that allows Windows to display the bitmap on any type of display device. The
term "device independent" means that the bitmap specifies pixel color in a
form independent of the method used by a display to represent color. The
default filename extension of a Windows DIB file is .BMP.
Bitmap-File Structures
Each bitmap file contains a bitmap-file header, a bitmap-information header,
a color table, and an array of bytes that defines the bitmap bits. The file
has the following form:
BITMAPFILEHEADER bmfh;
BITMAPINFOHEADER bmih;
RGBQUAD aColors[];
BYTE aBitmapBits[];
The bitmap-file header contains information about the type, size, and layout
of a device-independent bitmap file. The header is defined as a
BITMAPFILEHEADER structure.
The bitmap-information header, defined as a BITMAPINFOHEADER structure,
specifies the dimensions, compression type, and color format for the bitmap.
The color table, defined as an array of RGBQUAD structures, contains as many
elements as there are colors in the bitmap. The color table is not present
for bitmaps with 24 color bits because each pixel is represented by 24-bit
red-green-blue (RGB) values in the actual bitmap data area. The colors in the
table should appear in order of importance. This helps a display driver
render a bitmap on a device that cannot display as many colors as there are
in the bitmap. If the DIB is in Windows version 3.0 or later format, the
driver can use the biClrImportant member of the BITMAPINFOHEADER structure to
determine which colors are important.
The BITMAPINFO structure can be used to represent a combined
bitmap-information header and color table. The bitmap bits, immediately
following the color table, consist of an array of BYTE values representing
consecutive rows, or "scan lines," of the bitmap. Each scan line consists of
consecutive bytes representing the pixels in the scan line, in left-to-right
order. The number of bytes representing a scan line depends on the color
format and the width, in pixels, of the bitmap. If necessary, a scan line
must be zero-padded to end on a 32-bit boundary. However, segment boundaries
can appear anywhere in the bitmap. The scan lines in the bitmap are stored
from bottom up. This means that the first byte in the array represents the
pixels in the lower-left corner of the bitmap and the last byte represents
the pixels in the upper-right corner.
The biBitCount member of the BITMAPINFOHEADER structure determines the number
of bits that define each pixel and the maximum number of colors in the
bitmap. These members can have any of the following values:
Value Meaning
1 Bitmap is monochrome and the color table contains two entries. Each
bit in the bitmap array represents a pixel. If the bit is clear, the pixel is
displayed with the color of the first entry in the color table. If the bit is
set, the pixel has the color of the second entry in the table.
4 Bitmap has a maximum of 16 colors. Each pixel in the bitmap is
represented by a 4-bit index into the color table. For example, if the first
byte in the bitmap is 0x1F, the byte represents two pixels. The first pixel
contains the color in the second table entry, and the second pixel contains
the color in the sixteenth table entry.
8 Bitmap has a maximum of 256 colors. Each pixel in the bitmap is
represented by a 1-byte index into the color table. For example, if the first
byte in the bitmap is 0x1F, the first pixel has the color of the
thirty-second table entry.
24 Bitmap has a maximum of 2^24 colors. The bmiColors (or bmciColors)
member is NULL, and each 3-byte sequence in the bitmap array represents the
relative intensities of red, green, and blue, respectively, for a pixel.
The biClrUsed member of the BITMAPINFOHEADER structure specifies the number
of color indexes in the color table actually used by the bitmap. If the
biClrUsed member is set to zero, the bitmap uses the maximum number of colors
corresponding to the value of the biBitCount member. An alternative form of
bitmap file uses the BITMAPCOREINFO, BITMAPCOREHEADER, and RGBTRIPLE
structures.
Bitmap Compression
Windows versions 3.0 and later support run-length encoded (RLE) formats for
compressing bitmaps that use 4 bits per pixel and 8 bits per pixel.
Compression reduces the disk and memory storage required for a bitmap.
Compression of 8-Bits-per-Pixel Bitmaps
When the biCompression member of the BITMAPINFOHEADER structure is set to
BI_RLE8, the DIB is compressed using a run-length encoded format for a
256-color bitmap. This format uses two modes: encoded mode and absolute mode.
Both modes can occur anywhere throughout a single bitmap.
Encoded Mode
A unit of information in encoded mode consists of two bytes. The first byte
specifies the number of consecutive pixels to be drawn using the color index
contained in the second byte. The first byte of the pair can be set to zero
to indicate an escape that denotes the end of a line, the end of the bitmap,
or a delta. The interpretation of the escape depends on the value of the
second byte of the pair, which must be in the range 0x00 through 0x02.
Following are the meanings of the escape values that can be used in the
second byte:
Second byte Meaning
0 End of line.
1 End of bitmap.
2 Delta. The two bytes following the escape contain unsigned values
indicating the horizontal and vertical offsets of the next pixel from the
current position.
Absolute Mode
Absolute mode is signaled by the first byte in the pair being set to zero and
the second byte to a value between 0x03 and 0xFF. The second byte represents
the number of bytes that follow, each of which contains the color index of a
single pixel. Each run must be aligned on a word boundary. Following is an
example of an 8-bit RLE bitmap (the two-digit hexadecimal values in the
second column represent a color index for a single pixel):
Compressed data Expanded data
03 04 04 04 04
05 06 06 06 06 06 06
00 03 45 56 67 00 45 56 67
02 78 78 78
00 02 05 01 Move 5 right and 1 down
02 78 78 78
00 00 End of line
09 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E
00 01 End of RLE bitmap
Compression of 4-Bits-per-Pixel Bitmaps
When the biCompression member of the BITMAPINFOHEADER structure is set to
BI_RLE4, the DIB is compressed using a run-length encoded format for a
16-color bitmap. This format uses two modes: encoded mode and absolute mode.
Encoded Mode
A unit of information in encoded mode consists of two bytes. The first byte
of the pair contains the number of pixels to be drawn using the color indexes
in the second byte.
The second byte contains two color indexes, one in its high-order nibble
(that is, its low-order 4 bits) and one in its low-order nibble.
The first pixel is drawn using the color specified by the high-order nibble,
the second is drawn using the color in the low-order nibble, the third is
drawn with the color in the high-order nibble, and so on, until all the
pixels specified by the first byte have been drawn.
The first byte of the pair can be set to zero to indicate an escape that
denotes the end of a line, the end of the bitmap, or a delta. The
interpretation of the escape depends on the value of the second byte of the
pair. In encoded mode, the second byte has a value in the range 0x00 through
0x02. The meaning of these values is the same as for a DIB with 8 bits per
pixel.
Absolute Mode
In absolute mode, the first byte contains zero, the second byte contains the
number of color indexes that follow, and subsequent bytes contain color
indexes in their high- and low-order nibbles, one color index for each pixel.
Each run must be aligned on a word boundary.
Following is an example of a 4-bit RLE bitmap (the one-digit hexadecimal
values in the second column represent a color index for a single pixel):
Compressed data Expanded data
03 04 0 4 0
05 06 0 6 0 6 0
00 06 45 56 67 00 4 5 5 6 6 7
04 78 7 8 7 8
00 02 05 01 Move 5 right and 1 down
04 78 7 8 7 8
00 00 End of line
09 1E 1 E 1 E 1 E 1 E 1
00 01 End of RLE bitmap
Bitmap Example
The following example is a text dump of a 16-color bitmap (4 bits per pixel):
Win3DIBFile
BitmapFileHeader
Type 19778
Size 3118
Reserved1 0
Reserved2 0
OffsetBits 118
BitmapInfoHeader
Size 40
Width 80
Height 75
Planes 1
BitCount 4
Compression 0
SizeImage 3000
XPelsPerMeter 0
YPelsPerMeter 0
ColorsUsed 16
ColorsImportant 16
Win3ColorTable
Blue Green Red Unused
[00000000] 84 252 84 0
[00000001] 252 252 84 0
[00000002] 84 84 252 0
[00000003] 252 84 252 0
[00000004] 84 252 252 0
[00000005] 252 252 252 0
[00000006] 0 0 0 0
[00000007] 168 0 0 0
[00000008] 0 168 0 0
[00000009] 168 168 0 0
[0000000A] 0 0 168 0
[0000000B] 168 0 168 0
[0000000C] 0 168 168 0
[0000000D] 168 168 168 0
[0000000E] 84 84 84 0
[0000000F] 252 84 84 0
Image
.
. Bitmap data
.
Icon-Resource File Format
An icon-resource file contains image data for icons used by Windows
applications. The file consists of an icon directory identifying the number
and types of icon images in the file, plus one or more icon images. The
default filename extension for an icon-resource file is .ICO.
Icon Directory
Each icon-resource file starts with an icon directory. The icon directory,
defined as an ICONDIR structure, specifies the number of icons in the
resource and the dimensions and color format of each icon image. The ICONDIR
structure has the following form:
typedef struct ICONDIR {
WORD idReserved;
WORD idType;
WORD idCount;
ICONDIRENTRY idEntries[1];
} ICONHEADER;
Following are the members in the ICONDIR structure:
idReserved Reserved; must be zero.
idType Specifies the resource type. This member is set to 1.
idCount Specifies the number of entries in the directory.
idEntries Specifies an array of ICONDIRENTRY structures containing
information about individual icons. The idCount member specifies the number
of structures in the array.
The ICONDIRENTRY structure specifies the dimensions and color format for an
icon. The structure has the following form:
struct IconDirectoryEntry {
BYTE bWidth;
BYTE bHeight;
BYTE bColorCount;
BYTE bReserved;
WORD wPlanes;
WORD wBitCount;
DWORD dwBytesInRes;
DWORD dwImageOffset;
};
Following are the members in the ICONDIRENTRY structure:
bWidth Specifies the width of the icon, in pixels. Acceptable values
are 16, 32, and 64.
bHeight Specifies the height of the icon, in pixels. Acceptable
values are 16, 32, and 64.
bColorCount Specifies the number of colors in the icon. Acceptable values
are 2, 8, and 16.
bReserved Reserved; must be zero.
wPlanes Specifies the number of color planes in the icon bitmap.
wBitCount Specifies the number of bits in the icon bitmap.
dwBytesInRes Specifies the size of the resource, in bytes.
dwImageOffset Specifies the offset, in bytes, from the beginning of the
file to the icon image.
Icon Image
Each icon-resource file contains one icon image for each image identified in
the icon directory. An icon image consists of an icon-image header, a color
table, an XOR mask, and an AND mask. The icon image has the following form:
BITMAPINFOHEADER icHeader;
RGBQUAD icColors[];
BYTE icXOR[];
BYTE icAND[];
The icon-image header, defined as a BITMAPINFOHEADER structure, specifies the
dimensions and color format of the icon bitmap. Only the biSize through
biBitCount members and the biSizeImage member are used. All other members
(such as biCompression and biClrImportant) must be set to zero.
The color table, defined as an array of RGBQUAD structures, specifies the
colors used in the XOR mask. As with the color table in a bitmap file, the
biBitCount member in the icon-image header determines the number of elements
in the array. For more information about the color table, see Section 1.1,
"Bitmap-File Formats."
The XOR mask, immediately following the color table, is an array of BYTE
values representing consecutive rows of a bitmap. The bitmap defines the
basic shape and color of the icon image. As with the bitmap bits in a bitmap
file, the bitmap data in an icon-resource file is organized in scan lines,
with each byte representing one or more pixels, as defined by the color
format. For more information about these bitmap bits, see Section 1.1,
"Bitmap-File Formats."
The AND mask, immediately following the XOR mask, is an array of BYTE values,
representing a monochrome bitmap with the same width and height as the XOR
mask. The array is organized in scan lines, with each byte representing 8
pixels.
When Windows draws an icon, it uses the AND and XOR masks to combine the icon
image with the pixels already on the display surface. Windows first applies
the AND mask by using a bitwise AND operation; this preserves or removes
existing pixel color. Windows then applies the XOR mask by using a bitwise
XOR operation. This sets the final color for each pixel.
The following illustration shows the XOR and AND masks that create a
monochrome icon (measuring 8 pixels by 8 pixels) in the form of an uppercase
K:
Windows Icon Selection
Windows detects the resolution of the current display and matches it against
the width and height specified for each version of the icon image. If Windows
determines that there is an exact match between an icon image and the current
device, it uses the matching image. Otherwise, it selects the closest match
and stretches the image to the proper size.
If an icon-resource file contains more than one image for a particular
resolution, Windows uses the icon image that most closely matches the color
capabilities of the current display. If no image matches the device
capabilities exactly, Windows selects the image that has the greatest number
of colors without exceeding the number of display colors. If all images
exceed the color capabilities of the current display, Windows uses the icon
image with the least number of colors.
Cursor-Resource File Format
A cursor-resource file contains image data for cursors used by Windows
applications. The file consists of a cursor directory identifying the number
and types of cursor images in the file, plus one or more cursor images. The
default filename extension for a cursor-resource file is .CUR.
Cursor Directory
Each cursor-resource file starts with a cursor directory. The cursor
directory, defined as a CURSORDIR structure, specifies the number of cursors
in the file and the dimensions and color format of each cursor image. The
CURSORDIR structure has the following form:
typedef struct _CURSORDIR {
WORD cdReserved;
WORD cdType;
WORD cdCount;
CURSORDIRENTRY cdEntries[];
} CURSORDIR;
Following are the members in the CURSORDIR structure:
cdReserved Reserved; must be zero.
cdType Specifies the resource type. This member must be set to 2.
cdCount Specifies the number of cursors in the file.
cdEntries Specifies an array of CURSORDIRENTRY structures containing
information about individual cursors. The cdCount member specifies the number
of structures in the array.
A CURSORDIRENTRY structure specifies the dimensions and color format of a
cursor image. The structure has the following form:
typedef struct _CURSORDIRENTRY {
BYTE bWidth;
BYTE bHeight;
BYTE bColorCount;
BYTE bReserved;
WORD wXHotspot;
WORD wYHotspot;
DWORD lBytesInRes;
DWORD dwImageOffset;
} CURSORDIRENTRY;
Following are the members in the CURSORDIRENTRY structure:
bWidth Specifies the width of the cursor, in pixels.
bHeight Specifies the height of the cursor, in pixels.
bColorCount Reserved; must be zero.
bReserved Reserved; must be zero.
wXHotspot Specifies the x-coordinate, in pixels, of the hot spot.
wYHotspot Specifies the y-coordinate, in pixels, of the hot spot.
lBytesInRes Specifies the size of the resource, in bytes.
dwImageOffset Specifies the offset, in bytes, from the start of the file to
the cursor image.
Cursor Image
Each cursor-resource file contains one cursor image for each image identified
in the cursor directory. A cursor image consists of a cursor-image header, a
color table, an XOR mask, and an AND mask. The cursor image has the following
form:
BITMAPINFOHEADER crHeader;
RGBQUAD crColors[];
BYTE crXOR[];
BYTE crAND[];
The cursor hot spot is a single pixel in the cursor bitmap that Windows uses
to track the cursor. The crXHotspot and crYHotspot members specify the x- and
y-coordinates of the cursor hot spot. These coordinates are 16-bit integers.
The cursor-image header, defined as a BITMAPINFOHEADER structure, specifies
the dimensions and color format of the cursor bitmap. Only the biSize through
biBitCount members and the biSizeImage member are used. The biHeight member
specifies the combined height of the XOR and AND masks for the cursor. This
value is twice the height of the XOR mask. The biPlanes and biBitCount
members must be 1. All other members (such as biCompression and
biClrImportant) must be set to zero.
The color table, defined as an array of RGBQUAD structures, specifies the
colors used in the XOR mask. For a cursor image, the table contains exactly
two structures, since the biBitCount member in the cursor-image header is
always 1.
The XOR mask, immediately following the color table, is an array of BYTE
values representing consecutive rows of a bitmap. The bitmap defines the
basic shape and color of the cursor image. As with the bitmap bits in a
bitmap file, the bitmap data in a cursor-resource file is organized in scan
lines, with each byte representing one or more pixels, as defined by the
color format. For more information about these bitmap bits, see Section 1.1,
"Bitmap-File Formats."
The AND mask, immediately following the XOR mask, is an array of BYTE values
representing a monochrome bitmap with the same width and height as the XOR
mask. The array is organized in scan lines, with each byte representing 8
pixels.
When Windows draws a cursor, it uses the AND and XOR masks to combine the
cursor image with the pixels already on the display surface. Windows first
applies the AND mask by using a bitwise AND operation; this preserves or
removes existing pixel color. Window then applies the XOR mask by using a
bitwise XOR operation. This sets the final color for each pixel.
The following illustration shows the XOR and the AND masks that create a
cursor (measuring 8 pixels by 8 pixels) in the form of an arrow:
Following are the bit-mask values necessary to produce black, white,
inverted, and transparent results:
Pixel result AND mask XOR mask
Black 0 0
White 0 1
Transparent 1 0
Inverted 1 1
Windows Cursor Selection
If a cursor-resource file contains more than one cursor image, Windows
determines the best match for a particular display by examining the width and
height of the cursor images.
