Tracking Forums, Newsgroups, Maling Lists
Home Scripts Tutorials Tracker Forums
 
  HOME    TRACKER    Visual Basic




SendMessage/WM_GETTEXT Help


grr...

I want to pull text from this window in my QWS3270 program ( basically it's a a 3270 emulation application that allows PCs to connect to IBM mainframes over a TCP/IP connection).


Anyhow, the main window's class is QWS3270X, and the window I want to get text from is called ChildClass

However, when I SendMessage WM_GETTEXT, it keeps returning zero, even when there is clearly stuff there.....

Is there some other command I can use to pull the information? I'm not sure what type of control it is.... my code is correct too, it is finding the right windows, just returning ZERO when I want to get the text...

any help? thx.


edit: FORGOT TO SAY I AM TRYING TO GET TEXT AND WRITE TO A 3270 EMULATOR WINDOW!




View Complete Forum Thread with Replies

See Related Forum Messages: Follow the Links Below to View Complete Thread
SendMessage And WM_GETTEXT Crashes VB6
EDIT: Go to bottom of post

I have tried to go about doing this in so many different ways, but they all result in the same thing: After sending the message to my target, VB6 "Closed unexpectedly, please tell Microsoft about this error....", etc. I am trying to retrieve the text of Internet Explorer's status bar.

Code:
'(from module)
Public Const WM_GETTEXT = &HD
Public Const WM_GETTEXTLENGTH As Long = &HE

Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

- - -- - -- - - - -- - - - - - - -- - - - - -- - - - -- - -- -

Dim lngLen&
Dim szBuffer$

lngLen = SendMessage(hWndStatusBar, WM_GETTEXTLENGTH, 0&, 0&)
szBuffer = Space$(lngLen)

SendMessage hWndStatusBar, WM_GETTEXT, lngLen, szBuffer
Debug.Print szBuffer
I am positive that the hWnd is correct as it matches the one that Spy++ and the AutoIt window tool displays. If you feel it is necessary I include the code used to derive the child hWnd, it's not a problem.

Is IE's status bar protected from WM_GETTEXT perhaps?

I have tried doing the code many different ways, i was orignally doing it without setting space() to the buffer first, but even after doing that, it still crashes. All help is appreciated.

EDIT::: Ended up just using SHDocVw and Microsoft Internet Controls instead. Much easier, haha.

Wm_gettext
this is quite a newb question, but then again I am a newb VB scripter...

I just dont get how WM_GETTEXT works with SendMessage,
my test is down below, plz tell me whats wrong.


Code:
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Any) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Const WM_GETTEXT = &HD

Private Sub Form_Load()
Dim lHwnd As Long
Dim lText As String
lHwnd = FindWindow(vbNullString, "Untiteled - Notepad")
SendMessage lHwnd, WM_GETTEXT, 256, lText
MsgBox lText & " - " & lHwnd
End Sub

Wm_gettext
Can anyone explain to me how it works?

WM_GETTEXT
Call SendMessage(hwnd1, WM_GETTEXT, iLength, ByVal ReceivedText)

gets a Bad DLL Calling Convention

If I remove the ByVal I get some automation errors.

Please help.

P.S. Everything is declared, all hWnd's are working, iLength is a non-zero Long from WM_GETTEXTLENGTH, and WM_SETTEXT works.

------------------
Tom Young, 14 Year Old
tyoung@stny.rr.com
ICQ: 15743470 Add Me ICQ Me
AIM: TomY10
PERL, JavaScript and VB Programmer

WM_GETTEXT
Hi all,

I'm trying to capture the text from a popup window (i.e. a MsgBox). The code
:

Const WM_GETTEXT = &HD
Const WM_GETTEXTLENGTH = &HE

Dim lHandle As Long
Dim length As Long
Dim result As Long
Dim strtmp As String

lHandle = FindWindow(vbNullString, "Some Popup")

If lHandle <> 0 Then

length = SendMessage(lHandle, WM_GETTEXTLENGTH, ByVal 0, ByVal 0) + 1

strtmp = Space(length - 1)
result = SendMessage(lHandle, WM_GETTEXT, ByVal length, ByVal strtmp)

End If

gives me the title of the popup window ('Some Popup') but not the msg on the
popup. How kan I get the message?

Postmessage &amp; WM_GETTEXT
Sorry ladies and gentlemen, but i still have one question on this matter. I have the handle of a custom made control on an external application and i need to get the text out of it. I can get its handle, but thats about it. I asked the dood who wrote the program, and he said its not based on any common controls as they couldn't do what he needed the "textbox" to do. I've studied this issue little bit and came up with the solution that after getting the "controls" handle, i need to use the postmessage/sendmessage with the wm_gettext parameter with it. But, i didn't have any luck with this.

Heres the main part of the code:

WindowHandle = findwindow(vbnullstring, "Programs title")
ControlHandle = findwindowex(WindowHandle, byval 0&, "ChatTextClass", vbnullstring)
Call SendMessage(ControlHandle, WM_GETTEXT, 0, textstring)

It would seem that this should result to to the text to be copied to the textstring-variable, but it doesn't return me anything, not 0 or 1, just nothing. Any help would be appreciated.

Wm_gettext -- Improper Use?
Im trying to retrieve the text from a deadAIM message, I click command1 and combo1 fills with all the open/tabbed IMs, then i click command3 to get the text contained in the window but i'm having so many problems that its ridiculous, ive tried many different methods and examples ive seen posted but each fails in its own unique way. Right now with the code contained richtextbox1 fills with a number( i think the # of chars contained in the textbox but im not sure) can anyone tell me why it wont grab the text and what im doing wrong? I would really appreciate any help as for me, being quite horrible at programming ... i .. really dont know what to do



