0
私はテストとフィードバックをしたいと思います(私はこれが、この改造のために正しい場所です願って移動してください/適宜削除)のVisual Studio環境変数は、スクリプト
頻繁に環境変数を変更し、誰もがVisual Studioは」doesnの知っているようにそれらを自動的に拾います。
explorer.exeのすべてのインスタンスを終了して再起動すると、再起動せずに最新の環境変数セットが取得されます。
残念ながら、これは開いているウィンドウをすべて失うということです。
私はこれを回避するためにAutoHotKey(www.AutoHotKey.com)スクリプトを書いています。
; Array must be initialised
Full_Path := Object()
; First Array dimension must be setup
Full_Path[j] := A_LoopField
; Generate a list of HWND's for explorer windows
WinGet, id, list, ahk_class CabinetWClass
; iterate over all HWND's filling in our Full_Path array
Loop, %id%
{
; store hwnd in this_id for current loop
this_id := id%A_Index%
; Get the window information for this_id
WinGetText, pathToStore, ahk_id %this_id%
; strips the address out of the text storing in ActiveAddress
StringSplit, ActiveAddress, pathToStore, `n
; Turn's Path Into Variable
pathToStore = %ActiveAddress1%
; Remove's The Beginning "Address:" Phrase
pathToStore := RegExReplace(pathToStore, "^Address: ", "")
; Remove's Carriage Returns Incase it Exist in pathToStore
StringReplace, pathToStore, pathToStore, `r, , all
; Store the result in the Full_Path array
ifExist, %pathToStore%
Full_Path%A_Index% := pathToStore
}
; We can now kill all instances of explorer.exe at command prompt
Loop, %id%
{
; Store hwnd in id array
this_id := id%A_Index%
; get process id to kill from stored hwnd
WinGet, pidVal, PID, ahk_id %this_id%
; kill the explorer process
Run, taskkill /f /pid %pidVal%
}
; kill explorer shell
RunWait, taskkill /f /im explorer.exe
; restart explorer shell
Run, explorer
; open all windows we had open previously
Loop, %id%
{
; store actual path to open in local variable path To Open
pathToOpen := Full_Path%A_Index%
; Run explorer providing the correct path to open
Run, explorer %pathToOpen%
}
Return
あなたにできるアドバイスや改善があれば幸いです。 うまくいけば、それは誰か他の人にとって役に立つでしょう。
答えとしてマークされました。 – Hinchy