Jag har kollat på lite exempel för att ändra namnet på sin användare på MSN Messenger och vad jag har förstått så stödjer inte Messenger API:t den funktionen.Ta fram ett fönster osynligt
Så det enda sättet för tillfället är att plocka fram MSNs vanliga option-fönster, leta reda på rätt textbox, skriva i namnet och trycka på OK.
Det känns inte som nån riktigt fin lösning men det var kanske inte så noga... det största problemet är att man hinner se options-fönstret blinka förbi, och det är däremot ganska störande. Så min tanke nu är: kan man ta fram ett fönster osynligt och skriva i textboxen ändå?
Koden jag nämnde om:
<code>
Public Property Let FriendlyName(ByVal sNewFriendlyName As String)
Dim x&, button&, edit As Long
objMessenger.OptionsPages 0, MOPT_GENERAL_PAGE
x = FindWindow("#32770", vbNullString)
x = FindWindowEx(x, 0, "#32770", vbNullString)
edit = FindWindowEx(x, 0, "edit", vbNullString)
Call SendMessageByString(edit, WM_SETTEXT, 0, sNewFriendlyName)
x = FindWindow("#32770", vbNullString)
button = FindWindowEx(x, 0, "button", vbNullString)
Call SendMessageLong(button, WM_KEYDOWN, VK_SPACE, 0)
Call SendMessageLong(button, WM_KEYUP, VK_SPACE, 0)
End Property
</code>
Om ni råkar veta hur man ändrar namn via API:t så skulle det givevis vara ännu bättre.
Thomas