会社でLync 2013に切り替えたところ、この問題に遭遇しました。AutoHotKeyで非常に迅速で基本的な回避策をコーディングしました。チャットウィンドウのサイズが変更されます(移動はされません)。Lync 2013のこの特定のバグは、ウィンドウサイズではなく、ウィンドウの位置を記憶することを思い出してください。
デフォルトのウィンドウサイズは430x430です。これにより、ウィンドウのサイズが850x600に大幅に変更されます。お好みに合わせて、スクリプトのサイズを自由に変更してください。ウィンドウが最初に表示されるときにのみサイズが変更されます。ウィンドウのサイズを変更すると、スクリプトはウィンドウのサイズを変更せず、ウィンドウを閉じた後もウィンドウのサイズを記憶しません。ウィンドウが最初に表示されるときにのみウィンドウサイズを設定します。
AutoHotKeyの使用方法がわからない場合は、すばらしいマニュアルを確認してください。
#Persistent
SetTimer, FixLyncWindow, 500
FixLyncWindow:
{
IfWinExist, ahk_class LyncConversationWindowClass
{
; First, get the HWND of the window.
; Exit the loop if we have already resized it.
WinGet, currID, ID
IfNotExist, c:\temp\%currID%.txt
{
; If we're here, we haven't acted on the window,
; or no HWND file list exists,
; which also means we haven't acted on the window.
; So, it's finally time to act on the window.
WinMove, ahk_id %currID%,,,, 850, 600
; Now, we add the HWND to the file so we know we've
; already resized that window and we don't continue
; resizing the window every half-second.
IfNotExist, c:\temp
FileCreateDir, c:\temp
FileAppend,, c:\temp\%currID%.txt
}
}
; Now, let's check the file directory to see if any of these
; windows don't exist. If they do not, we can delete the file.
FileList =
test1 =
Loop, c:\temp\*.*
{
SplitPath, A_LoopFileName,,,, myName
FileList = %FileList%`,%myName%
}
Loop, parse, FileList, `,
{
If ( "%A_LoopField%" = "" )
Return
IfWinNotExist, ahk_id %A_LoopField%
{
FileDelete, c:\temp\%A_LoopField%.txt
}
}
return
}