共用方式為


SHDoDragDrop 函式 (shlobj_core.h)

執行拖放作業。 支持視需要拖曳來源建立,以及拖曳影像。

語法

SHSTDAPI SHDoDragDrop(
  [in]  HWND        hwnd,
  [in]  IDataObject *pdata,
  [in]  IDropSource *pdsrc,
  [in]  DWORD       dwEffect,
  [out] DWORD       *pdwEffect
);

參數

[in] hwnd

類型: HWND

用來取得拖曳影像之視窗的句柄。 此值可以是 NULL。 如需詳細資訊,請參閱。

[in] pdata

類型: IDataObject*

數據物件上 IDataObject 介面的指標,其中包含要拖曳的數據。

[in] pdsrc

類型: IDropSource*

IDropSource 介面實作的指標,用於在拖曳作業期間與來源通訊。

從 Windows Vista 起,如果此值為 NULL,Shell 會為您建立置放來源物件。

[in] dwEffect

類型: DWORD

來源允許在拖放作業中的效果。 最重要的效果是拖放作業是否允許移動。 如需可能值的清單,請參閱 DROPEFFECT

[out] pdwEffect

類型: DWORD*

值的指標,指出拖放作業如何影響源數據。 只有在作業未取消時, 才會設定 pdwEffect 參數。 如需可能值的清單,請參閱 DROPEFFECT

傳回值

類型: HRESULT

此函式支援標準傳回值E_OUTOFMEMORY,以及下列值:

傳回碼 Description
DRAGDROP_S_DROP
拖放作業成功。
DRAGDROP_S_CANCEL
拖放作業已取消。
E_UNSPEC
發生未預期的錯誤。

備註

從 Windows Vista 開始,如果拖曳影像尚未儲存在數據物件 pdtobj 中,而且無法從 hwnd 指定的視窗中取得拖曳影像,Shell 會提供一般拖曳影像。 拖曳影像無法從指定的視窗取得,因為 hwndNULL ,或指定的視窗不支援DI_GETDRAGIMAGE訊息。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 shlobj_core.h (包含 Shlobj.h)
程式庫 Shell32.lib
Dll Shell32.dll (6.0 版或更新版本)
API 集合 ext-ms-win-shell32-l1-2-1 (於 Windows 10 10.0.10240 版)