Właśnie przeszliśmy na Lync 2013 w mojej firmie i natknąłem się na ten problem. Kodowałem bardzo szybkie, bardzo podstawowe obejście w AutoHotKey. Zmieni rozmiar (ale nie przeniesie) okien czatu. Przypomnij sobie, że ten konkretny błąd w programie Lync 2013 zapamięta pozycję okna, ale nie rozmiar okna.
Domyślny rozmiar okna to 430 x 430; powoduje to zmianę rozmiaru okna na znacznie bardziej przestronny 850 x 600. Zmień rozmiar skryptu, aby dostosować go do swoich potrzeb. Zmienia rozmiar tylko przy pierwszym wyświetleniu okna. Jeśli zmienisz rozmiar okna, skrypt nie zmieni rozmiaru okna, ani nie zapamięta rozmiaru okna po jego zamknięciu. Ustawi rozmiar okna tylko przy pierwszym wyświetleniu okna.
Jeśli nie masz pewności, jak korzystać z AutoHotKey, sprawdź ich niesamowitą instrukcję.
#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
}