View the DQSD CVS repository here:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dqsd/

Update of /cvsroot/dqsd/dqsd/src/DQSDSearchWiz
In directory usw-pr-cvs1:/tmp/cvs-serv23248

Added Files:
        DQSDSearchWiz.cpp DQSDSearchWiz.def DQSDSearchWiz.dep 
        DQSDSearchWiz.dsp DQSDSearchWiz.dsw DQSDSearchWiz.h 
        DQSDSearchWiz.idl DQSDSearchWiz.rc DQSDWizardDlg.h hot.ico 
        normal.ico SearchWizard.cpp resource.h SearchWizard.h 
        SearchWizard.rgs StdAfx.cpp StdAfx.h DQSDWizardDlg.cpp 
Log Message:
An IE add-on to help build searches.  Still in progress.

--- NEW FILE: DQSDSearchWiz.cpp ---
// DQSDSearchWiz.cpp : Implementation of DLL Exports.


// Note: Proxy/Stub Information
//      To build a separate proxy/stub DLL, 
//      run nmake -f DQSDSearchWizps.mk in the project directory.

#include "stdafx.h"
#include "resource.h"
#include <initguid.h>
#include "DQSDSearchWiz.h"

#include "DQSDSearchWiz_i.c"
#include "SearchWizard.h"


CComModule _Module;

BEGIN_OBJECT_MAP(ObjectMap)
OBJECT_ENTRY(CLSID_SearchWizard, CSearchWizard)
END_OBJECT_MAP()

/////////////////////////////////////////////////////////////////////////////
// DLL Entry Point

extern "C"
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
{
    if (dwReason == DLL_PROCESS_ATTACH)
    {
        _Module.Init(ObjectMap, hInstance, &LIBID_DQSDSEARCHWIZLib);
        DisableThreadLibraryCalls(hInstance);
    }
    else if (dwReason == DLL_PROCESS_DETACH)
        _Module.Term();
    return TRUE;    // ok
}

/////////////////////////////////////////////////////////////////////////////
// Used to determine whether the DLL can be unloaded by OLE

STDAPI DllCanUnloadNow(void)
{
    return (_Module.GetLockCount()==0) ? S_OK : S_FALSE;
}

/////////////////////////////////////////////////////////////////////////////
// Returns a class factory to create an object of the requested type

STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
{
    return _Module.GetClassObject(rclsid, riid, ppv);
}

/////////////////////////////////////////////////////////////////////////////
// DllRegisterServer - Adds entries to the system registry

STDAPI DllRegisterServer(void)
{
    // registers object, typelib and all interfaces in typelib
    return _Module.RegisterServer(TRUE);
}

/////////////////////////////////////////////////////////////////////////////
// DllUnregisterServer - Removes entries from the system registry

STDAPI DllUnregisterServer(void)
{
    return _Module.UnregisterServer(TRUE);
}



--- NEW FILE: DQSDSearchWiz.def ---
; DQSDSearchWiz.def : Declares the module parameters.

LIBRARY      "DQSDSearchWiz.DLL"

EXPORTS
        DllCanUnloadNow     @1 PRIVATE
        DllGetClassObject   @2 PRIVATE
        DllRegisterServer   @3 PRIVATE
        DllUnregisterServer     @4 PRIVATE

--- NEW FILE: DQSDSearchWiz.dep ---
# Microsoft Developer Studio Generated Dependency File, included by DQSDSearchWiz.mak

.\DQSDSearchWiz.cpp : \
        ".\DQSDSearchWiz.h"\
        ".\StdAfx.h"\
        

.\StdAfx.cpp : \
        ".\StdAfx.h"\
        

--- NEW FILE: DQSDSearchWiz.dsp ---
# Microsoft Developer Studio Project File - Name="DQSDSearchWiz" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **

# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102

