win7一键拖动生成快速启动栏

一键拖动生成快速启动工具栏

^#x:: ;自动添加快速启动工具栏
if had_added()
    ExitApp  

ql_add()
Sleep,200
if (is_locked())
{
    lock_unlock()
}
Sleep,200
clear()
Sleep,200
control_move()
control_set()
Sleep,200
lock_unlock()
blockinput,off  

;=====================================================  

ql_add()
{  

    winactivate,ahk_class Shell_TrayWnd
    WinGetPos, x, y, w, h, ahk_class Shell_TrayWnd
    ControlClick, % "x" 0 " y" h, ahk_class Shell_TrayWnd,, R
blockinput,on
    while(!menu1_hwnd := waitmenu(click_x, click_y))
        Sleep, 200
    ControlSend, ahk_parent, t, ahk_id %menu1_hwnd%
    ControlSend, ahk_parent, {Right}, ahk_id %menu1_hwnd%
    WinGetPos, m1x, m1y, m1w, m1h, ahk_id %menu1_hwnd%
    while(!menu2_hwnd := waitmenu(m1x+m1w, m1y, menu1_hwnd))
        Sleep, 200
    ControlSend, ahk_parent,n, ahk_id %menu2_hwnd%
    WinWait, 新工具栏 - 选择文件夹
    ControlClick, Edit1, 新工具栏 - 选择文件夹,, L
    ControlSetText, Edit1, %APPDATA%\Microsoft\Internet Explorer\Quick Launch, 新工具栏 - 选择文件夹
    ControlSend, Edit1, {Enter}, 新工具栏 - 选择文件夹
    ControlClick, Button1, 新工具栏 - 选择文件夹
    ControlGetPos,xs,ys,,,Button1,新工具栏 - 选择文件夹  

    Loop
    {  

        IfWinExist, 新工具栏 - 选择文件夹
        {
            WinActivate,新工具栏 - 选择文件夹
            MouseMove,xs+5,ys+5,0
            Send {LButton}
        }
        else
        {
            break
        }
        Sleep, 200
    }
}  

is_locked()
{
    RegRead, Status, HKCU, Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, TaskbarSizeMove
    return !Status
}  

lock_unlock()
{
    WinGetPos, x, y, w, h, ahk_class Shell_TrayWnd
    ControlClick,% "x" x " y" y+h, ahk_class Shell_TrayWnd,, R
    while(!Menu_hwnd := waitmenu(Click_x, Click_y))
    Sleep, 200
    ControlSend, ahk_parent, l, ahk_id %Menu_hwnd%
}
clear()
{
    WinGet, ctr_list, ControlList, ahk_class Shell_TrayWnd
    Loop, Parse, ctr_list, `n, `r
    {
        if InStr(A_LoopField,"ToolbarWindow32")
        {
            ControlGetText, txt, % A_LoopField, ahk_class Shell_TrayWnd
            if (txt="Quick Launch")
            {
                ql_ctr := A_LoopField
                break
            }
        }
    }
    if ql_ctr
    {
        ControlGet, ql_ctr_hwnd, Hwnd, , % ql_ctr, ahk_class Shell_TrayWnd
        WinGetPos, x, y, w, h, ahk_id %ql_ctr_hwnd%
        ControlClick, % "x" 0 " y" h, ahk_id %ql_ctr_hwnd%,, R
        while(!Menu1_hwnd := waitmenu(x, y+h))
        Sleep, 200
        ControlSend, ahk_parent, v, ahk_id %Menu1_hwnd%
        ControlSend, ahk_parent, {Right}, ahk_id %Menu1_hwnd%
        WinGetPos, m1x, m1y, m1w, m1h, ahk_id %Menu1_hwnd%
        while(!Menu2_hwnd := waitmenu(m1x+m1w, m1y, Menu1_hwnd))
        Sleep, 200
        ControlSend, ahk_parent, g, ahk_id %Menu2_hwnd%
        WinWaitClose, ahk_id %Menu2_hwnd%  

        WinGetPos, x, y, w, h, ahk_id %ql_ctr_hwnd%
        ControlClick, % "x" 0 " y" h, ahk_id %ql_ctr_hwnd%,, R
        while(!Menu3_hwnd := waitmenu(x, y+h))
        Sleep, 200
        ControlSend, ahk_parent, x, ahk_id %Menu3_hwnd%
        WinWaitClose, ahk_id %Menu3_hwnd%  

        WinGetPos, x, y, w, h, ahk_id %ql_ctr_hwnd%
        ControlClick, % "x" 0 " y" h, ahk_id %ql_ctr_hwnd%,, R
        while(!Menu4_hwnd := waitmenu(x, y+h))
        Sleep, 200
        ControlSend, ahk_parent, w, ahk_id %Menu4_hwnd%
        WinWaitClose, ahk_id %Menu4_hwnd%
    }
}  

