本帖最后由 Gary87517 于 2013-01-21 16:13:41 编辑

解决方案 »

  1.   

    那个位置你可以用 API 操作,你可以去 google 快捷启动栏http://shimengzhen1998.blog.163.com/blog/static/166869889201011298412540/
      

  2.   

    他其实是一个lnk 而已
      

  3.   

    楼上说的不对,它肯定不是个lnk。
    它是在开始按钮和快捷启动栏之间的。
    而且你提供的博客连接方法我也试过了,跟它简直是两码事。继续,这是我第二次问问这个问题。上次在5月份,看看过了半年技术更新了没有,上次也是没有结果。
      

  4.   

    你的意思是在开始按钮旁边在写一个开始开始么
    这个可能需要映射win7系统内部的核心函数吧
    复制一个开始按钮 重写事件么?
    我不是很懂这个 
      

  5.   

    WPF 4 开发Windows 7 任务栏(Overlay Icon、Thumbnail Toolbar、Progress Bar)
    Gnie写的很好了
    http://www.cnblogs.com/gnielee/archive/2010/03/21/windows7-develop-summary.html
      

  6.   

    5楼的也不是我想要的。难道就没有人用过这2款软件?我感觉思路应该是获取到系统Menu的句柄(GetSystemMenu)
    然后在这个Menu上增加按钮
      

  7.   

    关注下。八成就是一个API的事,但不知道就是不知道= = 我觉得扒翻windows7开发接口会有收获
      

  8.   


    你感觉那个啥呢,不如看msdn的帮助吧
      

  9.   

    void treeView1_DragDrop(object sender, DragEventArgs e)
            {
     
                if (e.Data.GetDataPresent(DataFormats.FileDrop))
                {
                     files = (string[])(e.Data.GetData(DataFormats.FileDrop));                 
                }
            }        void treeView1_DragEnter(object sender, DragEventArgs e)
            {
                if (e.Data.GetDataPresent(DataFormats.FileDrop))
                    e.Effect = DragDropEffects.All;
            }
      

  10.   

    本帖最后由 bdmh 于 2013-01-23 14:04:21 编辑
      

  11.   

    这个 很明显是 远程线程注入做的, 注入explorer.exe, 要32 和64为2个dll, 子类化 任务栏窗口过程,在自己的 窗口过程中实现
      

  12.   

    逆向分析了360助手的代码,得到的方法就是程线程注入explorer.exe做的
      

  13.   

    直接创建的话 会有问题的,钩子dll注入,m_hwndTask为你创建的窗口
     1.子类化m_oldWndProcTask = (WNDPROC)GetWindowLong(m_hwndTask, GWL_WNDPROC);
    SetWindowLong(m_hwndTask, GWL_WNDPROC, (LONG)WndProcTask);
    WndProcTask里面自己处理WM_WINDOWPOSCHANGING消息,在这个消息里面调整位置
    其他的消息交给系统处理 CallWindowProc(m_oldWndProcTask, hwnd, message, wParam, lParam);
    2.子类化 MSTaskListWClass, 同上处理LRESULT CALLBACK WndProcTask(HWND hwnd, UINT message,
    WPARAM wParam, LPARAM lParam)
    {
    switch(message)
    {
    case WM_WINDOWPOSCHANGING:  // restrict size and position
    {//位置处理
    }
    return CallWindowProc(m_oldWndProcTask, hwnd, message, wParam, lParam);
    }void UnSubclassStartButton(void)
    {
    if(m_hwndTask && IsWindow(m_hwndTask) && m_oldWndProcTask)
    SetWindowLong(m_hwndTask, GWL_WNDPROC, (LONG)m_oldWndProcTask);

    m_oldWndProcTask = NULL;
    }idThread = GetWindowThreadProcessId(hwndTaskbar, NULL);
    // 给任务栏安装一个hookg_hhook = SetWindowsHookEx(WH_CALLWNDPROC, (HOOKPROC)CallWndProc,g_hInst, idThread);
      

  14.   

    注入explorer.exe  ,获取任务栏的消息。调整程序图标显示位置。
      

  15.   

    +1
    C#懂的就不多,Delphi完全不知道,关于那个注入explorer.exe ,思路貌似明白一点,但不会动手,求助!