This post was imported from an old blog archive, and predates the creation of AdamCaudill.com.
I am thrilled!
I have done it!
I have completed the most useful program ever developed… at least if you are like me and hit Caps-Lock every couple minutes. I know, I had you all excited, but although this really isn’t that great, it was fun to hack together and at least I’ll use it. You can get the exe, sounds and code here. To exit it, just press & hold caps-lock & ctrl for a couple seconds. It’s really a very simple application, the core is in this code:
Private Sub MonitorCapsLock()
Dim blnLastWasTrue As Boolean
Do
If CBool(GetKeyState(VK_CAPITAL)) = True Then
'caps-lock is on
If (CBool(GetAsyncKeyState(VK_LCONTROL)) = True) _
And (CBool(GetAsyncKeyState(VK_CAPITAL)) = True) Then
'control is down, time to exit
oThread.Abort()
Else
'play the alarm
If blnLastWasTrue = False Then
blnLastWasTrue = True
PlayWav(False, AppPath() & "Woman Screem.wav")
End If
End If
Else
blnLastWasTrue = False
End If
Threading.Thread.Sleep(750)
Loop
End Sub
It all boils down to three APIs, GetKeyState
, GetAsyncKeyState
and PlaySound
to play the wav file. If you have any improvements or suggestions, let me know.
This post was imported from an old blog archive, and predates the creation of AdamCaudill.com.
Wow, the summer’s over and I’m finally home!
After spending the last five months in New York (quite a difference from my native Florida), I’ve finally made it back home. Much has happened while I’ve been away, not the least of which is the death of Imspire and a few related projects. While giving up on these dreams has been difficult, I believe the result will be for the best.
This post was imported from an old blog archive, and predates the creation of AdamCaudill.com.
Visual Basic provides a less than elegant method of saving data in the Windows registry, the GetSetting & SaveSetting functions. These functions store setting in HKEY_CURRENT_USER\Software\VB and VBA Program Settings\<AppName>\<Section> not very pretty is it?
The APISettings module is a drop-in replacement using pure Win32 API for its processing power and increased stability. The reason for developing this and for making it drop-in compatible is to all those new to the Win32 API to add its functionality with minimal difficulty.
This post was imported from an old blog archive, and predates the creation of AdamCaudill.com.
I was actually rather lucky to have this brand of WinModem, as the good people over at Linuxant.com offer a very high quality driver that makes installation a breeze! But, they have recently changed their marketing methods and charge $15 for the driver, so these really lives no viable, free alternative (a rarity to say the least for linux).
This post was imported from an old blog archive, and predates the creation of AdamCaudill.com.
This is a useful function to close a program based on a windows caption, this should work for any top-level window. Paste all this into a standard module, save it. Then call CloseApp("Notepad") or whatever the name of the window is, it’s nice & simple and should close the program instantly.
This requires Windows 2000 plus, for older versions of Windows a different method is required, that isn’t covered here, seeing as Windows 2000 and better require special privileges to forcefully close a program.
Today I was walking around, exploring the local downtown area, and I noticed a door. Or more accurately, what used to be a door, and the symbolism was too perfect to ignore. It’s a door to nowhere.
A door once stood here, carefully built, thoughtfully placed, well crafted. Long ago someone decided that they didn’t want the door to exist anymore — so they filled it in. They made an attempt at reversing the decisions of the past to suit their desire at the moment — but they couldn’t.