这段代码指出了当前打开的资源管理器窗口,我想打开列表中的第一个窗口,如果列表为空,则打开一个新的资源管理器。

我希望在当前鼠标位置打开/激活任一窗口

#e::
list := ""
numberOfwindows := ""
wins := ""
WinGet, id, list, ahk_class CabinetWClass ahk_exe explorer.exe
Loop, %id%
{
    numberOfwindows := A_Index
    this_ID := id%A_Index%
    WinGetTitle, title, ahk_id %this_ID%
    wins .= A_Index A_Space title ? A_Index A_Space title "`n" : "" 
}
MsgBox, number of explorer windows = %numberOfwindows%`n`n%wins%
return

#1楼 票数:0 已采纳

这解决了。 -但是可以优化,任何人有什么建议吗?

#e::
list := ""
numberOfwindows := ""
wins := ""
WinGet, id, list, ahk_class CabinetWClass ahk_exe explorer.exe
Loop, %id%
{
    numberOfwindows := A_Index
    this_ID := id%A_Index%
    WinGetTitle, title, ahk_id %this_ID%
    if (A_Index = 1) { ; if it's the first index of the loop 
        ;MsgBox %title%
        win = %title% ; store the title in " win "
    } 
    wins .= A_Index A_Space title ?½½ A_Index A_Space title "`n" : "" 
}

IfWinNotExist ahk_class CabinetWClass
{
Run C:\Windows\explorer.exe
win := File Explorer
WinWait, %win% ahk_class CabinetWClass
WinMove, mxpos_new , mypos_new
WinActivate 
} 


;MsgBox, number of explorer windows = %numberOfwindows%`n`n%wins%
; above msgbox displays number and the names of the windows.

;~ ; we now know  the win  
; and its title, exe and class.

; we want it's current position. 
WinGetPos, X, Y, Width, Height,%win% ahk_class CabinetWClass
;MsgBox, %X%, %Y%, %Width%, %Height%  

; and we want the mouse position.
CoordMode, Mouse, Screen ; Coordinates are relative to the desktop (entire screen).
MouseGetPos, mxpos , mypos,
;MsgBox, %mxpos%, %mypos%


mxpos_new := mxpos - (Width / 2)
mypos_new := mypos - (Height / 2)

;MsgBox, %mxpos% %mypos% %Width% %Height% %mxpos_new% %mypos_new%
; activate that specific window
WinWait, %win% ahk_class CabinetWClass
WinMove, mxpos_new , mypos_new
WinActivate 
return

  ask by user2673238 translate from so

未解决问题?本站智能推荐:

1回复

仅在Windows资源管理器处于活动状态时,如何分配热键来浏览文件夹?

我只想在Windows资源管理器处于活动状态时使用数字快速浏览一些常用文件夹; 这些键在其他程序中的使用保持不变。 该线程提供了符合我需要的代码,但是如果没有活动的资源管理器窗口,它将使用Run ,该代码已在下面的代码中删除: 但是,我不能再在任何其他程序中使用脚本中列出的数字。 如何
2回复

Autohotkey:打开Windows资源管理器并等到活动窗口继续

真的很挣扎。 我只需要在指定的域中打开一个Windows资源管理器窗口,等待它激活然后继续。 这是我到目前为止: 编辑已解决?>>> DIDNT知道窗口间隔现有的CAME :((( 浪费了很长时间,这很简单。
1回复

仅当在AHK中打开Windows资源管理器时,使快捷键才能工作

我需要在Windows资源管理器中使用Ctrl + F打开应用程序。 我想我可以使用自动热键来实现。 但是代码不起作用。 即使未打开Windows资源管理器,该代码也会打开我的应用程序。 我希望Ctrl + F仅在前面处于活动状态时才打开我的应用程序。 即使Windows资源管理器已
1回复

无法激活Windows资源管理器窗口

由于某些原因,我无法激活Windows资源管理器窗口: (即默认文件管理器。请勿与Internet Explorer混淆) 任何想法如何解决? 谢谢。 我在32位Win7上尝试过。 可能它将在较新的Windows版本上运行(我不知道)。
1回复

打开保存对话框会自动打开Windows资源管理器中当前打开的文件夹

我想实现一个以这种方式工作的程序:我在Windows资源管理器中打开了一个文件夹。 我正在一个程序中工作,我想保存我的工作。 我打开“打开/保存”对话框,我想要一个快捷方式来自动跳转到Windows资源管理器中当前打开的文件夹。 我认为AutoHotKey应该可以解决问题,但我不知道如何
1回复

通过Windows资源管理器使用AHK更改默认命名约定

当前,突出显示和批量重命名文件/文件夹时,在Windows资源管理器中会发生以下情况: 如何编写脚本,以便突出显示文件/文件夹并按下相同的热键(f2),使我可以更改命名约定? 变量{space} ###。jpg 其中Variable是用户输入的名称,而###是从001开始的运行顺序?
2回复

在Windows资源管理器中选择活动的Word文件

我想要AHK代码,该代码可以允许选择活动Microsoft Word文件的情况下打开资源管理器。 Word似乎没有命令可以直接获取当前打开的文件的路径。 但是,在单词选择文档位置允许显示和选择当前打开文件的完整路径。 后来我尝试按照AHK代码在资源管理器中选择文件。 到目前为止,还没有
2回复

使用自动热键关闭Windows资源管理器窗口

我找不到在Windows资源管理器中关闭路径的方法。 可以说我想关闭打开的窗口“ c:\\ program files”。 代码应该看起来像 谢谢。