Shortcut.h
上传用户:maryhy001
上传日期:2007-05-02
资源大小:2317k
文件大小:2k
源码类别:

网格计算

开发平台:

Visual C++

  1. //*******************************************************************
  2. //              
  3. //  FILE:       Shortcut.h
  4. //              
  5. //  AUTHOR:     Thomas Latuske <CobUser@GMX.de>
  6. //              
  7. //  COMPONENT:  CShortcut
  8. //              
  9. //  DATE:       04.05.2004
  10. //              
  11. //  COMMENTS:   Update 11.05.2004:
  12. // - added ResolveLink
  13. // - added GetSpecialFolder (split off)
  14. //              
  15. //*******************************************************************
  16. //////////////////////////////////////////////////////////////////////
  17. #ifndef _SHELL_SHORTCUT_H
  18. #define _SHELL_SHORTCUT_H
  19. /*
  20. ******************************************************************
  21. *!!!! Don't forget to start OLE in your app's InitInstance: !!!!!*
  22. ******************************************************************
  23. AfxEnableControlContainer();
  24. // initialize OLE:
  25. if (!AfxOleInit())
  26. {
  27. AfxMessageBox("Unable to initialize OLE.nTerminating application!");
  28. return FALSE;
  29. }
  30. */
  31. class CShortcut  
  32. {
  33. public:
  34. /*  This routine resolves the lnk destination: */
  35. HRESULT ResolveLink(CString LnkName, UINT SpecialFolder, HWND hwnd, CString &LnkPath, CString &LnkDescription);
  36. /* looks if the link, with the given name in the special folder, already exists: */
  37. BOOL isLinkAvailable(CString LnkName, UINT SpecialFolder);
  38. /* set argument(s) that will be used when a file is send (SendTo): */
  39. void SetCmdArguments(CString sArg);
  40. CShortcut();
  41. virtual ~CShortcut();
  42. /*! Use this routine to create a ShortCut (ShellLink) for this Application */
  43. BOOL CreateShortCut(CString LnkTarget, CString LnkName, UINT SpecialFolder = CSIDL_DESKTOP, CString LnkDescription = "", CString IconLocation = "", UINT IconIndex = 1);
  44. /*! Use this routine to delete any Shortcut */
  45. BOOL DeleteShortCut(CString LnkName, UINT SpecialFolder);
  46. private:
  47. /*  This routine is a helper that finds the path to the special folder: */
  48. BOOL GetSpecialFolder(UINT SpecialFolder, CString &SpecialFolderString);
  49. /*  This routine is a helper that builds a long path from 8+3 one */
  50. int ShortToLongPathName(CString sShortPath, CString &sLongPath);
  51. CString m_sCmdArg;
  52. };
  53. #endif // !_SHELL_SHORTCUT_H