I will be
re-reading this today, because that is where I am at with my new version of CPULOCK, bug free, ready to release.
I, and a fricken idiot, want-to-be genius, thief, MFing bastard, whom I may hunt down and treat him like a rabid dog, came up with this..
(Long story, yes I am bitter

, but, an ex friend, used and abused me, I paid the bastard for a bunch of stuff, he flaked off and got nothing working right, so I am taking him to court)
Anyways,
Something else cool to do with urldownload, data base manipulation..!!
AHK code
Code:
DriveGet, serial_num, serial, C:\
UrlDownloadToFile, http://www.not_public.com/someurl.asp?%A_Computername%&%serial_num%&%expire_date%, somefile.tmp
FileDelete, somefile.tmp
On the web server, asp code
Code:
<%
dim str_ini, web_response, arr_ini, comp_name, HD_Serial, expire_date
web_response = "000"
str_ini = request.querystring
if str_ini = "" then
web_response = "001"
else
arr_ini = Split(str_ini, "&")
end if
comp_Name = arr_ini(0)
HD_Serial = arr_ini(1)
expire_date = arr_ini(2)
if expire_date = "" then expire_date = "01/01/2060"
if HD_Serial = "" or comp_Name = "" then
web_response = "001"
else
'//// CALL DATABASE AND SEE IF SERIAL NUMBER AND COMPUTER NAME EXIST (BOTH MATCHING)
Set dbConn = Server.CreateObject("ADODB.Connection")
dbConn.ConnectionString ="PROVIDER=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath("some_access_filename.mdb")
dbConn.open
set dbRS = server.createObject("ADODB.RecordSet")
strSQL = "Select * from computer_records WHERE (comp_name = '"& comp_name & "' AND hd_serial = '" & HD_Serial & "')"
dbRS.open strSQL, dbConn, 2, 3
if expire_date <> "01/01/2060" then
expire_date = CStr(Datevalue(expire_date) + 365)
end if
if dbRS.eof and dbRS.bof then
dbRS.addnew
dbRS("comp_name") = comp_name
dbRS("hd_serial") = HD_Serial
dbRS("expire_date") = expire_date
if Int(now()) > Datevalue(expire_date) then
dbRS("is_expired") = True
else
dbRS("is_expired") = False
end if
dbRS.update
web_response = "000"
else
dbRS.movefirst
dbRS("expire_date") = expire_date
if Int(now()) > Datevalue(expire_date) then
dbRS("is_expired") = True
else
dbRS("is_expired") = False
end if
dbRS.update
web_response = "000"
end if
dbRS.close
dbConn.close
set dbRS = nothing
set dbConn = nothing
response.write(web_response)
end if
%>
So with this urldownload - asp web page talking to a simple Access database, one can do all their software copy protection, collect client data, make sure only one copy is installed per hard drive, (or other ways like you talked about here), and do an unlimited amount of stuff.
Because that idiot-ex friend, flaked off, and I can not seem to get majkinetor interested in helping me for money as a side job, (she is a very smart and nice lady), I am going to have to expose this info and potentially open my system up to attacks, and ask for help...
I always wanted to share this knowledge because being able to manipulate a database through AHK is cool and opened the door to many things, but it also exposes the system I use and some immature jerk could try to find the URL and attack my databases, but I hope they have more important things to do and can be nice.
Just think, no need for a network connection, being so unique, makes it secure, you could add a field in a simple shopping cart that tells how many the person bought and what the auto number is for the invoice, then let AHK take care of the rest, email, name, HD #, etc, etc..