CFG=DQSDSearchWiz - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE 
!MESSAGE NMAKE /f "DQSDSearchWiz.mak".
!MESSAGE 
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE 
!MESSAGE NMAKE /f "DQSDSearchWiz.mak" CFG="DQSDSearchWiz - Win32 Debug"
!MESSAGE 
!MESSAGE Possible choices for configuration are:
!MESSAGE 
!MESSAGE "DQSDSearchWiz - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "DQSDSearchWiz - Win32 Unicode Debug" (based on "Win32 (x86) Dynamic-Link 
Library")
!MESSAGE "DQSDSearchWiz - Win32 Release MinSize" (based on "Win32 (x86) Dynamic-Link 
Library")
!MESSAGE "DQSDSearchWiz - Win32 Release MinDependency" (based on "Win32 (x86) 
Dynamic-Link Library")
!MESSAGE "DQSDSearchWiz - Win32 Unicode Release MinSize" (based on "Win32 (x86) 
Dynamic-Link Library")
!MESSAGE "DQSDSearchWiz - Win32 Unicode Release MinDependency" (based on "Win32 (x86) 
Dynamic-Link Library")
!MESSAGE 

# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe

!IF  "$(CFG)" == "DQSDSearchWiz - Win32 Debug"

# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D 
"_MBCS" /D "_USRDLL" /Yu"stdafx.h" /FD /GZ /c
# ADD CPP /nologo /MTd /W3 /Gm /GR /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D 
"_MBCS" /D "_USRDLL" /Yu"stdafx.h" /FD /GZ /c
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib 
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib 
/nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib 
shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wininet.lib 
Shlwapi.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
# Begin Custom Build - Performing registration
OutDir=.\Debug
TargetPath=.\Debug\DQSDSearchWiz.dll
InputPath=.\Debug\DQSDSearchWiz.dll
SOURCE="$(InputPath)"

"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
        regsvr32 /s /c "$(TargetPath)" 
        echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg" 
        
# End Custom Build

!ELSEIF  "$(CFG)" == "DQSDSearchWiz - Win32 Unicode Debug"

# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "DebugU"
# PROP BASE Intermediate_Dir "DebugU"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "DebugU"
# PROP Intermediate_Dir "DebugU"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D 
"_USRDLL" /D "_UNICODE" /Yu"stdafx.h" /FD /GZ /c
# ADD CPP /nologo /MTd /W3 /Gm /GR /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D 
"_USRDLL" /D "_UNICODE" /Yu"stdafx.h" /FD /GZ /c
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib 
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib 
/nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib 
shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wininet.lib 
Shlwapi.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
# Begin Custom Build - Performing registration
OutDir=.\DebugU
TargetPath=.\DebugU\DQSDSearchWiz.dll
InputPath=.\DebugU\DQSDSearchWiz.dll
SOURCE="$(InputPath)"

"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
        if "%OS%"=="" goto NOTNT 
        if not "%OS%"=="Windows_NT" goto NOTNT 
        regsvr32 /s /c "$(TargetPath)" 
        echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg" 
        goto end 
        :NOTNT 
        echo Warning : Cannot register Unicode DLL on Windows 95 
        :end 
        
# End Custom Build

!ELSEIF  "$(CFG)" == "DQSDSearchWiz - Win32 Release MinSize"

# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "ReleaseMinSize"
# PROP BASE Intermediate_Dir "ReleaseMinSize"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "ReleaseMinSize"
# PROP Intermediate_Dir "ReleaseMinSize"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D 
"_USRDLL" /D "_ATL_DLL" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
# ADD CPP /nologo /MT /W3 /GR /GX /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" 
/D "_USRDLL" /D "_ATL_DLL" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib 
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib 
/nologo /subsystem:windows /dll /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib 
shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wininet.lib 
Shlwapi.lib /nologo /subsystem:windows /dll /machine:I386
# Begin Custom Build - Performing registration
OutDir=.\ReleaseMinSize
TargetPath=.\ReleaseMinSize\DQSDSearchWiz.dll
InputPath=.\ReleaseMinSize\DQSDSearchWiz.dll
SOURCE="$(InputPath)"

"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
        regsvr32 /s /c "$(TargetPath)" 
        echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg" 
        
# End Custom Build

!ELSEIF  "$(CFG)" == "DQSDSearchWiz - Win32 Release MinDependency"

# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "ReleaseMinDependency"
# PROP BASE Intermediate_Dir "ReleaseMinDependency"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "ReleaseMinDependency"
# PROP Intermediate_Dir "ReleaseMinDependency"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D 
"_USRDLL" /D "_ATL_STATIC_REGISTRY" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
# ADD CPP /nologo /MT /W3 /GR /GX /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" 
/D "_USRDLL" /D "_ATL_STATIC_REGISTRY" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib 
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib 
/nologo /subsystem:windows /dll /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib 
shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wininet.lib 
Shlwapi.lib /nologo /subsystem:windows /dll /machine:I386
# Begin Custom Build - Performing registration
OutDir=.\ReleaseMinDependency
TargetPath=.\ReleaseMinDependency\DQSDSearchWiz.dll
InputPath=.\ReleaseMinDependency\DQSDSearchWiz.dll
SOURCE="$(InputPath)"

"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
        regsvr32 /s /c "$(TargetPath)" 
        echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg" 
        
# End Custom Build

!ELSEIF  "$(CFG)" == "DQSDSearchWiz - Win32 Unicode Release MinSize"

# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "ReleaseUMinSize"
# PROP BASE Intermediate_Dir "ReleaseUMinSize"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "ReleaseUMinSize"
# PROP Intermediate_Dir "ReleaseUMinSize"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" 
/D "_UNICODE" /D "_ATL_DLL" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
# ADD CPP /nologo /MT /W3 /GR /GX /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D 
"_USRDLL" /D "_UNICODE" /D "_ATL_DLL" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib 
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib 
/nologo /subsystem:windows /dll /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib 
shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wininet.lib 
Shlwapi.lib /nologo /subsystem:windows /dll /machine:I386
# Begin Custom Build - Performing registration
OutDir=.\ReleaseUMinSize
TargetPath=.\ReleaseUMinSize\DQSDSearchWiz.dll
InputPath=.\ReleaseUMinSize\DQSDSearchWiz.dll
SOURCE="$(InputPath)"

"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
        if "%OS%"=="" goto NOTNT 
        if not "%OS%"=="Windows_NT" goto NOTNT 
        regsvr32 /s /c "$(TargetPath)" 
        echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg" 
        goto end 
        :NOTNT 
        echo Warning : Cannot register Unicode DLL on Windows 95 
        :end 
        
# End Custom Build

!ELSEIF  "$(CFG)" == "DQSDSearchWiz - Win32 Unicode Release MinDependency"

# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "ReleaseUMinDependency"
# PROP BASE Intermediate_Dir "ReleaseUMinDependency"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "ReleaseUMinDependency"
# PROP Intermediate_Dir "ReleaseUMinDependency"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" 
/D "_UNICODE" /D "_ATL_STATIC_REGISTRY" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD /c
# ADD CPP /nologo /MT /W3 /GR /GX /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D 
"_USRDLL" /D "_UNICODE" /D "_ATL_STATIC_REGISTRY" /D "_ATL_MIN_CRT" /Yu"stdafx.h" /FD 
/c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib 
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib 
/nologo /subsystem:windows /dll /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib 
shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wininet.lib 
Shlwapi.lib /nologo /subsystem:windows /dll /machine:I386
# Begin Custom Build - Performing registration
OutDir=.\ReleaseUMinDependency
TargetPath=.\ReleaseUMinDependency\DQSDSearchWiz.dll
InputPath=.\ReleaseUMinDependency\DQSDSearchWiz.dll
SOURCE="$(InputPath)"

"$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
        if "%OS%"=="" goto NOTNT 
        if not "%OS%"=="Windows_NT" goto NOTNT 
        regsvr32 /s /c "$(TargetPath)" 
        echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg" 
        goto end 
        :NOTNT 
        echo Warning : Cannot register Unicode DLL on Windows 95 
        :end 
        
# End Custom Build

!ENDIF 

# Begin Target

# Name "DQSDSearchWiz - Win32 Debug"
# Name "DQSDSearchWiz - Win32 Unicode Debug"
# Name "DQSDSearchWiz - Win32 Release MinSize"
# Name "DQSDSearchWiz - Win32 Release MinDependency"
# Name "DQSDSearchWiz - Win32 Unicode Release MinSize"
# Name "DQSDSearchWiz - Win32 Unicode Release MinDependency"
# Begin Group "Source Files"

# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File

SOURCE=.\DQSDSearchWiz.cpp
# End Source File
# Begin Source File

SOURCE=.\DQSDSearchWiz.def
# End Source File
# Begin Source File

SOURCE=.\DQSDSearchWiz.idl
# ADD MTL /tlb ".\DQSDSearchWiz.tlb" /h "DQSDSearchWiz.h" /iid "DQSDSearchWiz_i.c" 
/Oicf
# End Source File
# Begin Source File

SOURCE=.\DQSDSearchWiz.rc
# End Source File
# Begin Source File

SOURCE=.\DQSDWizardDlg.cpp
# End Source File
# Begin Source File

SOURCE=.\SearchWizard.cpp
# End Source File
# Begin Source File

SOURCE=.\StdAfx.cpp
# ADD CPP /Yc"stdafx.h"
# End Source File
# End Group
# Begin Group "Header Files"

# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File

SOURCE=.\DQSDWizardDlg.h
# End Source File
# Begin Source File

SOURCE=.\Resource.h
# End Source File
# Begin Source File

SOURCE=.\SearchWizard.h
# End Source File
# Begin Source File

SOURCE=.\StdAfx.h
# End Source File
# End Group
# Begin Group "Resource Files"

# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# Begin Source File

SOURCE=.\hot.ico
# End Source File
# Begin Source File

SOURCE=.\normal.ico
# End Source File
# Begin Source File

SOURCE=.\SearchWizard.rgs
# End Source File
# End Group
# End Target
# End Project
# Section DQSDSearchWiz : {00000000-0000-0000-0000-800000800000}
#       1:17:IDD_DQSDWIZARDDLG:102
# End Section

--- NEW FILE: DQSDSearchWiz.dsw ---
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!

###############################################################################

Project: "DQSDSearchWiz"=.\DQSDSearchWiz.dsp - Package Owner=<4>

Package=<5>
{{{
}}}

Package=<4>
{{{
}}}

###############################################################################

Global:

Package=<5>
{{{
}}}

Package=<3>
{{{
}}}

###############################################################################


--- NEW FILE: DQSDSearchWiz.h ---
/* this ALWAYS GENERATED file contains the definitions for the interfaces */


/* File created by MIDL compiler version 5.01.0164 */
/* at Fri Aug 02 14:45:23 2002
 */
/* Compiler settings for C:\glenn\dev\dqsd\DQSDSearchWiz\DQSDSearchWiz.idl:
    Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
    error checks: allocation ref bounds_check enum stub_data 
*/
//@@MIDL_FILE_HEADING(  )


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 440
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __DQSDSearchWiz_h__
#define __DQSDSearchWiz_h__

#ifdef __cplusplus
extern "C"{
#endif 

/* Forward Declarations */ 

#ifndef __ISearchWizard_FWD_DEFINED__
#define __ISearchWizard_FWD_DEFINED__
typedef interface ISearchWizard ISearchWizard;
#endif  /* __ISearchWizard_FWD_DEFINED__ */


#ifndef __SearchWizard_FWD_DEFINED__
#define __SearchWizard_FWD_DEFINED__

#ifdef __cplusplus
typedef class SearchWizard SearchWizard;
#else
typedef struct SearchWizard SearchWizard;
#endif /* __cplusplus */

#endif  /* __SearchWizard_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"

void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 

#ifndef __ISearchWizard_INTERFACE_DEFINED__
#define __ISearchWizard_INTERFACE_DEFINED__

/* interface ISearchWizard */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_ISearchWizard;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("54A5C49B-040A-4CAC-8699-B3D058D8390F")
    ISearchWizard : public IDispatch
    {
    public:
    };
    
#else   /* C style interface */

    typedef struct ISearchWizardVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
            ISearchWizard __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
            ISearchWizard __RPC_FAR * This);
        
        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
            ISearchWizard __RPC_FAR * This);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
            ISearchWizard __RPC_FAR * This,
            /* [out] */ UINT __RPC_FAR *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
            ISearchWizard __RPC_FAR * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
            ISearchWizard __RPC_FAR * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
            ISearchWizard __RPC_FAR * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
            /* [out] */ VARIANT __RPC_FAR *pVarResult,
            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
            /* [out] */ UINT __RPC_FAR *puArgErr);
        
        END_INTERFACE
    } ISearchWizardVtbl;

    interface ISearchWizard
    {
        CONST_VTBL struct ISearchWizardVtbl __RPC_FAR *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISearchWizard_QueryInterface(This,riid,ppvObject)       \
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ISearchWizard_AddRef(This)      \
    (This)->lpVtbl -> AddRef(This)

#define ISearchWizard_Release(This)     \
    (This)->lpVtbl -> Release(This)


#define ISearchWizard_GetTypeInfoCount(This,pctinfo)    \
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define ISearchWizard_GetTypeInfo(This,iTInfo,lcid,ppTInfo)     \
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define ISearchWizard_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)   \
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define 
ISearchWizard_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
     \
    (This)->lpVtbl -> 
Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#endif /* COBJMACROS */


#endif  /* C style interface */




#endif  /* __ISearchWizard_INTERFACE_DEFINED__ */



#ifndef __DQSDSEARCHWIZLib_LIBRARY_DEFINED__
#define __DQSDSEARCHWIZLib_LIBRARY_DEFINED__

/* library DQSDSEARCHWIZLib */
/* [helpstring][version][uuid] */ 


EXTERN_C const IID LIBID_DQSDSEARCHWIZLib;

EXTERN_C const CLSID CLSID_SearchWizard;

#ifdef __cplusplus

class DECLSPEC_UUID("0FE334BE-C7DC-4160-90FD-6C3DAAFD6236")
SearchWizard;
#endif
#endif /* __DQSDSEARCHWIZLib_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif

--- NEW FILE: DQSDSearchWiz.idl ---
// DQSDSearchWiz.idl : IDL source for DQSDSearchWiz.dll
//

// This file will be processed by the MIDL tool to
// produce the type library (DQSDSearchWiz.tlb) and marshalling code.

import "oaidl.idl";
import "ocidl.idl";
        [
                object,
                uuid(54A5C49B-040A-4CAC-8699-B3D058D8390F),
                dual,
                helpstring("ISearchWizard Interface"),
                pointer_default(unique)
        ]
        interface ISearchWizard : IDispatch
        {
        };

[
        uuid(511E1737-7384-4BD7-BB1B-466FD7D80232),
        version(1.0),
        helpstring("DQSDSearchWiz 1.0 Type Library")
]
library DQSDSEARCHWIZLib
{
        importlib("stdole32.tlb");
        importlib("stdole2.tlb");

        [
                uuid(0FE334BE-C7DC-4160-90FD-6C3DAAFD6236),
                helpstring("SearchWizard Class")
        ]
        coclass SearchWizard
        {
                [default] interface ISearchWizard;
        };
};

--- NEW FILE: DQSDSearchWiz.rc ---
//Microsoft Developer Studio generated resource script.
//
#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "winres.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32

#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE DISCARDABLE 
BEGIN
    "resource.h\0"
END

2 TEXTINCLUDE DISCARDABLE 
BEGIN
    "#include ""winres.h""\r\n"
    "\0"
END

3 TEXTINCLUDE DISCARDABLE 
BEGIN
    "1 TYPELIB ""DQSDSearchWiz.tlb""\r\n"
    "\0"
END

#endif    // APSTUDIO_INVOKED


#ifndef _MAC
/////////////////////////////////////////////////////////////////////////////
//
// Version
//

VS_VERSION_INFO VERSIONINFO
 FILEVERSION 1,0,0,1
 PRODUCTVERSION 1,0,0,1
 FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
 FILEOS 0x4L
 FILETYPE 0x2L
 FILESUBTYPE 0x0L
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904B0"
        BEGIN
            VALUE "CompanyName", "\0"
            VALUE "FileDescription", "DQSDSearchWiz Module\0"
            VALUE "FileVersion", "1, 0, 0, 1\0"
            VALUE "InternalName", "DQSDSearchWiz\0"
            VALUE "LegalCopyright", "Copyright 2002\0"
            VALUE "OriginalFilename", "DQSDSearchWiz.DLL\0"
            VALUE "ProductName", "DQSDSearchWiz Module\0"
            VALUE "ProductVersion", "1, 0, 0, 1\0"
            VALUE "OLESelfRegister", "\0"
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1200
    END
END

#endif    // !_MAC


/////////////////////////////////////////////////////////////////////////////
//
// REGISTRY
//

IDR_SEARCHWIZARD        REGISTRY DISCARDABLE    "SearchWizard.rgs"

/////////////////////////////////////////////////////////////////////////////
//
// Icon
//

// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_NORMAL              ICON    DISCARDABLE     "normal.ico"
IDI_HOT                 ICON    DISCARDABLE     "hot.ico"

/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//

IDD_DQSDWIZARDDLG DIALOG DISCARDABLE  0, 0, 368, 223
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "DQSD Search Wizard"
FONT 8, "MS Sans Serif"
BEGIN
    RTEXT           "Search &name:",IDC_STATIC,6,8,45,8
    EDITTEXT        IDC_SearchName,53,6,102,14,ES_AUTOHSCROLL
    RTEXT           "&Link:",IDC_STATIC,6,24,45,8
    EDITTEXT        IDC_Link,53,22,102,14,ES_AUTOHSCROLL
    RTEXT           "&Category:",IDC_STATIC,6,40,45,8
    COMBOBOX        IDC_Category,53,38,102,127,CBS_DROPDOWN | CBS_SORT | 
                    WS_VSCROLL | WS_TABSTOP
    RTEXT           "&Contributor:",IDC_STATIC,6,56,45,8
    EDITTEXT        IDC_Contributor,53,53,102,14,ES_AUTOHSCROLL
    RTEXT           "&Email:",IDC_STATIC,6,72,45,8
    EDITTEXT        IDC_Email,53,69,102,14,ES_AUTOHSCROLL
    RTEXT           "&Description:",IDC_STATIC,158,8,45,8
    EDITTEXT        IDC_Description,205,6,102,39,ES_MULTILINE | 
                    ES_WANTRETURN | WS_VSCROLL
    LTEXT           "&Switches:",IDC_STATIC,171,49,32,8
    EDITTEXT        IDC_Switches,205,47,102,39,ES_MULTILINE | ES_WANTRETURN | 
                    WS_VSCROLL
    LTEXT           "FORM elements in the current page:",IDC_STATIC,6,95,115,
                    8
    CONTROL         "List2",IDC_FormList2,"SysListView32",LVS_REPORT | 
                    LVS_SINGLESEL | LVS_NOSORTHEADER | WS_BORDER | 
                    WS_TABSTOP,6,104,356,43
    GROUPBOX        "FORM fields:",IDC_STATIC,6,151,356,66
    EDITTEXT        IDC_FormFields,12,161,344,49,ES_MULTILINE | 
                    ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_READONLY | NOT 
                    WS_TABSTOP
    DEFPUSHBUTTON   "OK",1,312,6,50,14
    PUSHBUTTON      "Cancel",2,312,23,50,14
END


/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//

#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO DISCARDABLE 
BEGIN
    IDD_DQSDWIZARDDLG, DIALOG
    BEGIN
        LEFTMARGIN, 6
        RIGHTMARGIN, 362
        TOPMARGIN, 6
        BOTTOMMARGIN, 217
        HORZGUIDE, 134
    END
END
#endif    // APSTUDIO_INVOKED


/////////////////////////////////////////////////////////////////////////////
//
// Dialog Info
//

IDD_DQSDWIZARDDLG DLGINIT
BEGIN
    IDC_Category, 0x403, 10, 0
0x6f43, 0x706d, 0x7475, 0x7265, 0x0073, 
    IDC_Category, 0x403, 14, 0
0x6e45, 0x6574, 0x7472, 0x6961, 0x6d6e, 0x6e65, 0x0074, 
    IDC_Category, 0x403, 8, 0
0x6946, 0x616e, 0x636e, 0x0065, 
    IDC_Category, 0x403, 4, 0
0x7546, 0x006e, 
    IDC_Category, 0x403, 10, 0
0x7546, 0x636e, 0x6974, 0x6e6f, 0x0073, 
    IDC_Category, 0x403, 5, 0
0x654e, 0x7377, "\000" 
    IDC_Category, 0x403, 18, 0
0x6550, 0x706f, 0x656c, 0x6120, 0x646e, 0x5020, 0x616c, 0x6563, 0x0073, 

    IDC_Category, 0x403, 10, 0
0x6552, 0x6566, 0x6572, 0x636e, 0x0065, 
    IDC_Category, 0x403, 15, 0
0x6553, 0x7261, 0x6863, 0x7420, 0x6568, 0x5720, 0x6265, "\000" 
    IDC_Category, 0x403, 9, 0
0x6853, 0x7069, 0x6970, 0x676e, "\000" 
    IDC_Category, 0x403, 9, 0
0x6853, 0x706f, 0x6970, 0x676e, "\000" 
    0
END


/////////////////////////////////////////////////////////////////////////////
//
// String Table
//

STRINGTABLE DISCARDABLE 
BEGIN
    IDS_PROJNAME            "DQSDSearchWiz"
END

#endif    // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////



#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
1 TYPELIB "DQSDSearchWiz.tlb"

/////////////////////////////////////////////////////////////////////////////
#endif    // not APSTUDIO_INVOKED


--- NEW FILE: DQSDWizardDlg.h ---
// DQSDWizardDlg.h : Declaration of the CDQSDWizardDlg

#ifndef __DQSDWIZARDDLG_H_
#define __DQSDWIZARDDLG_H_

#include "resource.h"       // main symbols
#include <atlhost.h>

/////////////////////////////////////////////////////////////////////////////
// CDQSDWizardDlg
class CDQSDWizardDlg : 
        public CAxDialogImpl<CDQSDWizardDlg>
{
public:
        CDQSDWizardDlg()
        {
        }

        ~CDQSDWizardDlg()
        {
        }

        enum { IDD = IDD_DQSDWIZARDDLG };

BEGIN_MSG_MAP(CDQSDWizardDlg)
        MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
        COMMAND_ID_HANDLER(IDOK, OnOK)
        COMMAND_ID_HANDLER(IDCANCEL, OnCancel)
END_MSG_MAP()
// Handler prototypes:
//  LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
//  LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
//  LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);

        LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);

        LRESULT OnOK(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
        {
                EndDialog(wID);
                return 0;
        }

        LRESULT OnCancel(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled)
        {
                EndDialog(wID);
                return 0;
        }

public:
        CComPtr<IHTMLDocument2> m_spDoc2;

};

#endif //__DQSDWIZARDDLG_H_

--- NEW FILE: hot.ico ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: normal.ico ---
(This appears to be a binary file; contents omitted.)

--- NEW FILE: SearchWizard.cpp ---
// SearchWizard.cpp : Implementation of CSearchWizard
#include "stdafx.h"
#include "DQSDSearchWiz.h"
#include "SearchWizard.h"
#include "DQSDWizardDlg.h"

/////////////////////////////////////////////////////////////////////////////
// CSearchWizard

#include <initguid.h>
#include <ShlGuid.h>

STDMETHODIMP CSearchWizard::QueryStatus(const GUID* pguidCmdGroup, ULONG cCmds, OLECMD 
prgCmds[], OLECMDTEXT* pCmdText)
{
        if (cCmds == 0) return E_INVALIDARG;
        if (prgCmds == 0) return E_POINTER;

        if (!::InlineIsEqualGUID(*pguidCmdGroup, CLSID_ToolbarExtButtons)) return 
OLECMDERR_E_UNKNOWNGROUP;

        prgCmds[0].cmdf = OLECMDF_ENABLED;
        return S_OK;
}

STDMETHODIMP CSearchWizard::Exec(const GUID*, DWORD nCmdID, DWORD, VARIANTARG*, 
VARIANTARG*)
{
        if (m_spUnkSite == 0) return S_OK;

        CComPtr<IServiceProvider> spSP;
        HR(m_spUnkSite->QueryInterface(&spSP));

        CComPtr<IWebBrowser2> spWB2;
        HR(spSP->QueryService(IID_IWebBrowserApp, &spWB2));


        CComPtr<IDispatch> spDispDoc;
        HR(spWB2->get_Document(&spDispDoc));


        CComPtr<IHTMLDocument2> spDoc2;
        HR(spDispDoc->QueryInterface(&spDoc2));

        // Get the forms

        CComPtr<IHTMLElementCollection> spFormCollection;
        HR(spDoc2->get_forms(&spFormCollection));

        long cForms = 0;
        HR(spFormCollection->get_length( &cForms ));


        HWND hwndBrowser = NULL;
        HR(spWB2->get_HWND(reinterpret_cast<long *>(&hwndBrowser)));
        
        if ( 0 == cForms )
        {
                ::MessageBox( hwndBrowser, _T("Sorry, no FORMs were found in the 
current document.  At least one FORM is required to create a search."), _T("DQSD 
Search Wizard"), MB_OK|MB_ICONINFORMATION );
                return S_OK;
        }

        CDQSDWizardDlg dlg;
        dlg.m_spDoc2 = spDoc2;
        dlg.DoModal( hwndBrowser, cForms );

        return S_OK;
}

--- NEW FILE: resource.h ---
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by DQSDSearchWiz.rc
//
#define IDS_PROJNAME                    100
#define IDR_SEARCHWIZARD                101
#define IDD_DQSDWIZARDDLG               102
#define IDI_NORMAL                      201
#define IDC_FormList                    201
#define IDI_HOT                         202
#define IDC_FormList2                   202
#define IDC_SearchName                  203
#define IDC_Switches                    204
#define IDC_Contributor                 205
#define IDC_Description                 206
#define IDC_Category                    207
#define IDC_Link                        208
#define IDC_Email                       209
#define IDC_FormFields                  210

// Next default values for new objects
// 
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE        204
#define _APS_NEXT_COMMAND_VALUE         32768
#define _APS_NEXT_CONTROL_VALUE         211
#define _APS_NEXT_SYMED_VALUE           103
#endif
#endif

--- NEW FILE: SearchWizard.h ---
// SearchWizard.h : Declaration of the CSearchWizard

#ifndef __SEARCHWIZARD_H_
#define __SEARCHWIZARD_H_

#include "resource.h"       // main symbols
#include <ExDisp.h>
#include <MsHtml.h>

/////////////////////////////////////////////////////////////////////////////
// CSearchWizard
class ATL_NO_VTABLE CSearchWizard : 
        public CComObjectRootEx<CComSingleThreadModel>,
        public CComCoClass<CSearchWizard, &CLSID_SearchWizard>,
        public IObjectWithSiteImpl<CSearchWizard>,
        public IOleCommandTarget
{
public:
        CSearchWizard()
        {
        }

DECLARE_REGISTRY_RESOURCEID(IDR_SEARCHWIZARD)

DECLARE_PROTECT_FINAL_CONSTRUCT()

BEGIN_COM_MAP(CSearchWizard)
        COM_INTERFACE_ENTRY(IObjectWithSite)
        COM_INTERFACE_ENTRY(IOleCommandTarget)
END_COM_MAP()

public:
        STDMETHOD(QueryStatus)(const GUID* pguidCmdGroup, ULONG cCmds, OLECMD 
prgCmds[], OLECMDTEXT* pCmdText);
        STDMETHOD(Exec)(const GUID*, DWORD nCmdID, DWORD, VARIANTARG*, VARIANTARG* 
pvaOut);
};

#endif //__SEARCHWIZARD_H_

--- NEW FILE: SearchWizard.rgs ---
HKCR
{
        DQSDSearchWiz.SearchWizard.1 = s 'SearchWizard Class'
        {
                CLSID = s '{0FE334BE-C7DC-4160-90FD-6C3DAAFD6236}'
        }
        DQSDSearchWiz.SearchWizard = s 'SearchWizard Class'
        {
                CLSID = s '{0FE334BE-C7DC-4160-90FD-6C3DAAFD6236}'
                CurVer = s 'DQSDSearchWiz.SearchWizard.1'
        }
        NoRemove CLSID
        {
                ForceRemove {0FE334BE-C7DC-4160-90FD-6C3DAAFD6236} = s 'SearchWizard 
Class'
                {
                        ProgID = s 'DQSDSearchWiz.SearchWizard.1'
                        VersionIndependentProgID = s 'DQSDSearchWiz.SearchWizard'
                        ForceRemove 'Programmable'
                        InprocServer32 = s '%MODULE%'
                        {
                                val ThreadingModel = s 'Apartment'
                        }
                }
        }
}
HKLM
{
        NoRemove Software
        {
                NoRemove Microsoft
                {
                        NoRemove 'Internet Explorer'
                        {
                                NoRemove Extensions
                                {
                                        ForceRemove 
'{F3E2D167-7415-4997-8575-C479E0583D6D}'
                                        {
                                                val ButtonText = s 'DQSD Search Wizard'
                                                val Icon = s '%MODULE%,201'
                                                val HotIcon = s '%MODULE%,202'
                                                val CLSID = s 
'{1FBA04EE-3024-11d2-8F1F-0000F87ABD16}'
                                                val ClsidExtension = s 
'{0FE334BE-C7DC-4160-90FD-6C3DAAFD6236}'
                                                val 'Default Visible' = s 'yes'
                                        }
                                }
                        }
                }
        }
}
--- NEW FILE: StdAfx.cpp ---
// stdafx.cpp : source file that includes just the standard includes
//  stdafx.pch will be the pre-compiled header
//  stdafx.obj will contain the pre-compiled type information

#include "stdafx.h"

#ifdef _ATL_STATIC_REGISTRY
#include <statreg.h>
#include <statreg.cpp>
#endif

#include <atlimpl.cpp>

--- NEW FILE: StdAfx.h ---
// stdafx.h : include file for standard system include files,
//      or project specific include files that are used frequently,
//      but are changed infrequently

#if !defined(AFX_STDAFX_H__FAB46B61_0076_4043_8667_338B151A9D97__INCLUDED_)
#define AFX_STDAFX_H__FAB46B61_0076_4043_8667_338B151A9D97__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define STRICT
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0400
#endif
#define _ATL_APARTMENT_THREADED

#include <atlbase.h>
//You may derive a class from CComModule and use it if you want to override
//something, but do not change the name of _Module
extern CComModule _Module;
#include <atlcom.h>
#include <atlwin.h>
#include <comdef.h>
#include <commctrl.h>
#include <wininet.h>

#include <string>
using namespace std;

// Many thanks to Tim Tabor for the following (www.cheztabor.com)
#define HR(_ex) { HRESULT _hr = _ex; if (FAILED(_hr)) return _hr; }

#define LENGTHOF(a) (sizeof(a) == sizeof(&*a)) ? 0 : (sizeof(a) / sizeof(*a))

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the 
previous line.

#endif // !defined(AFX_STDAFX_H__FAB46B61_0076_4043_8667_338B151A9D97__INCLUDED)

--- NEW FILE: DQSDWizardDlg.cpp ---
// DQSDWizardDlg.cpp : Implementation of CDQSDWizardDlg

#include "stdafx.h"
#include "DQSDWizardDlg.h"

/////////////////////////////////////////////////////////////////////////////
// CDQSDWizardDlg

LRESULT CDQSDWizardDlg::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& 
bHandled)
{
        USES_CONVERSION;

        CenterWindow( GetActiveWindow() );

        // Get the base URL

        CComBSTR bstrURL;
        HR( m_spDoc2->get_URL( &bstrURL ) );

        URL_COMPONENTS uc;
        memset( &uc, 0, sizeof uc );
        uc.dwStructSize = sizeof(uc);
        uc.dwSchemeLength = uc.dwHostNameLength = uc.dwUrlPathLength = 1;
        TCHAR szBaseURL[ MAX_PATH ];
        TCHAR szScheme[ 128 ];
        if ( InternetCrackUrl( W2T( bstrURL ), 0, 0, &uc ) )
        {
                DWORD dwLength = uc.dwSchemeLength + 3 + uc.dwHostNameLength + 1;
                _tcsncpy( szBaseURL, uc.lpszScheme, dwLength );
                szBaseURL[ dwLength ] = _T('\0');
                
                memset( szScheme, 0, sizeof szScheme );
                _tcsncpy( szScheme, uc.lpszScheme, uc.dwSchemeLength + 3 );

                CWindow ctl = GetDlgItem( IDC_Link );
                ctl.SetWindowText( szBaseURL );
        }
        szBaseURL[ _tcslen( szBaseURL ) - 1 ] = _T('\0');

        // Set up the list for the FORM elements

        CWindow ctlFormList2 = GetDlgItem( IDC_FormList2 );
        ctlFormList2.SendMessage( LVM_SETEXTENDEDLISTVIEWSTYLE, 
                                                          0, 
                                                          
LVS_EX_CHECKBOXES|LVS_EX_FULLROWSELECT|LVS_EX_HEADERDRAGDROP );
        LVCOLUMN lvc;
        memset( &lvc, 0, sizeof lvc );
        lvc.mask = LVCF_TEXT|LVCF_ORDER|LVCF_WIDTH;

        lvc.pszText = _T("");
        lvc.cx = 25;
        lvc.iOrder = 0;
        ctlFormList2.SendMessage( LVM_INSERTCOLUMN, 0, (LPARAM)&lvc );
        
        lvc.pszText = _T("action");
        lvc.cx = 250;
        lvc.iOrder = 1;
        ctlFormList2.SendMessage( LVM_INSERTCOLUMN, 1, (LPARAM)&lvc );


        // Get the forms

        CComPtr<IHTMLElementCollection> spFormCollection;
        HR(m_spDoc2->get_forms(&spFormCollection));

        long cForms = 0;
        HR(spFormCollection->get_length( &cForms ));

        for ( int iForm = 0; iForm < cForms; iForm++ )
        {
                CComPtr< IDispatch > spFormDisp;
                spFormCollection->item( CComVariant( iForm ), CComVariant( 0 ), 
&spFormDisp );

                string strName = _T("");
                string strAction = _T("");

                CComQIPtr< IHTMLElement > spForm( spFormDisp );
                if ( spForm )
                {
                        _variant_t varAttributeValue;
                        if ( SUCCEEDED( spForm->getAttribute( _bstr_t(_T("action")), 
0, &varAttributeValue ) ) )
                        {
                                if ( VT_BSTR == varAttributeValue.vt && 
varAttributeValue.bstrVal != NULL )
                                {
                                        if ( !_tcsnicmp( _T("http"), 
W2CT(varAttributeValue.bstrVal), 4 ) )
                                        {
                                                strAction = W2A( 
varAttributeValue.bstrVal );
                                        }
                                        else
                                        {
                                                strAction = string( szBaseURL ) + ( 
*varAttributeValue.bstrVal != L'/' ? _T("/") : _T("") ) + W2A( 
varAttributeValue.bstrVal );
                                        }
                                }
                        }

                        LVITEM lvi;
                        memset( &lvi, 0, sizeof lvi );
                        lvi.mask = LVIF_TEXT;
                        lvi.iItem = 256;
                        lvi.pszText = const_cast<LPTSTR>(strName.c_str());
                        int iPos = ctlFormList2.SendMessage( LVM_INSERTITEM, 0, 
(LPARAM)&lvi );

                        lvi.pszText = const_cast<LPTSTR>(strAction.c_str());
                        lvi.mask = LVIF_TEXT;
                        lvi.iItem = iPos;
                        lvi.iSubItem = 1;
                        lvi.pszText = const_cast<LPTSTR>(strAction.c_str());
                        ctlFormList2.SendMessage( LVM_SETITEMTEXT, iPos, (LPARAM)&lvi 
);

                        CComQIPtr< IHTMLFormElement > spFormElement( spFormDisp );
                        long cFormElements = 0;
                        HR( spFormElement->get_length( &cFormElements ) );
                
                }

        }

        return 1;  // Let the system set the focus
}




-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
DQSD-CVS mailing list
https://lists.sourceforge.net/lists/listinfo/dqsd-cvs
DQSD CVS repository:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dqsd/

Reply via email to