
Install the driver from highrez, there is a 32bit or 64bit different installer depending on your PC configuration.Once we have downloaded the driver, we have to: So with this idea in mind, and as we didn't want to write an assembler piece of code, we looked for a library that let us access the hardware ports and we find this very useful library:Īs said from the authors, " InpOut32" is an open source windows DLL and Driver to give direct access to hardware ports". Remember that since the other bits of this port must not be modified, you must read the value, set just bits 1 and 0 to 0, then output the new value. Turn off the beep by resetting bits 1 and 0 of port 61h to 0. Therefore, you must use an IN instruction first to get the value from the port, then do an OR to set the two bits, then use an OUT instruction to send the new value to the port. Since the other bits of port 61h have other uses, they must not be modified. To start the beep, bits 1 and 0 of port 61h must be set to 1. Send the least significant byte first, then the most significant byte.

Since this is an 8-bit port, you must use two OUT instructions to do this. So we started from searching on how the buzzer is implemented and we found this very useful article: There is no trace of an easy solution, at least searching for something like "Windows 7 64bit buzzer" or something like this. Googling around searching for the problem, we found that this problem is fully explained here. In our company, we find ourselves in need of using the internal PC speaker (buzzer) on Windows7 64bit.
