[英]create drag and drop event c++
如何使用c ++ WIN API在后台从我的程序向其他程序发送拖放文件。 我的程序必须以编程方式做到这一点,而无需用户干预,没有可见效果,在后台平滑。 我对拖放技术不是很熟悉,到目前为止,我了解我需要使用OLE拖放操作。
您可以检查此代码链接
http://blogs.msdn.com/b/oldnewthing/archive/2004/12/06/275659.aspx
然后,要使用此代码,您可以按以下方式在Visual Studio中使用COM ActiveX:
//声明DropTarget类的单个实例
CDropSource codrop;
BOOL CALLBACK
DlgProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
// bind the drop target to the dialog
codrop.SetHwnd(hwnd);
RegisterDragDrop(hwnd, &codrop);
return TRUE;
case WM_COMMAND:
if (LOWORD(wParam) == IDCANCEL)
EndDialog(hwnd, IDCANCEL);
return TRUE;
case WM_LBUTTONDOWN:
OnLButtonDown(hwnd, false,
LOWORD(lParam), HIWORD(lParam), 0);
break;
case WM_DESTROY:
// unbind the drop target from the dialog
RevokeDragDrop(hwnd);
return FALSE;
}
return FALSE;
}
// Applet的标准WinMain
int WINAPI
WinMain(HINSTANCE hinstance, HINSTANCE, LPSTR, int)
{
OleInitialize(0);
DialogBox(hinstance, MAKEINTRESOURCE(IDD_DIALOG1), 0, DlgProc);
OleUninitialize();
return 0;
}
当然,我没有测试代码,可能需要进行大量调整才能工作,但是您明白了
我想您可以使用此Shell API来实现wuty
http://msdn.microsoft.com/en-us/library/bb762151(v=vs.85).aspx
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.