The new vbAccelerator Site - more VB and .NET Code and Controls
2 Type Libraries &nbsp

NOTE: this page has been superceded by the version at the new site.


This page provides downloads for the Type Libraries used in the samples on this site and also provides information for writing your own Type Libraries. All Type Libraries come with complete source code.

Note: Type Libraries follow the same rules as other COM objects: if you modify the code and rebuild the type library, you must change also change the CLSID, the Type Library Name and the Type Library Filename to prevent clashing with other user's work.

The Type Libraries

IShellFolder Extended Type Library Version 1.2 (ISHF_Ex.Tlb)
Author: Brad Martinez
Download: ISHF_Ex.TLB (8 Kb)
SourceCode: ISHF_Ex source code (11kb)
LibraryName IShellFolderEx_TLB

This Type Library provides access to COM interfaces used by the Shell to show folder and file lists. The following interfaces are exposed:
  • IContextMenu
  • IContextMenu2
  • IContextMenu3
  • IEnumIDList
  • IMalloc
  • IOleWindow
  • IShellDetails
  • IShellView
  • IShellView2
  • IUnknown

    To see the Type Library in use, check out Brad Martinez's excellent EnumDeskVB sample at his web site, Brad's VB-32 Programs & Samples. vbAccelerator samples use the IMalloc and IUnknown interfaces.

  • Ole Guid and interface definitions (OleGuids.Tlb)
    Author: Matt Curland and Bill Storage
    Download: OleGuids.TLB (4 Kb)
    SourceCode: OleGuids source code (2kb)
    LibraryName: VBOleGuids

    This Type Library provides access to a number of COM interfaces used in implementing an OLE Control hosting site:
  • IOLEClientSite
  • IOLEControlSite
  • IOLEInPlaceActiveObject
  • IOLEInPlaceFrame
  • IOLEInPlaceSite
  • IOLEInPlaceUIWindow
  • IOLEObject
  • IOleWindow

    To see the Type Library in use, check out the Owner Draw Combo and ListBox control or the article How to Trap the Tab Key in a UserControl using IOLEInPlaceActiveObject.
  • New!API Calls used for Threading (threadapi.tlb)
    Author: Matt Currland
    Download: threadapi.tlb (5 Kb)
    SourceCode: ThreadAPI source code (2kb)
    LibraryName ThreadAPI - API Calls Used for Threading

    VB5 and 6 can be used to develop free-threaded DLLs. However, once a new thread has been created you cannot run any VB code at all until the first object has been created on it. This Type Library provides all the Win32 API and COM calls required to initialise an object into a new thread. It also provides a good demonstration of how to translate Win32 API calls into Type Library calls.

    Supported calls:
    • OLE32
      CoMarshalInterThreadInterfaceInStream, CoGetInterfaceAndReleaseStream, CLSIDFromProgID, CoInitialize, CoUninitialize, IIDFromString, CoCreateInstance
    • Kernel32
      WaitForSingleObject, CreateEvent, CloseHandle, PulseEvent, SetEvent, ResetEvent, ResumeThread, SuspendThread, InterlockedIncrement, InterlockedDecrement, WaitForMultipleObjects, GetCurrentThreadID, GetCurrentProcessId , GetCurrentProcess, CreateThread , CopyMemory, ZeroMemory, Sleep, InitializeCriticalSection, EnterCriticalSection, LeaveCriticalSection, DuplicateHandle, GetExitCodeThread
    • User32
      PeekMessage, TranslateMessage, DispatchMessage, EnumThreadWindows, GetClassName
    To see the Type Library in use, check out the Free-Threaded In-Progress Components article.

    Shell Extension Interfaces v1.01 (SHLEXT.tlb)
    Author: Eduardo Morcillo
    Download: SHLEXT.tlb (11 Kb)
    SourceCode: Not Avaiable
    LibraryName Shell Extension Interfaces v1.01 - Eduardo Morcillo

    This Type Library is provided at Eduardo Morcillo's excellent VB site, Edanmo's VB Page. On the site it is used to generate a whole array of shell extensions in VB.

    Supported calls:
    • IContextMenu
    • IContextMenu2
    • IDataObject
    • IDropTarget
    • IExtractIcon (ANSI and Unicode)
    • IPersistFile
    • IShellExecuteHook (ANSI and Unicode)
    • IShellExtInit
    • IShellPropSheetExt
    To see the type library in use, check out the RichEdit 3.0 Text Object Model sample, which uses it to access the OLE IDataObject interface to transfer information in RTF format from the RichEdit 3.0 control.

    New!Runnable (Runnable.tlb)
    Author: Unknown
    Download: Runnable.tlb (2Kb)
    SourceCode: Runnable.olb (2Kb)
    LibraryName Runnable

    This Type Library was originally provided with the CodeFlow sample from the VB Owner's Area at MSDN. It contains only one interface declaration (which could equally be written in VB as a class) but does allow an ActiveX object to be created without its public interface being cluttered with items the user of the object does not care about.

    Supported calls:
    • Runnable_Start
    To see the type library in use, check out the Multi-Threaded VB Using ActiveX EXEs article.

    Type Library Utilities

    VB Type Library registration utility
    This all-VB application uses the registry, OLE interfaces and TLBINF32.DLL to allow you to register, unregister and check the condition of your Type Library registrations.
    GUID Generation
    If you don't have Microsoft's GUIDGen.EXE then here is an alternative, implemented in VB by Dion Wiggins.

    Type Library Resources
    Knowledge Base articles on creating your own Type Library for VB:


    AboutContributeSend FeedbackPrivacy

    Copyright 1998-2000, Steve McMahon ( All Rights Reserved.
    Last updated: 21 March 2000