>>129
関数にしてみた
function OpenSameLevelFolder(d){
var pid1 = GetFolderView().FolderItem;
var Items = api.ILGetParent(pid1).GetFolder.Items();
for(var aFolders = [], i = Items.Count; i-- > 0;){
IsFolderEx(Items.Item(i)) && aFolders.push(Items.Item(i));
}
aFolders = aFolders.sort(function(a, b){
var r = api.CompareIDs(0, a, b);
return r <= 1 ? r : -1;
});
var idx = aFolders.indexOf(aFolders.filter(function(c){ return api.ILIsEqual(pid1, c) }).shift());
idx = idx + d != idx ? idx + d : -1;
idx >= 0 && idx < aFolders.length && Navigate(aFolders[idx], SBSP_SAMEBROWSER);
}
OpenSameLevelFolder(1); // 次のフォルダ
OpenSameLevelFolder(-1); // 前のフォルダ
OpenSameLevelFolder(api.GetKeyState(VK_SHIFT) < 0 ? -1 : 1); // 次のフォルダ(SHIFT押しながらで前のフォルダ)