3

RT.如下图。 自定义窗口注入资源管理器

我尝试了以下几种方法,但不起作用:

  1. Explorer Bars, Tool Bands, and Desk Bands,看这里
  2. 命名空间扩展,见这里
  3. 实现一个文件夹视图,看这里

我已经解决了这个问题,只需调整文件夹视图窗口的大小并创建一个新的自定义窗口并将其移动到正确的位置,如下所示,此代码将在文件夹视图窗口顶部显示自定义窗口:

HWND phwnd = (HWND)explorer SHELLDLL_DefView handle;
HWND chwnd = (HWND)explorer DirectUIHWND handle;
RECT *rcClient = new RECT(); 
GetClientRect(phwnd, rcClient);
MoveWindow(chwnd, rcClient->left, rcClient->top+39, rcClient->right, rcClient->bottom-39, TRUE);
HWND haddwnd = ::CreateDialogParam(hInst,
                MAKEINTRESOURCE(IDD_DIALOG1),
                phwnd,
                (DLGPROC)About,
                (LPARAM)rcClient);
ShowWindow(haddwnd, SW_SHOWNOACTIVATE);
MoveWindow(haddwnd, 0, 0, rcClient->right, 39, TRUE);
<pre>
4

0 回答 0