Determining Client Information

Question:
I am trying to set up a small intranet and was wondering if there is a way to determine the client’s workstation name (for example, Computer Name in Control Panel/Identification). I can then interrogate a database and generate a form to indicate what applications this workstation is licensed for.

Answer:
HTML isn’t sophisticated enough to determine that information and scripting languages have that kind of check turned off. However, the Windows API can be very useful in providing this kind of information, but to access it through a Web application, the code would have to run within a compiled component, such as an ActiveX control or ActiveX document. The Windows API named GetComputerNameA can do this task nicely. You can either call GetComputerNameA directly or create a wrapper function around it, then call your wrapper function.

For example, if you insert the following code into your custom ActiveX control, you can get the client computer’s name to appear in a Message Box. By the way, this code will work in other types of VB projects, as well.

Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As LongPublic Function GetComputer() As String    Dim lpBuffer As String * 255    Dim Length As Long    Length = GetComputerName(lpBuffer, Len(lpBuffer))        If Length > 0 Then        GetComputer = lpBuffer    Else        GetComputer = ""    End If  End Function' Insert this in an event procedure, such as ' Command1_Click()' ...of course, this assumes that you actually ' have a command button on a form named Command1.Private Sub Command1_Click()MsgBox GetComputerEnd Sub
Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: