• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 8722
  • Last Modified:

How to tell if a dll is registered

How can I tell for sure if a dll is registered? Without unregistering it to check if it unregisters.
1 Solution
Anthony PerkinsCommented:
You can search for it in the registry.

Option Explicit
Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal _
   lpLibFileName As String) As Long
Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
Private Sub Form_Click()
   If IsDLLAvailable("SHDOCVW.dll") Then
       MsgBox "OK"
       ' MsgBox ApiErrorText(Err.LastDllError)
       ' for ApiErrorText, see: http://www.mvps.org/vb/index2.html?tips/formatmessage.htm
   End If
End Sub

Function IsDLLAvailable(ByVal DllFilename As String) As Boolean
   Dim hModule As Long
   ' attempt to load the module
   hModule = LoadLibrary(DllFilename)
   If hModule > 32 Then
       FreeLibrary hModule ' decrement the DLL usage counter
       IsDLLAvailable = True
   End If
End Function
Experts here very much appreciate comments when they have helped you and the results are less than "A" level results.  We all take pride in delivering excellence and appreciate feedback from you anytime we fall short of those expectations so that the "missing" elements or added insights can be added.  Why did you choose to grade less than an "A" here, please?

To add a little more explanation on grading:  The goal on grading is to assess the value given in the question, and to give it the level of quality that will entice others to visit the solution if it served you once the question has migrated to our PAQ.  People are more likely to visit a question in our PAQ that is an A question grade rather than one which is a lower grade.  In addition, the points you give a question remain the same, but the points which flow to the expert are a direct result of the grade assigned.  Example:  100 points at an A grade = 400, B = 300, C=200

Listening further.  If no response will assume the grade was chosen in error and will correct.

Moondancer - EE Moderator
Based on review and feedback from other moderators, the grade is changed.

Please see below.

E-E Moderator

How Do I Know What Grade to Give?
Although we use an A-D scale here at Experts Exchange, it works differently than, say, school grades.
If one or more Experts' proposals are accepted as answers, they should usually be given an A or B grade,
since they have taken the time to provide you with a working solution. If a possible solution is incomplete
- ask for clarification or details before accepting the answer and grading it. People should not be
given lower grades because of incorrect grammar or because you just accepted their answer or comment
to close the question. Keep in mind, your question and any follow-up comments should be focused so that
there can be a specific answer. The following is a good guideline to follow when grading:

A: The Expert(s) either provided you with a thorough answer or they provided you with a link to information
that thoroughly answered your question. An "A" can also be given to any answer that you found informative
or enlightening beyond the direct question that you asked.

B: The Expert(s) provided an acceptable solution, or a link to an acceptable solution, that you were
able to use, although you may have needed a bit more information to complete the task.

C: Because Experts' reliability are often judged by their grading records, many Experts would like the
opportunity to clarify if you have questions about their solutions. If you have given the Expert(s)
ample time to respond to your clarification posts and you have responded to each of their posts providing
requested information; or if the answers, after clarification, lack finality or do not completely address
the issue presented, then a "C" grade is an option. You also have the option here of just asking Community
Support to delete the question.

Remember, the Expert helping you today is probably going to be helping you next time you post a question.
Give them a fair chance to earn an 'Excellent!' grade and they'll provide you with some amazing support.
Register DLLs
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now