DRIVER AUTO-INSTALL METHOD FOR OPTIMIZING COMPUTER MONITOR SYSTEM AND STORAGE MEDIA HAVING PROGRAM SOURCE THEREOF
Technical Field The present invention relates to a computer monitor system, and in particular, to a drive auto-install method for optimizing computer monitor system and storage media having program source thereof.
Background Art Computer systems have become necessary item of life and most of the daily routines have been associated with the computer system in recent years. Generally, the computer system consists of a central processing unit and memory for accepting data and processing it into useful information, and input/output devices such as a monitor (screen), a keyboard, a mouse, etc. However, the peripheral devices such as the monitor, keyboard, and etc. are manufacturer- and/or model-specific such that the computer system should be configured optimally for the specific devices when the devices are installed thereto. Especially, configuration for the monitor is significant because its mal- configuration makes a bad effect to human eyes, resulting in eyestrain and fatigue.
The monitor driver configuration is performed several configuration stages in regular order of selecting display, configuration, monitor, registration information, update, and confirmation in a control panel window. In case of manually configuring the monitor driver, an inf file containing configuration information is copied and stored in a register in order for the computer system
to be configured for the corresponding monitor model.
Since this monitor driver configuration process requires complicate configuration steps, it makes computer users feel complex.
In case of the manual configuration, the monitor driver may malfunction because the computer system is not automatically rebooted, and the rebooting manipulation may make the computer users feel troublesome.
Also, the operating systems (OS) of Windows 95, 98, and ME use 16-bit compatible library files and windows 2000 and XP uses 32-bit compatible library files such that an application program can not use two different versions of library files, resulting in utilization complication.
Disclosure of Invention
The present invention has been made in effort to solve the above problems and the object of the present invention is to provide a computer system optimization method capable of automatically installing a monitor driver and configuring color and refresh rate of the monitor according to characteristics of a corresponding monitor connected to the computer system with simple manipulation.
Another object of the present invention is to provide a storage media contained a program source implementing a method capable of automatically installing monitor driver for optimizing the monitor.
Still another object of the present invention is to provide a method for selectively installing a 16-bit and 32-bit library files with one execution file after determining kinds of windows system library files and storage media storing the method.
To achieve the above objects, the automatic monitor driver installation method according to one aspect of the present invention includes obtaining
information of a presently used monitor from an installation file and an Extended Display Information Data (EDID) using a windows system library file when an installation execution command is inputted; calculating optimal values of a resolution and a vertical frequency on the basis of the obtained information and storing the optimal values in a region of a buffer; registering the stored information to a windows system register; and reconfiguring a computer system with an optimal mode of a corresponding monitor using the values of the resolution and vertical frequency.
According to another aspect of the present invention, the step of storing the information includes displaying only compatible monitors after checking vendor ID and product ID and also displaying only the driver files of which manufacturer is identical with that of monitor information obtained from the driver file (Inf File).
Also, the present invention provide a storage media contained program source for implementing the automatic monitor driver installation method.
Brief Description of Drawings FIG. 1 is a block diagram showing a computer system according to a preferred embodiment of the present invention;
FIG. 2 is a flowchart illustrating a automatic driver installation method for optimizing a monitor according to a preferred embodiment of the present
invention; and FIG. 3 is an exemplary view illustrating a monitor driver file (Inf file).
Best Mode for Carrying Out the Invention
The preferred embodiment of the present invention will be described hereinafter with reference to the accompanying drawings. While describing the present invention, well known constructions and functions of the computer system that is thought make the key points of the present invention unclear will not be described.
FIG. 1 is a block diagram showing a computer system according to a preferred embodiment of the present invention. As shown in FIG. 1 , a computer system comprises a monitor 10 connected to a main body 20 with a cable and the monitor 10 is connected to a central processing unit (CPU) 23 of the main body 20 via an interface part 21 of a video card. Also, an auxiliary drive as an auxiliary storage is connected to the CPU 23 through an interface (not shown) thereof. This auxiliary drive can be a 3.5 inch floppy disc drive or a CD-ROM drive. A memory 24 contains program data, as shown in FIG. 2. That is, the CPU 23 controls the system such that a monitor driver can be automatically installed and optimized to the system on the basis of the monitor driver automatic install program data stored in the memory 24. The automatic monitor driver-installing process for optimizing the computer system as structure above will be described hereinafter.
FIG. 2 is a flowchart illustrating an automatic driver installation method for optimizing a monitor according to a preferred embodiment of the present invention and FIG. 3 is an exemplary view illustrating a monitor driver file (Inf file).
In FIG. 2, once an install execution file (install.exe) for automatically installing the monitor driver is executed at step ST30, the CPU 23 executes GetClassDevs(), EnumDevicelnfo(), GetDevicelnstancelD() functions, and etc. so as to collect information of a present-registered monitor at step ST40. This information includes a model of the present monitor, which is important for changing the monitor driver. After collecting the information on the present- registered monitor, the CPU 23 executes SetDevicelnstallParams(), BuildDriverlnfoListO, EnumDriverlnfoQ functions and etc. so as to collect driver file information (Inf file) from the auxiliary drive 22 and associated information from Extended Display Information Data (EDID) at step ST50.
Sequentially, the CPU 23 checks whether the driver file (Inf File) is a monitor driver file (Monitor Inf File) at step ST60. That is, the CPU 23 analyses the driver file and determines whether or not a device class is monitor class. If it is determined that the device class is for other device (such as HDD, Modem, and etc.), the CPU 23 ends the install method according to the preferred embodiment of the present invention. On the other hand, if it is determined that the driver file is the monitor driver file, the CPU 23 determines whether or not the manufacturer of monitor information collected at step 40 is identical with that of the monitor driver file (Monitor Inf File) to be installed, at step ST70. An exemplary monitor driver file used in the checking step is depicted in FIG. 3.
If it is determined that the monitor driver manufacturers of the presently used monitor driver and the monitor driver to be installed are identical to each other, the CPU 23 stores the model information in a buffer and displays a list of driver models in a driver model selection window in order for the user to select a
model to be installed at step ST80. If the computer system has a plug-and-play function, only the drivers compatible with the presently used monitor are displayed by comparing the vender IDs and manufacturer IDs. In this manner, since the compatible drivers among various monitor models are displayed, which make the user feel comfortable for selecting a model.
After the displaying the list of the driver models, the CPU 23 determines whether or not there is a model selection input from an input device (keyboard or mouse) at step ST100. If there is the model selection input, the CPU 23 executes an lnstallDevice() function so as to install the selected monitor driver at step STHO.
Accordingly, the monitor driver installation can be comfortably performed with a 2-step process of monitor driver install instruction and model selection steps.
After installation complete, if an optimization program for reconfiguration of the computer system environment is executed by the user, the CPU 23 determines a value of second bit, which indicates whether or not a monitor optimization mode (Preferred Timing) exists, among a Feature Support Bit included in the DEID at step ST102.
The value "1" of the second bit means that the monitor supports the optimization mode and the value "0" means the monitor does not supports the optimization mode such that the CPU 23 calculates horizontal/vertical resolutions and horizontal/vertical frequencies of the corresponding monitor using Hactive, Hblanking, Vactive, Vblaking, and Pixel Clock of the EDID data if the value is 1 as follows. Htotal = Hactive + Hblanking
Fh = PixelClock/Htotal Vtotal = Vactive + Vblanking Fv = FhA total
After the horizontal/vertical resolutions and frequencies are calculated, the CPU 23 determines whether or not the video card, which is the interface part 21 responsible for signal processing between the monitor 10 and the main body 20, supports the calculated horizontal/vertical resolutions and frequencies at step ST104. by reading video card driver data from a register part 22, using GetRegDataQ APi function, and comparing the data with the calculated data. If it is determined that the video card driver supports the optimal mode of the corresponding monitor, the CPU 23 updates variable of ChangeDisplaySettingO API function of the OS 24 with the horizontal/vertical resolutions and frequencies so as to reconfigure the computer system environment optimally to the corresponding monitor at step ST105. On the other hand, if the driver does not support the optimal mode of the monitor, the CPU 23 reconfigures the computer system environment with mostly similar mode to the optimal mode among the modes supported by the driver.
That is, if the driver supports the horizontal/vertical resolutions but the vertical frequency, the CPU 23 reads all the vertical frequencies that the driver can support at the same resolution using the GetRegData() API function of the OS 24 and detects a vertical frequency having a most small absolute value among values obtained by subtracting the optimal vertical frequency value from the corresponding vertical frequency values at step ST107, and reconfigures the computer system environment near the optimal mode of the corresponding monitor by updating the variable of the ChangeDisplaySettingO API function
with the selected vertical frequency at step ST108.
On the other hand, in the driver does not support the horizontal/vertical resolutions, the CPU 23 reads all the horizontal/vertical frequencies that the driver can support using the GetRegData() API function of the OS 24 and detects a vertical frequency having a most small absolute value among values obtained by subtracting the optimal horizontal/vertical frequencies values from the corresponding horizontal/vertical frequencies values at step ST109, and reconfigures the computer system environment near the optimal mode of the corresponding monitor by updating the variable of the ChangeDisplaySettingO API function with the selected horizontal/vertical frequencies at step ST108.
If the CPU 23 can not read the EDID data stored in the register part 22 or there is no data on the optimal mode of the corresponding monitor, the CPU 23 calculates the optimal mode of the corresponding monitor using the monitor driver file (Inf File). The Inf File typically contains the optimal mode of the corresponding monitor, as shown in FIG. 3.
Accordingly, the CPU 23 can detect the optimal mode data of the corresponding monitor, i.e., horizontal frequency of 800, vertical frequency of 600, vertical frequency of 85, and etc, using the data of [800x600_85_16_100A] or HKR>,PreferredMode„"800,600,85 contained in the Inf File at step ST110. If the video card driver support the optimal mode of the corresponding monitor calculated in this manner, the CPU 23 reconfigures the computer system environment optimal to the corresponding monitor by updating variables of the ChangeDisplaySettingO API function of the OS 24 with the detected horizontal/vertical resolutions and frequencies at steps ST111 and ST112. On the other hand, if the driver supports the horizontal/vertical
resolutions but not vertical frequency, the CPU 23 reads all the vertical frequencies that the driver can support at the same resolution using the GetRegData() API function of the OS 24, detects a vertical frequency of which absolute value is the most small among the detected vertical frequencies at step ST107, and then reconfigures the computer system environment near the optimal mode of the corresponding monitor by updating variables of the ChangeDisplaySettingO API function of the OS 24 with the detected the vertical frequency at step ST108.
If the driver does not support the horizontal/vertical resolutions, the CPU 23 reads ail the horizontal/vertical resolutions that the driver can support using the GetRdgData() API function of the OS 24, detects a vertical frequency which is the most small among the absolute values obtained by subtracting the optimal horizontal/vertical resolutions from the corresponding horizontal/vertical resolutions at step ST109, and then reconfigures the computer system environment near to the optimal mode of the corresponding monitor by updating the variables of the ChangeDisplaySettingO API function of the OS 24 with the obtained horizontal/vertical resolutions at step ST108.
As described above, in the present invention the monitor driver is automatically installed in a simple way different from the typical monitor driver installation method, which has complex installation steps, so as to enable the user to comfortably install the monitor driver. Also, since the resolution, color, and refresh rate of the monitor are optimally configured, in the present invention, according to the characteristics of the monitor connected to the main body of the computer by referring to the EDID data stored in the computer system register and the content of the Inf file, which is monitor driver file, it is possible to
prevent the monitor from being abnormally configured.
While this invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.