post by tommy @ 20 六月, 2006 10:41
--- MainFrm.cpp.orig Tue Jun 20 10:35:20 2006
+++ MainFrm.cpp Tue Jun 20 10:37:10 2006
@@ -3614,7 +3614,10 @@
WINDOWPLACEMENT placement;
placement.length = sizeof(WINDOWPLACEMENT);
placement.rcNormalPosition = m_PosData.NormalRect;
- placement.showCmd = SW_RESTORE;
+ if (m_bMaxBeforeTray)
+ placement.showCmd = SW_SHOWMAXIMIZED;
+ else
+ placement.showCmd = SW_RESTORE;
SetWindowPlacement(&placement);
m_PosData.state = 0;
}
@@ -3633,6 +3636,15 @@
ShowWindow(SW_HIDE);
m_TrayIcon.AddIcon();
m_TrayIcon.ShowIcon();
+ }
+ else if (m_PosData.state)
+ {
+ WINDOWPLACEMENT placement;
+ BOOL res=GetWindowPlacement(&placement);
+ if (placement.showCmd==SW_MAXIMIZE || placement.showCmd==SW_SHOWMAXIMIZED)
+ m_bMaxBeforeTray = true;
+ else
+ m_bMaxBeforeTray = false;
}
}
else if (nID == SC_MINIMIZETRAY)
這個 patch 應該可以解決這個問題. 可以到這兒抓這個 patch, 與使用這個 patch 加上其他之前我所做的 patch 的版本:
http://www.teatime.com.tw/~tommy/mypatch/fz2224_restore.patch
http://www.teatime.com.tw/~tommy/filezilla.zip
2006/06/29: 同樣的修改方式在 2.2.25 沒有作用. 另外修正請參考這兒.