- This topic has 38 replies, 7 voices, and was last updated 11 years ago by
String.
-
AuthorPosts
-
April 22, 2012 at 3:03 am #186963
Eves
MemberSince Pal did it’s upgrade in March none of my bots will work in my room. I have the admin bot 10, the winamp bot 10. Nothing has changed on my pc but pals upgrade. Am I the only 1 having problems if who what do I do?
from the newbie β
April 22, 2012 at 7:04 am #187001String
MemberThere were a few small changes made to the admin console in pal recently. That could be whats causing your admin bot to malfunction.
Who are the authors of your bots? Try contacting them.
April 22, 2012 at 9:25 pm #187000Eves
Membernot sure who the authors are but under “about” by Locaohacker
Some codes from Departure, Method, Nano and the people from VBform(dot)com
?April 25, 2012 at 6:29 pm #186999Locohacker
Administratorumm I was having some issues too but i though it was cause I wasnt the admin of the room I was testing, but if you an admin then I got to chek and see
April 25, 2012 at 11:17 pm #186998wazzzup
Memberi had found listview don’t work with green and blue rooms :d i haven’t get it yet
April 28, 2012 at 2:55 am #186997Locohacker
AdministratorK I think there like difference is the api for black room and color rooms like this is for the text input in a room.
Color roomDim splitterwindowex As Long, classcpanecontainerex As Long, atlffdd As Long Dim atl As Long, atlaxwin As Long, x As Long Dim richeditw As Long splitterwindowex = FindWindow("splitterwindowex", vbNullString) splitterwindowex = FindWindowEx(splitterwindowex, 0&, "splitterwindowex", vbNullString) splitterwindowex = FindWindowEx(splitterwindowex, 0&, "splitterwindowex", vbNullString) splitterwindowex = FindWindowEx(splitterwindowex, 0&, "splitterwindowex", vbNullString) classcpanecontainerex = FindWindowEx(splitterwindowex, 0&, "classcpanecontainerex", vbNullString) atlffdd = FindWindowEx(classcpanecontainerex, 0&, "atl:008ffdd0", vbNullString) atl = FindWindowEx(atlffdd, 0&, "atl:00900098", vbNullString) atlaxwin = FindWindowEx(atl, 0&, "atlaxwin90", vbNullString) x = FindWindowEx(atlaxwin, 0&, "#32770", vbNullString) richeditw = FindWindowEx(x, 0&, "richedit20w", vbNullString) richeditw = FindWindowEx(x, richeditw, "richedit20w", vbNullString)
black room
Dim splitterwindowex As Long, atl As Long, atlaxwin As Long Dim x As Long, richeditw As Long splitterwindowex = FindWindow("splitterwindowex", vbNullString) splitterwindowex = FindWindowEx(splitterwindowex, 0&, "splitterwindowex", vbNullString) splitterwindowex = FindWindowEx(splitterwindowex, 0&, "splitterwindowex", vbNullString) splitterwindowex = FindWindowEx(splitterwindowex, 0&, "splitterwindowex", vbNullString) atl = FindWindowEx(splitterwindowex, 0&, "atl:00900098", vbNullString) atlaxwin = FindWindowEx(atl, 0&, "atlaxwin90", vbNullString) x = FindWindowEx(atlaxwin, 0&, "#32770", vbNullString) richeditw = FindWindowEx(x, 0&, "richedit20w", vbNullString) richeditw = FindWindowEx(x, richeditw, "richedit20w", vbNullString)` The difference I see is this is extra in the blue room
classcpanecontainerex = FindWindowEx(splitterwindowex, 0&, "classcpanecontainerex", vbNullString) atlffdd = FindWindowEx(classcpanecontainerex, 0&, "atl:008ffdd0", vbNullString)
So I added this code on the roomsend of the funtext like this
`Sub RoomSend(Text As String)
Dim iHnd As Long, classcpanecontainerex As Long, atlffdd As Long
Dim parent, child, alt As Long
Dim start_pos&, end_pos&, txt_len&
'iHnd = getPalSubForm(Form1.WindowClass, Form1.Combo1.Text, Form1.RoomOutboundTextBoxClass, Form1.SendTxtIndex)
On Error Resume Next
parent = FindWindow("DlgGroupChat Window Class", Form1.Combo1.Text)
child = FindWindowEx(parent, 0, "SplitterWindowEx", vbNullString)
child = FindWindowEx(child, 0, "SplitterWindowEx", vbNullString)
child = FindWindowEx(child, 0, "SplitterWindowEx", vbNullString)
child = FindWindowEx(child, 0, "SplitterWindowEx", vbNullString)
classcpanecontainerex = FindWindowEx(child, 0&, "classcpanecontainerex", vbNullString)
atlffdd = FindWindowEx(classcpanecontainerex, 0&, "atl:008ffdd0", vbNullString)
alt = GetWindow(atlffdd, GW_Child)
alt = GetWindow(alt, GW_HWNDNEXT)
alt = FindWindowEx(alt, 0, "atlaxwin90", vbNullString)
alt = FindWindowEx(alt, 0, "#32770", vbNullString)
iHnd = FindWindowEx(alt, 0, "richedit20w", vbNullString)
iHnd = FindWindowEx(alt, iHnd, "richedit20w", vbNullString)
txt_len& = SendMessage(iHnd, WM_GETTEXTLENGTH, 0, 0)
'Copy Text that has been typed in if any
If txt_len& > 0 Then ' don't need all this if user not typing
'disable editing, may not be needed
Call EnableWindow(iHnd, 0)
' save user selection / cursor position
Call SendMessage(iHnd, EM_GETSEL, ByVal VarPtr(start_pos&), ByVal VarPtr(end_pos&))
' select all text and cut
Call SendMessage(iHnd, EM_SETSEL, 0, ByVal txt_len&)
Call SendMessage(iHnd, WM_CUT, 0, 0)
End If
Call SendMessageSTRING(iHnd, WM_SETTEXT, 0&, Text$)
Call SendMessageLong(iHnd, WM_KEYDOWN, 13, 0&)
'Send any typing back to box
If txt_len& > 0 Then
' text box is empty, paste saved text
Call SendMessage(iHnd, WM_PASTE, 0, 0)
' restore selection / cursor position
Call SendMessage(iHnd, EM_SETSEL, start_pos&, ByVal end_pos&)
'enable editing
Call EnableWindow(iHnd, 1)
End IfEnd Sub
And that works for sending text in a color room π but im guessing this part of the new code
atlffdd = FindWindowEx(classcpanecontainerex, 0&, "atl:008ffdd0", vbNullString)
Will need constant updates :swift:
April 28, 2012 at 7:29 pm #186996wazzzup
Memberits work like champ ..Loco you rock π
April 28, 2012 at 7:42 pm #186995String
MemberGood bit of detective work there Loco!
You could combine the 2 into one text send by simply checking for the existence of classcpanecontainerex. and if it doesn’t exist, move on to black room send code.April 28, 2012 at 8:37 pm #186994wazzzup
Memberanother issue getlastline :d
April 28, 2012 at 9:05 pm #186993Locohacker
AdministratorYeps I gonna have to do that String π and wassu For last line use this π
Public Function GetLastLine() On Error Resume Next Dim mywindowclass As Long, classcpanecontainerex As Long, atlffdd As Long Dim wtlsplitterwindow As Long Dim atlfe As Long Dim atlaxwin As Long Dim x As Long Dim richedita As Long mywindowclass = FindWindow("DlgGroupChat Window Class", Form1.Combo1.Text) wtlsplitterwindow = FindWindowEx(mywindowclass, 0&, "SplitterWindowEx", vbNullString) wtlsplitterwindow = FindWindowEx(wtlsplitterwindow, 0&, "SplitterWindowEx", vbNullString) wtlsplitterwindow = FindWindowEx(wtlsplitterwindow, 0&, "SplitterWindowEx", vbNullString) wtlsplitterwindow = FindWindowEx(wtlsplitterwindow, 0&, "SplitterWindowEx", vbNullString) classcpanecontainerex = FindWindowEx(wtlsplitterwindow, 0&, "classcpanecontainerex", vbNullString) atlffdd = FindWindowEx(classcpanecontainerex, 0&, "atl:008ffdd0", vbNullString) atlfe = GetWindow(atlffdd, GW_Child) atlfe = GetWindow(atlfe, GW_HWNDNEXT) atlaxwin = FindWindowEx(atlfe, 0&, "atlaxwin90", vbNullString) atlaxwin = FindWindowEx(atlfe, atlaxwin, "atlaxwin90", vbNullString) x = FindWindowEx(atlaxwin, 0&, "#32770", vbNullString) richedita = FindWindowEx(x, 0&, "richedit20w", vbNullString) Form1.RichTextBox2.Text = GetLastLineTextChat(richedita)
But if i were you I wait til monday so i can do as string suggested cause that will only work on color rooms π and is weekend hehehehe Im out
April 28, 2012 at 9:15 pm #186992wazzzup
MemberThanks Loco have a Nice weekend all π dont drink and drive eheheh
April 30, 2012 at 12:53 pm #186991Locohacker
AdministratorLol only a little π hehe hey string to check for the existence of the class wasn’t i suppose to do this
If classcpanecontainerex = 0 Then
Thats what I though :swift:
April 30, 2012 at 2:08 pm #186990String
MemberThat would work, yes.
April 30, 2012 at 8:52 pm #186989Locohacker
Administratoryeps i did that but it didn’t i guess i did it wrong 8) but i ended up just adding options and came our with this
for room sendingSub RoomSend(Text As String) Dim iHnd As Long Dim parent, child, alt As Long, classcpanecontainerex As Long, atlffdd As Long Dim start_pos&, end_pos&, txt_len& 'iHnd = getPalSubForm(Form1.WindowClass, Form1.Combo1.Text, Form1.RoomOutboundTextBoxClass, Form1.SendTxtIndex) On Error Resume Next parent = FindWindow("DlgGroupChat Window Class", Form1.Combo1.Text) child = FindWindowEx(parent, 0, "SplitterWindowEx", vbNullString) child = FindWindowEx(child, 0, "SplitterWindowEx", vbNullString) child = FindWindowEx(child, 0, "SplitterWindowEx", vbNullString) child = FindWindowEx(child, 0, "SplitterWindowEx", vbNullString) If Form1.Option5.Value = True Then alt = GetWindow(child, GW_Child) Else classcpanecontainerex = FindWindowEx(child, 0&, "classcpanecontainerex", vbNullString) atlffdd = GetWindow(classcpanecontainerex, GW_Child) alt = GetWindow(atlffdd, GW_Child) End If alt = GetWindow(alt, GW_HWNDNEXT) alt = FindWindowEx(alt, 0, "atlaxwin90", vbNullString) alt = FindWindowEx(alt, 0, "#32770", vbNullString) iHnd = FindWindowEx(alt, 0, "richedit20w", vbNullString) iHnd = FindWindowEx(alt, iHnd, "richedit20w", vbNullString) txt_len& = SendMessage(iHnd, WM_GETTEXTLENGTH, 0, 0) 'Copy Text that has been typed in if any If txt_len& > 0 Then ' don't need all this if user not typing 'disable editing, may not be needed Call EnableWindow(iHnd, 0) ' save user selection / cursor position Call SendMessage(iHnd, EM_GETSEL, ByVal VarPtr(start_pos&), ByVal VarPtr(end_pos&)) ' select all text and cut Call SendMessage(iHnd, EM_SETSEL, 0, ByVal txt_len&) Call SendMessage(iHnd, WM_CUT, 0, 0) End If Call SendMessageSTRING(iHnd, WM_SETTEXT, 0&, Text$) Call SendMessageLong(iHnd, WM_KEYDOWN, 13, 0&) 'Send any typing back to box If txt_len& > 0 Then ' text box is empty, paste saved text Call SendMessage(iHnd, WM_PASTE, 0, 0) ' restore selection / cursor position Call SendMessage(iHnd, EM_SETSEL, start_pos&, ByVal end_pos&) 'enable editing Call EnableWindow(iHnd, 1) End If End Sub
and get lastline
Public Function GetLastLine() On Error Resume Next Dim mywindowclass As Long Dim wtlsplitterwindow As Long, classcpanecontainerex As Long, atlffdd As Long Dim atlfe As Long Dim atlaxwin As Long Dim x As Long Dim richedita As Long mywindowclass = FindWindow("DlgGroupChat Window Class", Form1.Combo1.Text) wtlsplitterwindow = FindWindowEx(mywindowclass, 0&, "SplitterWindowEx", vbNullString) wtlsplitterwindow = FindWindowEx(wtlsplitterwindow, 0&, "SplitterWindowEx", vbNullString) wtlsplitterwindow = FindWindowEx(wtlsplitterwindow, 0&, "SplitterWindowEx", vbNullString) wtlsplitterwindow = FindWindowEx(wtlsplitterwindow, 0&, "SplitterWindowEx", vbNullString) If Form1.Option5.Value = True Then atlfe = GetWindow(wtlsplitterwindow, GW_Child) Else classcpanecontainerex = FindWindowEx(wtlsplitterwindow, 0&, "classcpanecontainerex", vbNullString) atlffdd = GetWindow(classcpanecontainerex, GW_Child) atlfe = GetWindow(atlffdd, GW_Child) End If atlfe = GetWindow(atlfe, GW_HWNDNEXT) atlaxwin = FindWindowEx(atlfe, 0&, "atlaxwin90", vbNullString) atlaxwin = FindWindowEx(atlfe, atlaxwin, "atlaxwin90", vbNullString) x = FindWindowEx(atlaxwin, 0&, "#32770", vbNullString) richedita = FindWindowEx(x, 0&, "richedit20w", vbNullString) Form1.RichTextBox2.Text = GetLastLineTextChat(richedita) End Function
here the greeter updated code, you will see i added 2 options withing a frame π Im gonna move this to vb forums π
May 1, 2012 at 6:47 am #186988String
MemberUsing your room send code above, I meant something like this.
Sub RoomSend(Text As String) Dim iHnd As Long Dim parent, child, alt As Long, classcpanecontainerex As Long, atlffdd As Long Dim start_pos&, end_pos&, txt_len& On Error Resume Next parent = FindWindow("DlgGroupChat Window Class", Form1.Combo1.Text) child = FindWindowEx(parent, 0, "SplitterWindowEx", vbNullString) child = FindWindowEx(child, 0, "SplitterWindowEx", vbNullString) child = FindWindowEx(child, 0, "SplitterWindowEx", vbNullString) child = FindWindowEx(child, 0, "SplitterWindowEx", vbNullString) ''''''''' This in place of option button code''''''''''''''''''''''''''''''' classcpanecontainerex = FindWindowEx(child, 0&, "classcpanecontainerex", vbNullString) If classcpanecontainerex = 0 Then alt = GetWindow(child, GW_Child) Else atlffdd = GetWindow(classcpanecontainerex, GW_Child) alt = GetWindow(atlffdd, GW_Child) End If ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' alt = GetWindow(alt, GW_HWNDNEXT) alt = FindWindowEx(alt, 0, "atlaxwin90", vbNullString) alt = FindWindowEx(alt, 0, "#32770", vbNullString) iHnd = FindWindowEx(alt, 0, "richedit20w", vbNullString) iHnd = FindWindowEx(alt, iHnd, "richedit20w", vbNullString) txt_len& = SendMessage(iHnd, WM_GETTEXTLENGTH, 0, 0) 'Copy Text that has been typed in if any If txt_len& > 0 Then ' don't need all this if user not typing 'disable editing, may not be needed Call EnableWindow(iHnd, 0) 'save user selection / cursor position Call SendMessage(iHnd, EM_GETSEL, ByVal VarPtr(start_pos&), ByVal VarPtr(end_pos&)) ' select all text and cut Call SendMessage(iHnd, EM_SETSEL, 0, ByVal txt_len&) Call SendMessage(iHnd, WM_CUT, 0, 0) End If Call SendMessageSTRING(iHnd, WM_SETTEXT, 0&, Text$) Call SendMessageLong(iHnd, WM_KEYDOWN, 13, 0&) 'Send any typing back to box If txt_len& > 0 Then ' text box is empty, paste saved text Call SendMessage(iHnd, WM_PASTE, 0, 0) ' restore selection / cursor position Call SendMessage(iHnd, EM_SETSEL, start_pos&, ByVal end_pos&) 'enable editing Call EnableWindow(iHnd, 1) End If End Sub
The example you posted works fine though.
-
AuthorPosts
Related
- You must be logged in to reply to this topic.