Code:
Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetWindowTextLength Lib "user32.dll" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Private Declare Function GetClassName Lib "user32.dll" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Declare Function SendMessageByNum& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long)
Private Declare Function EnableWindow Lib "user32" (ByVal hwnd As Long, ByVal fEnable As Long) As Long
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 SendMessageLong Lib "user32" Alias "SendMessageA" (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 Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const BM_SETCHECK = &HF1
Private Const BM_GETCHECK = &HF0
Private Const CB_GETCOUNT = &H146
Private Const CB_GETLBTEXT = &H148
Private Const CB_SETCURSEL = &H14E
Private Const LB_GETCOUNT = &H18B
Private Const LB_GETTEXT = &H189
Private Const LB_SETCURSEL = &H186
Private Const SW_HIDE = 0
Private Const SW_SHOW = 5
Private Const VK_SPACE = &H20
Private Const WM_CHAR = &H102
Private Const WM_CLOSE = &H10
Private Const WM_GETTEXT = &HD
Private Const WM_GETTEXTLENGTH = &HE
Private Const WM_KEYDOWN = &H100
Private Const WM_KEYUP = &H101
Private Const WM_LBUTTONDBLCLK = &H203
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Const WM_RBUTTONDOWN = &H204
Private Const WM_RBUTTONUP = &H205
Private Const WM_SETTEXT = &HC

Private Sub Command1_Click()

Dim lhWndParent As Long, lhWndChild As Long, lCaption As Long
Dim buf As String * 256
Dim winTitle As String
Dim winLength As Long
Combo1.Clear
lhWndParent = FindWindow("DeadAIM_TabbedIM", vbNullString)
Do
lhWndChild = FindWindowEx(lhWndParent, lhWndChild, "AIM_IMessage", vbNullString)
If lhWndChild Then

winLength = GetWindowText(lhWndChild, buf, Len(buf))
winTitle = Left$(buf, winLength)

Combo1.AddItem winTitle

End If
Loop While lhWndChild
End Sub

Private Sub Command3_Click()
Dim lResult As String
Dim sText As Long
Dim lhWndParentx As Long, lhWndChildx As Long, lhWndParentxx As Long
Dim wincaption As String
Dim lngNotepad As Long, editx As Long
Dim theshiz As String
Label1.Caption = Combo1.Text
wincaption = Label1.Caption
lhWndParentx = FindWindow("DeadAIM_TabbedIM", vbNullString)
'lhWndParentxx = FindWindowEx(lhWndParentx, 0&, "AIM_IMessage", wincaption)
lhWndParentxx = FindWindowEx(lhWndParentx, 0&, "AIM_IMessage", wincaption)

lhWndChildx = FindWindowEx(lhWndParentxx, 0&, "WndAte32Class", "AteWindow")
lhwndchildxx = FindWindowEx(lhWndChildx, 0&, "Ate32Class", 0&)
' RichTextBox1.Text = GetText(lhWndChildx)

theshiz = SendMessage(lhWndChildx, WM_GETTEXT, 0&, 0&)


RichTextBox1.Text = theshiz

End Sub

Wm_gettext + Ss_icon
have anybody experience with that kind of thing. I try to get the text from a control and also the icons in the control Like For example:

hello

i try google and search around this forum but no luck

WM_GETTEXT With Richtextbox
is there away you can use WM_GETTEXT or something similar to also get colours, pictures etc from a rich text box. because atm all i get is the plain text.

thanks.

WM_GETTEXT On RICHEDIT But No Text
Hi,

I'm trying to get the text out of another apps "RICHEDIT" using the usual code (which i found on this board):


Code:
hw = 1180618
If hw Then
chw = FindWindowEx(hw, 0, "RICHEDIT", vbNullString)
If chw Then
n = SendMessage(chw, WM_GETTEXTLENGTH, 0&, ByVal 0&)
If n > 0 Then
s = Space$(n + 4)
SendMessage chw, WM_GETTEXT, n, ByVal s
Text1.Text = s
Else
Text1.Text = "No text!"
End If
End If
End Sub
This code works perfect on a WordPads "RICHEDIT50W" but on that apps "RICHEDIT" it doesn't. It returns the right text length but no text.
I also tried "spy_text.zip" from Birchy (found here: http://www.xtremevbtalk.com/showthread.php?t=267610 ) which also shows no text for the "RICHEDIT".

I logged the messages send by the above code:
to WordPad:

Quote:




<04816> 000E0776 S WM_GETTEXTLENGTH wParam:00000000 lParam:00000000
<04817> 000E0776 R WM_GETTEXTLENGTH cch:14 [lResult:0000000E]
<04818> 000E0776 S WM_GETTEXT cchTextMax:14 lpszText:0006F670 [wParam:0000000E lParam:0006F670]
<04819> 000E0776 R WM_GETTEXT cchCopied:13 lpszText:0006F670 ("h") [lResult:0000000D]




to the other app:

Quote:




<00475> 000206F2 S WM_GETTEXTLENGTH wParam:00000000 lParam:00000000
<00476> 000206F2 R WM_GETTEXTLENGTH cch:705 [lResult:000002C1]
<00477> 000206F2 S WM_GETTEXT cchTextMax:705 lpszText:0012ED2C [wParam:000002C1 lParam:0012ED2C]
<00478> 000206F2 R WM_GETTEXT cchCopied:0 lpszText:0012F65C ("<check>: Hello...") [lResult:00000000]




Why is cchCopied=0 when lpszTest has actually some text....

Any ideas on that? Maybe I need to user other messages?

Thanks


Ps: Great board and great ppl! Found so many solutions here.

Retrieving Text With Wm_gettext
I'm using the below code to try and get the text from an aim instant message window. It finds the window and I can send text to the textbox but whenever I try and get the text from the textbox, wm_gettextlength returns 0 and wm_gettext also returns nothing. Please help going crazy.


Code:
Dim aimimessage As Long, wndateclass As Long, ateclass As Long
aimimessage = FindWindow("aim_imessage", vbNullString)
wndateclass = FindWindowEx(aimimessage, 0&, "wndate32class", vbNullString)
ateclass = FindWindowEx(wndateclass, 0&, "ate32class", vbNullString)
Dim TheText As String, TL As Long
TL = SendMessageLong(ateclass, WM_GETTEXTLENGTH, 0&, 0&)
TheText = String(TL + 1, " ")
Call SendMessageByString(ateclass, WM_GETTEXT, TL + 1, TheText)
TheText = Left(TheText, TL)

Help Getting Text From A Weird Textbox With WM_GETTEXT
theres this game i play its a text game and the textbox that has all the words in it has a caption property and i cant figure out how to get the text inside the window, can someone help me out please, i think i could with sendtext and WM_GETTEXT but i dont know how to use them, i have the window's handle already too.
EDIT: i got wm_gettext to work, but it only retrieves the caption of the window/textbox...i think its a usercontrol, if it was how would i get the handle for the textbox?i already tried finding more child windows, but it returned a zero with FindWindowEx(GHWND, GW_CHILD) and i know i have the right window handle because i tried WM_SETTEXT and changed the text of the usercontrol, but i cant get the text inside of the usercontrol.pllease help

API - WM_GETTEXT Is Failing To Work Correctly....
Hi-

I am using the postmessage function and the WM_GETTEXT constant to obtain the text from a window but it doesnt want to work with this one window. The coding I have works on other windows but for some reason I can not get the text from this particular window. It is not a password box or anything, its just a window. I checked to make sure it was enabled and it is enabled. Does anyone know how I can get the text from the window or have any ideas why I can't get the text? Thanks.

Code segment I am using:

' Display the title bar text of window Form1 by sending the
' appropriate messages to it.
Dim wintext as string ' receives the copied text from the target window
Dim slength as Long ' length of the window text
Dim retval as Long ' return value of message

' First, determine how much space is necessary for the buffer.
' (1 is added for the terminating null character.)
slength = SendMessage(wnd, WM_GETTEXTLENGTH, byval CLng(0), byval CLng(0)) + 1
' Make enough room in the buffer to receive the text.
wintext = Space(slength)
' Copy the target window's text into the buffer.
retval = SendMessage(wnd, WM_GETTEXT, byval slength, byval wintext)
' Remove the terminating null and extra space from the buffer.
wintext = Left(wintext, retval)
' Display the result.
List1.AddItem wintext





FaRd0wN

Window Doesn&#039;t Paint Properly, Scroll, After Recieving WM_GETTEXT
^----- top.

Why would sending these messages mess with the window's scrolling and painting?

SendMessage Help
I'm trying to send the key F on the window that i find but i dont seem to be able to figure out the F key command to send it. I am able to end the program but not do anything else.

Here is my code:

Code:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_CLOSE = &H10
Private Const WM_KEYDOWN As Long = &H100

Code:
Private Sub Command1_Click()
Dim WinHandle As String


WinHandle = FindWindow(vbNullString, "MyProg")
SendMessage WinHandle, WM_KEYDOWN, 46, 0
End Sub
From my research the 46 = F but i could be wrong

Thanks,
David

Sendmessage
Hai all,

i have 3 questions

If i have the handles

1. Can i send a message to a Invisible window?
2. Can i send a message to a Disabled Window?
3. Can i send a message to a Window that does not have a Text

Pls.

Help With SendMessage
I have got SendMessage to work basically, but am having a few problems.

How do I send a combination of keys to a program, like shift+2 or ctrl+2? I tried doing keydown shift, then keydown 2, then keyup 2, then keyup shift, but it didn't work.

how do I send something that simulates hitting the Enter key?

Also, I tried to do this with notepad, I could get WM_PASTE to work, but using WM_KEYDOWN and WM_KEYUP didn't do anything, any idea why?

Thanks in advance

SendMessage
hi there,

its me again. it happend that i read thru a thread these days and there was this:

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_GETTEXT = &HD

Private Function GetWindowText(ByVal hwnd) As String
Dim s As String
Dim n As Long
s = Space$(255)
n = SendMessage(hwnd, WM_GETTEXT, 250, ByVal s)
GetWindowText = Left$(s, n)
End Function

and i thougth thats interesting, lets see, unfortunately, for me it just returns the caption of windows in question. is there a way to retrieve the complete text from this 'form' or have i just gotten something completely wrong. i already looked it up on allapi.net but no joy either.

thx
mike

Sendmessage...
Hi. Is there a way to use the SendMessage API to send a combination of keys? Ex: Shift+t "This is a test" + Enter

MaxMel

Sendmessage
what is the most efficent way to send a string (filename + path) to a class "Edit" box in a non-vb app.

i am presently using a puttextintoapp function that i found on the web, which sends the msg perfectly on winxp, and some 2000 machines. on other 2000 machines it fails or sends a different string! message. do the class names (ie edit) vary between OS and different language OS. on some machines nothing is sent.

it works by enumerating all windows to retrieve the open/save as dialog box, then enumerates all child windows for the "Edit" class, then sends the filepath string.

so i am basically wondering if there is a compiled function anywhere that is broadly accepted to be able to send a text message to any os?

tall order, but all help (+code) appreciated

thanks

SendMessage()
i use

Call SendMessage(glHandle, WM_CLOSE, 0&, 0&)

to close a program

can i use another command with sendmessage to minimize a form or to show or to hide a form from another program?

SendMessage
I'm confused, im trying to send F1 to my program but its not working at all, here is my code:

SendMessage UOhWnd, WM_KEYDOWN, 0, VK_F1

Help would be greatly appreciated, thanks in advance.

(I'm posting this here because the API forum seems to get about 4 posts a day)

Help With SendMessage API ...
Hello to All Forum Members ;

When ever I see any example using SendMessage call , I always see few constants defined at the top of the Code window. I could gather information from Spy++ IDE tool as well as the desciption of each message from MSDN. But yet , I don't know how to get that constant part of it. For example , look at the following ...


Code:
SendMessage lngH_Wnd, CB_LIMITTEXT&, lngMaxLength, 0&

Now in this , earlier ...


Code:
Private Const CB_LIMITTEXT& = &H141

is defined. My problem is , from where to get this &H141 part of that constant. I've taken this message just an example. I face the same program will all and hence not able to use the power of this API.

Please help me to learn more and equip myself with this API use as well.

Waiting for your valuable reply ...

SendMessage
hey, i finally found the hwnd of my child window i would like to send a keypress to..

im doing it using SendMessage, but it doesnt work 100% of the time..

charcode = Asc("s")
key = VkKeyScan(charcode)
DoEvents
SendMessage childwin, WM_SETFOCUS, 0, 0
DoEvents
SendMessage childwin, WM_KEYDOWN, key, MapVirtualKey(key, 0)
DoEvents
SendMessage childwin, WM_CHAR, charcode, MapVirtualKey(key, 0)
DoEvents
SendMessage childwin, WM_KEYUP, key, MapVirtualKey(key, 0)
DoEvents
SendMessage childwin, WM_SETFOCUS, 0, 0


thats what i use to send the keystroke of the key s

what do i change to make it work better...also..how can i simulate holding it down... (just never send the key up? )

also, after sending the key with my program...and then if i go to the window and try to do it manually..it wont work until i click off the child window then back on..

weird...any tips..thanks

Sendmessage With Alt+A
Hi,

How do i send the key combination of "Hold Alt and press A" (Alt+A), using sendmessage?

SendMessage
Hi,
I was looking at the messages sent to a rich text box in Spy++ and I was wondering how I could send a SendMessage like the following one which came up (I want to change certain text's colour):

Quote:





Originally Posted by Spy ++




S EM_SETCHARFORMAT uFlags:SCF_SELECTION lpFmt:0012FD68

Properties:
wParam: 00000001
lParam: 0012FD68 (POINTER to CHARFORMAT)
cbsize: 60
dwmask: 40000000
dwEffects: 00000000
yHeight: 0
yOffset: 0
crTextColor: 00FFE600
bCharSet: 00
bPitchAndFamily: 00
szFaceName: 00BA96F92 (Pointer to string)




Thanks in advance, Tom

SendMessage
Ok. I have been working for a long time to get about 1 line of code to work. I am trying to do some stuff in "Outlook". Press Alt-T to go to Tools menu, Press A to go setup Accounts. Here is what I have:


Code:
Private Sub Command1_Click()
'SendKeys (vbTab)
Dim THWnd As Variant
THWnd = FindWindow(vbNullString, "Microsoft Outlook")
'SendMessage THWnd, "%t", WM_Press
SendMessage THWnd, WM_KEYDOWN, "%t", 0 'variable not defined
'http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/messagesandmessagequeues/messagesandmessagequeuesreference/messagesandmessagequeuesfunctions/sendmessage.asp
'http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/KeyboardInput/KeyboardInputReference/KeyboardInputMessages/WM_CHAR.asp
'http://www.mentalis.org/apilist/SendMessage.shtml
End Sub


Code:
Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

SendMessage
I am trying to send a message to a chat window using SendMessage but am unable to grab the window handle (So it seems). This is my code:

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 SendMessageSTRING Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
Private Declare Function SendMessageLONG Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Private Const WM_SETTEXT = &HC

Private Sub CMDSENDEDIT_Click()
Dim lNotepadHwnd As Long
Dim lNotepadEdit As Long
Dim sCaption As String

lNotepadHwnd = FindWindow("#32770", vbNullString)
lNotepadEdit = FindWindowEx(lNotepadHwnd, 0&, "RichEdit20A", vbNullString)
lNotepadEdit = FindWindowEx(lNotepadHwnd, lNotepadEdit, "RichEdit20A", vbNullString)
If Not lNotepadEdit Then MsgBox "no handle"

sCaption = InputBox("What do you want to say?")

SendMessageSTRING lNotepadEdit, WM_SETTEXT, 256, sCaption
End Sub

As you can see I used notepad at first with complete success. I have just changed the handle titles but after that I just get the "no handle" message. Is there something I should be doing in the declarations? Hopefully someone can help me on this one as I have been puzzling over this one for ages.

Sendmessage Help
I know this has been asked a hurdred times I'm sure, but I don't understand this.

It seems that when sendmessage is called, there are several things that must be sent. For example:
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long

I know what some of this does but I'm looking at the API Guide info.

· Msg
Specifies the message to be sent.

· wParam
Specifies additional message-specific information.

· lParam
Specifies additional message-specific information.

What are the possible messages to send? And what are the additional information for the messages? I assume there is a list somewhere?

Sendmessage Help
I've been fiddling with this for awhile, and it probabaly is a simple mistake, but I can't get sendmessage to work. The app so far finds the window and generates the string it needs to send, but I can't get it to send.

What would be an example of a sendmessage call that simply sends a string to a window?

P.S: I've used SendKeys before, but I want sendmessage since it is more fool proof (sendkeys is glitchy sometimes)

About SendMessage
hi, I'm using SendMessage for getting a text in a internet explorer window.
I'm trapping the combination of a right click + shift with no problems, and when this occurs I'd want to use the sendmessage functión to get the word what I clic. The problem is that the word is not selected and and then EM_GETSEL doesn-t work proporly since I just did a right clic on the word.
Any ideas?


retval = SendMessage(handle, EM_GETSEL, startpos, endpos)

SendMessage Help
I'm trying to figure out the whole sendmessage API. So far I have figured out how to get the handle of a window with a varying title and managed to put that handle in a variable. I'm trying to make a program that will automate some repetative keypresses and currently I'm using SendKeys and we all know that is highly unreliable. Every example I've come across doesn't show how to send key presses, they just show how to close windows, change location, etc. If someone could, please give me a small example of sending some key presses to notepad or something like that, it would be most helpful.

Need Help With SendMessage
I have written a small sample VB program that should allow a user to type in a URL and have that URL sent to an opened Web Browser's ComoBox field. The ComboBox recieves something, but it is not what I expected. Can someone help me find out if I am Sending the right message or is there a better way to do this.

I have added the Code below so you can what it is I am trying to do.

Everything seems to be working okay except the SendMessage function. Try it out and let me know what happens.

I am running WinXP Pro with IE6. This code is executing in VB6.

Thanks in advance for any help you can give me.


=== start of frmMain.frm ===

VERSION 5.00
Begin VB.Form frmMain
Caption = "Automating Internet Explorer"
ClientHeight = 1125
ClientLeft = 60
ClientTop = 450
ClientWidth = 7140
LinkTopic = "Form1"
ScaleHeight = 1125
ScaleWidth = 7140
StartUpPosition = 3 'Windows Default
Begin VB.CommandButton btnSend
Caption = "Send"
Height = 345
Left = 2970
TabIndex = 2
Top = 585
Width = 1320
End
Begin VB.TextBox txtURL
Height = 285
Left = 600
TabIndex = 1
Top = 150
Width = 6285
End
Begin VB.Label Label1
Caption = "URL:"
Height = 225
Left = 120
TabIndex = 0
Top = 195
Width = 555
End
End
Attribute VB_Name = "frmMain"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

Private Sub btnSend_Click()

If Not InStr(1, txtURL.Text, "http") Then
txtURL.Text = "http://" + txtURL.Text
End If

SetIEText

End Sub

Private Sub Form_Load()

txtURL.Text = ""
btnSend.Enabled = False

End Sub

Private Sub SetIEText()

Dim bCont As Boolean

Dim hWndOver As Long
Dim hWndPrev As Long
Dim hWndNext As Long

hWndOver = GetForegroundWindow()

If hWndOver > 0 Then

'Lets check to see if this is Internet Explorer
If IsInternetExplorer(hWndOver) Then
ProcessIEWindow (hWndOver)
Else
'We must seach each window to see if we can find the IE
'window we are looking for.
bCont = True
hWndPrev = hWndOver

Do While bCont

hWndNext = GetNextWindow(hWndPrev, GW_HWNDNEXT)

If hWndNext > 0 Then
If IsInternetExplorer(hWndNext) Then
ProcessIEWindow (hWndNext)
bCont = False
Else
hWndPrev = hWndNext
End If
Else
bCont = False
End If

Loop

End If
End If

End Sub

Private Function IsInternetExplorer(hWndHandle As Long) As Boolean

Dim sWindowText As String * 100
Dim sClassName As String * 100
Dim r As Long
Dim retval As Boolean

retval = False

'Get the Window Text
r = GetWindowText(hWndHandle, sWindowText, 100)

'Get the Window Class Name
r = GetClassName(hWndHandle, sClassName, 100)

If InStr(1, sClassName, "IEFrame") Then
If InStr(1, sWindowText, "Microsoft Internet Explorer") Then
retval = True
End If
End If

IsInternetExplorer = retval

End Function

Private Sub ProcessIEWindow(hWndHandle As Long)

Dim r As Long
Dim sURL As String * 50

r = 1

bFoundComboBoxEx = False
bFoundComboBox = False
bFoundEdit = False
IEURL = 0
NumberofLoops = 0

'Keep looking for the Right ComboBox Control.
Do While (r)
r = EnumChildWindows(hWndHandle, AddressOf GetChildWindow, 0)
Loop

'We can either get here because we found the ComboBox Edit Control or
'we looped 20 times (too many to find the control based on its position).
If bFoundEdit Then
'Send the URL to the IE Window
sURL = Trim(txtURL.Text)

r = SendMessage(IEURL, WM_SETTEXT, 0, sURL)
txtURL.Text = ""
Else
MsgBox "The ComboBox Edit Control was not found."
End If

End Sub

Private Sub txtURL_Change()

If Len(txtURL.Text) > 3 Then
btnSend.Enabled = True
Else
btnSend.Enabled = False
End If

End Sub

=== end of form ====


=== start of general.bas module ===

Attribute VB_Name = "General"

'Globals
Public bFoundComboBoxEx As Boolean
Public bFoundComboBox As Boolean
Public bFoundEdit As Boolean
Public IEURL As Long
Public NumberofLoops As Integer

'Const
Public Const GW_HWNDNEXT = 2
Public Const WM_SETTEXT = &HC


'Declares
Public Declare Function GetClassName Lib "user32" Alias _
"GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As _
String, ByVal nMaxCount As Long) As Long

Public Declare Function GetWindowText Lib "user32" Alias _
"GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, _
ByVal cch As Long) As Long

Public Declare Function GetForegroundWindow Lib "user32" () As Long

Public Declare Function GetNextWindow Lib "user32" Alias "GetWindow" _
(ByVal hwnd As Long, ByVal wFlag As Long) As Long

Public Declare Function EnumChildWindows Lib "user32" _
(ByVal hWndParent As Long, ByVal lpEnumFunc As Long, _
ByVal lParam As Long) As Long

Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long

=== end of general.bas module ===


=== start of callback.bas module ===

Attribute VB_Name = "CallBack"

Function GetChildWindow(ByVal hChild As Long, ByVal lParam As Long) As Long

'The order of windows to look for:
'Starting with the IFRAME which was found by the IsInternetExplorer function
'Next is WorkerW. One will be a dud.
'We must find the WorkerW that has children.
'Next is ReBarWindow
'Next is ComboBoxEx
'Next is ComboBox
'Next is the Text of the combobox. This is the handle we will use
'to send the new URL to.

Dim wClass As String
Dim r As Long

wClass = Space(64)
r = GetClassName(hChild, wClass, 63)
wClass = Left(wClass, r)

If InStr(1, wClass, "ComboBoxEx32") Then
bFoundComboBoxEx = True
End If

If bFoundComboBoxEx And InStr(1, wClass, "ComboBox") Then
bFoundComboBox = True
End If

If bFoundComboBox And InStr(1, wClass, "Edit") Then
bFoundEdit = True
End If

NumberofLoops = NumberofLoops + 1

If bFoundEdit Then
IEURL = hChild
GetChildWindow = 0
Else
If NumberofLoops > 20 Then
GetChildWindow = 0
Else
GetChildWindow = 1
End If
End If



End Function

=== end of callback.bas module ===

ACK! Sendmessage...
I'm trying to send text to DeadAIM (with tabbed windows) and i'm having issues....here's the code:


Code:
Private Sub Form_Load()


FindUser: 'Finds the SN of the user
User = InputBox("Enter the EXACT user name you are using:", "Username")
User = User & " - Instant Messages"
mWnd = FindWindow("DeadAIM_TabbedIM", User)


FindIM: 'Gets the SN of the person you're trying to IM
IM = InputBox("Enter the EXACT screenname of the buddy you are IMing:", "IM")
IM = IM & " - Instant Message"
nWnd = FindWindowEx(mWnd, 0&, "AIM_IMessage", IM)


If nWnd = 0 Then 'If you're directly connected, the caption of the window changes,
'even though DeadAIM hides that
IM = Replace(IM, " - Instant Message", " - Direct Instant Message")
nWnd = FindWindowEx(mWnd, 0&, "AIM_IMessage", IM)
End If


Dim OkNo As VbMsgBoxResult
If mWnd = 0 Then 'checks to make sure there's a window open on the user's SN
OkNo = MsgBox("Couldn't find that Username. Spaces count!", vbRetryCancel, "Error in Username")
If OkNo = vbRetry Then GoTo FindUser
If OkNo = vbCancel Then Unload Me: Exit Sub
End If


If nWnd = 0 Then 'Checks to make sure there's a buddy with that SN you have a
'window for
OkNo = MsgBox("Couldn't find specified IM window. Spaces count!", vbRetryCancel, "Error in Username")
If OkNo = vbRetry Then GoTo FindIM
If OkNo = vbCancel Then Unload Me
End If


eWnd = FindWindowEx(nWnd, 0&, "Edit", vbNullString) 'I think this is the class for
'the textbox...I used Spy++ and
'it seems to make sense
'MsgBox eWnd 'just to check. it finds it alright, so i've commented it.
End Sub

Private Sub Text1_Change()
Text2.Text = Trim(translate(Text1.Text)) 'ignore this. this is just the actual purpose
'of the program, it works perfectly, so i
'won't bother you guys with it.
'MsgBox SendMessage(eWnd, WM_GETTEXT, ByVal 6000&, ByVal Text2.Text) 'a failed attempt
'at getting the text from the
'box, just to check if that
'was the right control.
'i have no idea...
MsgBox SendMessage(eWnd, WM_SETTEXT, 0&, ByVal Text2.Text) 'always returns 0...this is
'the problem.
End Sub


The problem is that last line. It returns 0, so I know it's not working, and I have no idea what the problem is. I don't know if anyone's tried to do this before, probably not...I just do weird things to save me time, and end up behind because i spend so long on the programs .

SendMessage API
Please help! If anybody knows

I need to insert a text in the textbox at the cursor position, I use SendMessage function to determine the cursor position in the textbox.

I have the following code:

Code:
Public Declare Function SendMessage Lib "user32" Alias _
"SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long

Public Const EM_GETLINE = &HC4
Public Const EM_GETLINECOUNT = &HBA
Public Const EM_LINEFROMCHAR = &HC9
Public Const EM_LINEINDEX = &HBB
Public Const EM_LINELENGTH = &HC1
Public Const EM_REPLACESEL = &HC2

Public Function ShowInfo(oControl As TextBox)
'********************************************************************
' Purpose: Runs all the functions to get the necessary information
' in order to create the information text string. The text
' string is then displayed in the label control.
'********************************************************************
On Local Error Resume Next

Dim strInfo As String
Dim lCurPos As Long
Dim lCurLineNum As Long, lTotLines As Long, lLineLength
Dim lNumBChar As Long
Dim sCurLine As String * 25

'Determine Cursor Position
If oControl.SelLength = 0 Then
lCurPos = oControl.SelStart
Else
lCurPos = oControl.SelStart + oControl.SelLength
End If

'Determine Line Number
lCurLineNum = SendMessage(oControl.hwnd, EM_LINEFROMCHAR, lCurPos, 0)

'Determine the Line Length
lLineLength = SendMessage(oControl.hwnd, EM_LINELENGTH, lCurPos, 0)

'Determine the number of characters in lines before current
'cursor position. Note that the number of characters includes a
'carriage return and line feed characters at the end of each
'line.
lNumBChar = SendMessage(oControl.hwnd, EM_LINEINDEX, lCurLineNum, 0)

'Determine Total number of lines
lTotLines = SendMessage(oControl.hwnd, EM_GETLINECOUNT, 0, 0)

' 'Determine Current Line
sCurLine = Space(25)
Call SendMessage(oControl.hwnd, EM_GETLINE, lCurLineNum, sCurLine)


End Function

In the form:

Code:
Private Sub txtFormula_KeyUp(KeyCode As Integer, Shift As Integer)

ShowInfo txtFormula

End Sub

Private Sub txtFormula_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

ShowInfo txtFormula

End Sub
at the button_click:

Code:
Call SendMessage(txtFormula.hwnd, EM_REPLACESEL, 0, Text)
ShowInfo txtFormula

As a result I have Application Error:
"The memory could not be read"

What am I doing wrong?

Sendmessage ???
im trying to use sendmessage to send any text to the game window... just doesnt work- heres my code:

Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wmsg As Long, ByVal wparam As Long, ByVal lparam As Long) As Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" (ByVal hWndl As Long, ByVal hWnd2 As Long, ByVal lpszl As String, ByVal lpsz2 As String) As Long
Const WM_CLOSE = &H10
Const WM_SETTEXT As Long = &HC
Private Sub Command1_Click()
txt = "Splunge"
SendMessage UOWindow, WM_SETTEXT, 0, ByVal txt
End Sub

Private Sub Form_Load()
Dim UOWindow As Long, txt As String
UOWindow = FindWindow("Ultima Online", vbNullString)

'check to make sure UO is open
If UOWindow = 0 Then
MsgBox "UONeo can't start when Ultima Online isn't running!"
Unload Me
Exit Sub
End If

'executes if UO is open
Form1.Visible = True
End Sub




i would also like to know how to send F keys or alt keys to the game window as well...

VB.net API SendMessage
I'm having problems with my API module. After hours of searching i found that you need to use DLLIMPORT to use functions in the user32.dll, but i can't seem to send a WM_GETTEXT message to work. Thank you for your help. Here's the sub that calls the sendmessage:

Function getImSn() As String
Dim NameLen As Integer, Buffer As String, q As Integer
NameLen = SendMessage(findIM, WM_GETTEXTLENGTH, 0, 0)
MsgBox(NameLen)
For q = 0 To NameLen
Buffer = Buffer + Chr(0)
Next
MsgBox(SendMessage(findIM, WM_gettext, 15, Buffer))
End Function
--------------------------------------------------------------------
the wm_gettextlenght works
and if i do wm_settext that works too, so I think the sendmessage function is fine. Thanks again.

About SendMessage API
SendMessage is a very usefull api. Can anybody tell me from where I can get its messages list and help.

SendMessage API
I posted a query about this on the Office Integration board, maybe here is more appropriate:

My office is using an application I built using Access, called "Request for Service", which notifies staff when a customer has "signed in" for service at the front desk. Originally, staff had to refresh a form and look for customers requesting a service that their unit provides, or customers reqesting to see them personally. That is, until I added a timer routine that tests the underlying query for a user's name (requested by a customer) or a team's type of service and calls a system modal msgbox that says "You have a customer!" It's a great improvement because even if the DB application isn't the active application, its taskbar button flashes blue, and when you click the button, you get the MsgBox.

What I wanted when I started this was a msgbox that starts out on top of all applications, just like the one MS Outlook can call when you have a new email. I can't seem to make Access do that.

This thread speaks of an API function called SendMessage, but I'm too dense to put the conversation pieces together into a routine I could write and test in Access. The Access Help index doesn't list many of the functions you folks are talking about. Any suggestions?

How To Use SendMessage API
Actually, I have read a lot of articles and examples on SendMessage API but none of them really tell the whole story..

Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any _
) As Long


