- An absolutely must-read paper is here.
- To install the ATL dll to the target machine: Regsvr32 /s Your.dll
- To get the shell extension to work in x64 mode, use VS2005 or VS2008 ATL wizard, as VC6 does not support to change the x86 or x64 platforms;
- In VS2008 wizard, some interface’s signigures are different from that in VC6 enviromment, for instance, in VC6, for the IContextMenu inteface , the function to be implemented is:
STDMETHODIMP GetCommandString(UINT, UINT, UINT*, LPSTR, UINT);
and in ATL 9.0, however it is:
STDMETHODIMP GetCommandString(UINT_PTR, UINT, UINT*, LPSTR, UINT);
- To generate the DLL for x64 machines, in VS2008, go to Project->Properties (or Alt+F7), then Configuration Properties-> Linker -> Advanced, on the right side, go to “Target Machine”, change this to “MachineX64 (/MACHINE:X64) and Rebuild.
- The transparency of the icon in the shortcut menu can be found here.
Shell extension and ATL development