mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 21:36:11 +00:00
[SHELL32] Implement 'Open file location' of shortcut files (#2028)
"Open file location" is a feature to open the location of the target of a shortcut file. Ideally we should probably use SHOpenFolderAndSelectItems here, but that is not 100% implemented in ros yet... CORE-12770
This commit is contained in:
parent
23e575c1bc
commit
c0f340bca5
37 changed files with 101 additions and 15 deletions
|
@ -51,16 +51,20 @@ public:
|
|||
/* Link file formats */
|
||||
|
||||
#include "pshpack1.h"
|
||||
|
||||
struct volume_info
|
||||
{
|
||||
DWORD type;
|
||||
DWORD serial;
|
||||
WCHAR label[12]; /* assume 8.3 */
|
||||
};
|
||||
|
||||
#include "poppack.h"
|
||||
|
||||
enum IDCMD
|
||||
{
|
||||
IDCMD_OPEN = 0,
|
||||
IDCMD_OPENFILELOCATION
|
||||
};
|
||||
|
||||
private:
|
||||
/* Cached link header */
|
||||
SHELL_LINK_HEADER m_Header;
|
||||
|
@ -83,13 +87,13 @@ private:
|
|||
LPDBLIST m_pDBList; /* Optional data block list (in the extra data section) */
|
||||
BOOL m_bInInit; // in initialization or not
|
||||
HICON m_hIcon;
|
||||
UINT m_idCmdFirst;
|
||||
|
||||
/* Pointers to strings inside Logo3/Darwin info blocks, cached for debug info purposes only */
|
||||
LPWSTR sProduct;
|
||||
LPWSTR sComponent;
|
||||
|
||||
LPWSTR m_sLinkPath;
|
||||
INT m_iIdOpen; /* ID of the "Open" entry in the context menu */
|
||||
|
||||
CComPtr<IUnknown> m_site;
|
||||
CComPtr<IDropTarget> m_DropTarget;
|
||||
|
@ -102,6 +106,9 @@ private:
|
|||
HRESULT SetTargetFromPIDLOrPath(LPCITEMIDLIST pidl, LPCWSTR pszFile);
|
||||
HICON CreateShortcutIcon(LPCWSTR wszIconPath, INT IconIndex);
|
||||
|
||||
HRESULT DoOpen(LPCMINVOKECOMMANDINFO lpici);
|
||||
HRESULT DoOpenFileLocation();
|
||||
|
||||
public:
|
||||
CShellLink();
|
||||
~CShellLink();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue