Click here to Skip to main content
15,894,106 members
Articles / Desktop Programming / Win32

Shell Extension with Keyboard Hook

Rate me:
Please Sign up or sign in to vote.
3.83/5 (5 votes)
31 Aug 2008CPOL9 min read 51.2K   882   36  
Shell Extension with Keyboard Hook

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 7.00.0500 */
/* at Mon Sep 01 21:54:33 2008
 */
/* Compiler settings for .\ATLSmartMove.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#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 __ATLSmartMove_i_h__
#define __ATLSmartMove_i_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __IShellExtension_FWD_DEFINED__
#define __IShellExtension_FWD_DEFINED__
typedef interface IShellExtension IShellExtension;
#endif 	/* __IShellExtension_FWD_DEFINED__ */


#ifndef __ShellExtension_FWD_DEFINED__
#define __ShellExtension_FWD_DEFINED__

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

#endif 	/* __ShellExtension_FWD_DEFINED__ */


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

#ifdef __cplusplus
extern "C"{
#endif 


#ifndef __IShellExtension_INTERFACE_DEFINED__
#define __IShellExtension_INTERFACE_DEFINED__

/* interface IShellExtension */
/* [unique][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IShellExtension;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("173718A0-C419-4ADC-9CB1-E88F9C659582")
    IShellExtension : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct IShellExtensionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IShellExtension * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IShellExtension * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IShellExtension * This);
        
        END_INTERFACE
    } IShellExtensionVtbl;

    interface IShellExtension
    {
        CONST_VTBL struct IShellExtensionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IShellExtension_INTERFACE_DEFINED__ */



#ifndef __ATLSmartMoveLib_LIBRARY_DEFINED__
#define __ATLSmartMoveLib_LIBRARY_DEFINED__

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


EXTERN_C const IID LIBID_ATLSmartMoveLib;

EXTERN_C const CLSID CLSID_ShellExtension;

#ifdef __cplusplus

class DECLSPEC_UUID("6274E69B-9A6C-4818-97BA-123D645719C8")
ShellExtension;
#endif
#endif /* __ATLSmartMoveLib_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) Independent
Argentina Argentina
I have been working as a developer for 15 years now, starting with gwbasic, moving to C and VB and then to VB.Net and later C#. I've used many languages, as languages is what I really like.

Comments and Discussions