control_move()
{
    Loop,5
    {
        ControlGetPos,x2,y2,,,MSTaskListWClass1,ahk_class Shell_TrayWnd
        ControlGetPos,x,y,,,ToolbarWindow323,ahk_class Shell_TrayWnd
        if (x>x2)
{
        WinActivate,ahk_class Shell_TrayWnd
        MouseMove,x-5,y+5,0
        Send {LButton down}
        Sleep,350
        MouseMove,0,y+5,8
        Send {LButton up}
}
else
{
break
}
    }
}  

control_set()
{
    blockinput,on
    WinActivate,ahk_class Shell_TrayWnd
    ControlGetPos,x,y,w,h,ToolbarWindow323,ahk_class Shell_TrayWnd
    ControlGetPos,x2,y2,,,MSTaskListWClass1,ahk_class Shell_TrayWnd
    MouseMove,x+w+(x2-x-w)*2/3,h/2,0
    Send {LButton down}
    Sleep,200
    ControlGetPos,,,w0,h,ToolbarWindow323,ahk_class Shell_TrayWnd
wc:=w0/2
mousemove,-wc,0,5,r
con:=0
loop
{
    if (wc<1)
    {
        break
    }
    wc:=wc/2
    ControlGetPos,,,w,h,ToolbarWindow323,ahk_class Shell_TrayWnd
    if ((w0-wc*2>w)and(con=0))
{
    con:=1  

}
else if ((w0-wc*2=w)and(con=0))
{
    con:=0
}
else if ((w0+wc*2<w)and(con=1))
{
    con:=0  

}
else if ((w0-wc*2=w)and(con=1))
{
con:=1
}  

if (con=0)
{
w0:=w
mousemove,-wc,0,5,r
}
else
{
        w0:=w
        mousemove,wc,0,5,r
}  

}
    Send {LButton up}
blockinput,off
}  

had_added(){
    WinGet, ctr_list, ControlList, ahk_class Shell_TrayWnd
    Loop, Parse, ctr_list, `n, `r
    {
        if InStr(A_LoopField,"ToolbarWindow32")
        {
            ControlGetText, txt, % A_LoopField, ahk_class Shell_TrayWnd
            if (txt="Quick Launch")
            {
                ql_ctr := A_LoopField
                break
            }
        }
    }
    if ql_ctr
        return 1
}  

waitmenu(click_x, click_y, ex_hwnd:="")
{
    WinGet, wins, List
    a := ""
    Loop % wins
    {
        win := wins%A_index%
        WinGetPos, x, y, w, h, ahk_id %win%
        WinGetTitle, title, ahk_id %win%
        if (!title && (Abs(Click_y-y)<8 || Abs(Click_y-(y+h))<8) && w<300 && w>80 && h>20 && (ex_hwnd ? win<>ex_hwnd : 1))
{
            return win
}
    }
}  
时间: 2024-10-12 22:28:02

win7一键拖动生成快速启动栏的相关文章

win7快速启动栏

1,如果您对Windows 7中的新任务栏不满意,那么只需一点时间即可恢复旧的快速启动工具栏. 2,右击任务栏,选择工具栏——新的工具,在文件夹对话框中键入“%UserProfile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch”,然后在点击选择文件夹即可.任务栏“使用小图标”. 3,在语言栏旁边就会出现快速启动栏(Quick Launch).然后取消锁定任务栏,右键快速启动栏,把“显示文本”“显示标题”去掉,就和XP的快速启

Delphi -- 创建 桌面、发送到...、快速启动栏、开始菜单、程序菜单、右键菜 单

{================================================================= 功 能: 创建 桌面.发送到....快速启动栏.开始菜单.程序菜单.右键菜单 快捷方式 参 数: FileName : 快捷方式执行文件名 Description : 快捷方式描述信息 Arguements : 快捷方式执行参数 ShowName : 快捷方式显示名称 Location : 快捷方式类别 id : 需设置状态的队列号(255 为设置) Create

windows添加快速启动栏

步骤: 右击任务栏--选择"新建工具栏" 在"文件夹"路径中填入%appdata%\Microsoft\Internet Explorer\Quick Launch并单点"选择文件夹" 右键单击任务栏--取消"锁定任务栏",并将"Quick Lanunch(快速启动栏)"移动到左侧,然后右击"Quick Lanunch(快速启动栏)"取消对"显示文本"和"显

ubuntu14.04登陆后只显示桌面文件,快速启动栏不显示,终端不能打开

问题描述 : ubuntu14.04登陆后只显示桌面文件,快速启动栏不显示,终端不能打开 解决办法: 快捷键ctrl + alt + F1进入文本命令行界面, $  rm ~/.gconf ~/.gconfd ~/.metacity ~/.compiz-1 ~/.config/compiz-1 ~/.config/dconf -rf $  sudo shutdown -r now

LXPanel自定义添加应用程序到快速启动栏

LXPanel是Linux下LXDE项目的一个桌面面板软件.我一开始接触的时候,对于自己自定义的程序到快速启动栏绕了很多弯路,这里记录下,防止以后自己忘了.还有一点就是很多时候,panel下的应用程序列表不是最全的,这个时候你需要手动去/usr/share/applications下去查看,LXPanel在applications下有一个程序叫“主菜单”,这个程序可以给你添加自定义快速启动程序或者是用来改变小图标对应程序的所在路径和属性.但我们今天不讲这个,我们介绍一个更通用的方法: LXPan

win7如何开启快速启动栏

设置步骤如下: 1.右键任务栏空白区域,检查是否解除锁定任务栏,需解锁: 2.右键任务栏空白区域,点击工具栏---新建工具栏: 3.选择C:\Users\Administrator\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch整个文件夹,点击选择文件夹: 4.右击添加的quick launch工具栏,去除显示文本.显示标题俩个选项: 5.拖动该工具栏到左侧即可. 来源: https://zhidao.baidu.com/ques

Ubuntu 将应用程序固定到快速启动栏

Ubuntu上没有快捷方式的说法,而通过软件中心安装的软件就有图标,并能加入到启动器上,这是因为它们有一个desktop配置文件的缘故.这些配置文件在/usr/share/applications这个文件夹下面,既然这样,随便打开一个配置文件,然后依葫芦画瓢,写了个Sublime Text的desktop文件: 1 2 3 4 5 6 7 8 9 10 #!/usr/bin/env xdg-open     [Desktop Entry]     Name=Sublime Text 2     

Win7 开启显示快速启动工具栏,发送到快速启动右键菜单

开启Win7快速启动栏 许多网友一定记得在 Windows 7 之前的 Windows 系统都有个快速启动(quick launch)区域. 比如 IE 浏览器.Windows Media Player 程序可以在里面快速启动. “快速启动”工具拦使用以下文件夹中的文件:%userprofile%\Application Data\Microsoft\Internet Explorer\Quick Launch Windows 7 全新的任务栏 其实,Windows 7 里面虽然取消了快速启动,

[抛砖引玉一]Win+R 被隐藏的快速启动工具

虽然win + R 很简单, 但是这个快捷键所创造的效率, 确实相当高的.    自以为这个方法是自己一步步发现的, 看到 但是看到善用佳软, 用了和我相同的方法, 不免感到有些光荣. 一两句话能说清楚的问题, 也许不需要发一个帖子, 但私以为win + R 的用处很大, 所以仿照XBate(善用佳软的博主)这篇帖子的格式, 胡诌一番. 话不多说.什么是win + R? win + R 是一个快捷键, 解释为 Windows + Run, 按住Windows徽标键 + R, 启动如下窗口:这个窗