Parameter Information :

· hWnd
Identifies the window whose window procedure will receive the message. If this parameter is HWND_BROADCAST, the message is sent to all top-level windows in the system, including disabled or invisible unowned windows, overlapped windows, and pop-up windows; but the message is not sent to child windows.

· Msg
Specifies the message to be sent.

· wParam
Specifies additional message-specific information.

· lParam
Specifies additional message-specific information.


Return Values :

The return value specifies the result of the message processing and depends on the message sent.

*Above information are from ALLAPI.NET*

----------------------------------------------

OK.. What I really can't find out is this:

1. · hWnd -> How am I going to get this info? Can I use FindWindow to return the Text in TitleBar and use as .hWnd?

2. .Msg -> What's the syntax to write a message?

3. What is .wParam and .lparam?

4. If I'm not wrong, there must be a list of object naming convention that identifies each control in the Form! Example, Label = lbl or something like that! Is this required when I want to send message to a control(Command Button) in other application?? How to get those name and info?

Ahh... If there is a simple and clearer example coding then i would be a GREAT HELP... So far, all example I read were too difficult to understand.. I want to have a clear and SIMPLE example on using SendMessage API..

Thank you very much!

SendMessage
What is the window you are sending to? A textbox, a form? And where are you getting HWin from?

SendMessage
This follows on from a question I asked about saving a web page. Because the newer versions of IE ignore the DONTPROMPTUSER parameter when doing a 'save as' I figured the best/easiest way to overcome the dialogue box which appears (when I dont want it to) would be with subclassing. Having not tried any subclassing befroe I also looked forward to learning something new! So far I've managed to get hold of the handle of the 'Save As' window and the handle of the Save button on it. All I need to do now is send a message to the button and thats where I'm stuck :-( There seems to be very little (or maybe just hard to find) information in MSDN about SendMessage so any advice on what messages to send or where to look for info would be much appreciated.

Tim.

SendMessage API
This is the code that i have in the module... Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long


this is the code that i have on the form...
Const Handle = "00000DDC"
Const Message = "testing"

Private Sub Command1_Click()
Call SendMessage(Handle, Message, 0, 0)

End Sub

I used spy++ to get the handle of the window... I think its the right one but i am not sure. I also dont know what to change the parameters too.. please help i know nothing about api.

SendMessage To AIM
i want to make it so it automatically asks to open a direct connection.. so i thought this code would work below but it doesnt? anyhelp would be appreciated.

Code:
aimimessage = FindWindow("aim_imessage", vbNullString)
SendMessage aimimessage, WM_KEYDOWN, VK_ALT, 0&
SendMessage aimimessage, WM_KEYDOWN, VK_P, 0&
SendMessage aimimessage, WM_KEYUP, VK_ALT, 0&
SendMessage aimimessage, WM_KEYUP, VK_P, 0&
SendMessage aimimessage, WM_KEYDOWN, VK_DOWN, 0&
SendMessage aimimessage, WM_KEYUP, VK_DOWN, 0&
SendMessage aimimessage, WM_KEYDOWN, VK_DOWN, 0&
SendMessage aimimessage, WM_KEYUP, VK_DOWN, 0&
SendMessage aimimessage, WM_KEYDOWN, VK_DOWN, 0&
SendMessage aimimessage, WM_KEYUP, VK_DOWN, 0&
SendMessage aimimessage, WM_KEYDOWN, VK_DOWN, 0&
SendMessage aimimessage, WM_KEYUP, VK_DOWN, 0&
SendMessage aimimessage, WM_KEYDOWN, VK_DOWN, 0&
SendMessage aimimessage, WM_KEYUP, VK_DOWN, 0&
SendMessage aimimessage, WM_KEYDOWN, VK_RETURN, 0&
SendMessage aimimessage, WM_KEYUP, VK_RETURN, 0&
or can someone help me at least show me how to use sendmessage or some api to make that window active so i can use sendkeys.. cause ive tried on my own so many diff ways and nothing seems to work right.

SendMessage - Tab
Im trying to simulate a mouse click (BM_CLICK) on another application using SendMessage. I have the handle of the form and control but it does not work if the control has focus.

I need to set focus to any other control on the form. I tried this to simulate tabbing to the next control but it doesnt work:

Code:
SendMessage frmHandle, WM_CHAR, 9, ByVal 0&

How can i set focus to another control in another application?

Need Help With SendMessage
Hello,

I'm trying to write an app in VB.NET to control an other application.
The main perpose is to download movie trailers. I'm using a program called StreamDown to do the actual download.
I just want my app to somehow click the "Add" button in StreamDown. Ive found out by searching here it has something to do with SendMessage.
I already got the window handle, but i have no idea how to press that "Add" button...

This is what i have:

Code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim hwnd As IntPtr = FindWindow("TForm1", vbNullString)
'SendMessage(hwnd.ToInt32, &H290, Keys.Alt, 0&)
End Sub
SendMessage is commented out since it dousn't work. It could be wrong, ive just been "messing aroud" with it.

VB.Net Sendmessage?
I have managed to get used to some of the api functions in VB6, such as sendmessage, postmessage, findwindow and findwindowex. However i prefer writing in VB.Net. Ive just about managed findwindow and findwindowex in VB.Net but i am completely stuck on how to use sendmessage/postmessage in VB.Net. Could someone please help me with the parameters and so on for these functions in VB.Net. Thanks

SendMessage API
I am using SendMessage to find listbox items:


Code:
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

'In Form_Load:
With frmHelp.lstObjects
.AddItem "Background"
.AddItem "Sprite"
.AddItem "Main Sprite"
.AddItem "Alternate Sprites"
.AddItem "Walking/Rotation Sprites"
.AddItem "Move Interval"
.AddItem "Walk Checkbox"
.AddItem "Recording"
.AddItem "Sequence"
.AddItem "Converter"
End With

Private Sub txtFind_Change()

lstObjects.ListIndex = SendMessage(lstObjects.hWnd, LB_FINDSTRING, -1, ByVal CStr(txtFind.Text))

End Sub

It doesn't work.

Sendmessage
Hi guys

I had a thread running that to be perfectly honest i think i was well off target so i have closed it and will now ask what i hope are more constructive questions.

I have looked into sendmessage, findwindow, and findwindowex and i think these will do what i want to do i have the usual code that will interact with a textbox.
No come the questions.

if i apply this code to my app i need to try and answer a few questions and it would seem no mater how much i have googled i seem no closer to understanding.

The window i want to interact with has approx 10 textboxs, i need to interact with about 6 of them they all seem to have the same class name ThunderRT6TextBox i think it was from memory. so i am guessing that the address's of these textboxs is the way to go when sending messages to them? if so how on earth do i know the address's to send the data as every time the exe i want to interact with is started the address's of the textboxs and the actual exe changes.

Also one other question i have for the time being is when the textboxs are in a container frame it seems i cant interact with them. how do i interact with them when they are in a frame?

any help would be great. thanks.

Copyright © 2005-08 www.BigResource.com, All rights reserved