Oppure

Loading
13/06/09 13:12
feddur
Ciao,
ho usato questo codice in vb6 per gestire le mie conversazioni:
Private WithEvents msn As MessengerAPI.Messenger
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function SendMessageByString Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
Private Const WM_SETTEXT = &HC
Private Const WM_COMMAND = &H111
Private Const WM_KEYDOWN = &H100
Private Const VK_RETURN = &HD
Private Const WM_CHAR = &H102

Option Explicit
Private WithEvents objMessenger As MessengerAPI.Messenger

Dim a, b, c, d, v As Long
Dim CContact As String

Private Sub Form_Load()
   Set objMessenger = New MessengerAPI.Messenger
End Sub



Private Sub objMessenger_OnIMWindowDestroyed(ByVal pIMWindow As Object)

    Dim MsgrIMWindow As IMessengerConversationWnd
    Dim MsgrIMWindow2 As IMessengerContacts

    Set MsgrIMWindow = pIMWindow
    Set MsgrIMWindow2 = MsgrIMWindow.Contacts
   

a = Timer / 3600
b = ((((Timer) / 3600) - Int(a)) * 60)
c = (((((Timer) / 3600) - Int(a)) * 60) - Int(b)) * 60
v = MsgrIMWindow2.Count

d = 0
Do
DoEvents

CContact = CContact & " [" & MsgrIMWindow2.Item(d).FriendlyName & "-" & MsgrIMWindow2.Item(d).SigninName & " ]"
d = d + 1
Loop Until d = v

Text1.Text = "|------>" & " " & Date & " " & Int(a) & ":" & Int(b) & ":" & Int(c) & vbNewLine & "Stanno parlandosi i " & (Val(v + 1)) & " contatti" & " [" & objMessenger.MyFriendlyName & "-" & objMessenger.MySigninName & "] " & " e " & CContact & vbNewLine & MsgrIMWindow.History

End Sub

naturalmente è da modificare, ma c'è un problema: da qualche giorno non mi funziona più, mi da errore run-time error '7
ho fatto qualche ricerca su internet solo che non sono riuscito a risolvere, chi mi aiuta?
Grazie
aaa
13/06/09 14:46
theprogrammer
E in quale riga ti da' l'errore?

Comunque, in genere, e' una questione di compatibilità della versione di Messenger utilizzato con il VB6 ...
Ultima modifica effettuata da theprogrammer 13/06/09 14:47
aaa
13/06/09 15:16
feddur
non mi segnala su nessuna riga l'errore..
aaa
13/06/09 15:23
theprogrammer
Scusa feddur, ma quando esegui il programma nell'IDE, si fermera' ad un certo punto ... no?
aaa
15/06/09 22:28
feddur
Postato originariamente da theprogrammer:

Scusa feddur, ma quando esegui il programma nell'IDE, si fermera' ad un certo punto ... no?

l'errore me lo da qui:
 Set objMessenger = New MessengerAPI.Messenger 
aaa
16/06/09 15:27
GrG
eh... prova a reinstallare messenger (non window live messenger, ma il classico)
aaa
16/06/09 21:56
feddur
Postato originariamente da GrG:

eh... prova a reinstallare messenger (non window live messenger, ma il classico)


non cambia nulla.. :d
aaa
17/06/09 10:30
GrG
Se hai reinstallato messenger normale (e non windows live) eppure non è successo niente...
Forse (anche se dubito) le cause potrebbero essere altre... ecco msdn cosa dice:
È stata richiesta una quantità di memoria superiore a quella disponibile oppure è stato individuato un limite di segmento di 64 KB. Cause e soluzioni dell'errore:

. Sono aperti troppe applicazioni, documenti o file di origine.
Chiudere tutte le applicazioni, i documenti o i file di origine non necessari.

. Si sta utilizzando unmodulo oroutine di dimensioni troppo grandi.
Suddividere i moduli o le routine di grandi dimensioni in più moduli e routine di dimensioni minori. In questo modo non si risparmia memoria, ma si evita di superare i limiti di segmento di 64 KB.

. Si sta eseguendo Microsoft Windows in modalità standard.
Riavviare Microsoft Windows in modalità avanzata.

. Si sta eseguendo Microsoft Windows in modalità avanzata e la memoria virtuale è esaurita.
Aumentare la quantità di memoria virtuale liberando spazio su disco o verificando che vi sia sufficiente spazio disponibile.

. Sono in esecuzione programmi TSR.
Eliminare i programmi TSR.

. Sono stati caricati troppi driver di periferica.
Eliminare i driver di periferica non necessari.

. È stato esaurito lo spazio disponibile per levariabili Public.
Ridurre il numero di variabili Public.


Ricorda che l'API comunque funziona solo con msn aperto e da loggati
aaa