We're building a brand new version of the site, and we'd love to hear your ideas
Members
Technology Zones
IBM Learning Center
Articles
Hosted By
Info
|
[34] Enum Windows & SendMessage API
Last post 07-27-2007 10:07 AM by khickyphutz. 13 replies.
-
01-01-1999 12:00 AM
|
|
Advertisement
|
|
-
-
king_preetham


- Joined on 03-15-2002

- Points 5
|
I have the following code:
The PostMessage function works, while the SendMessage function does not..WHY???
//*********************************
PROCESS_INFORMATION* pi;
pi = (PROCESS_INFORMATION*)malloc(sizeof(PROCESS_INFORMATION));
STARTUPINFO si;
si.cb=sizeof(si);
si.lpReserved=NULL;
si.lpDesktop=NULL;
si.lpTitle=NULL,
si.dwFlags=STARTF_FORCEONFEEDBACK;
si.cbReserved2=0;
si.lpReserved2=NULL;
BOOL bres = CreateProcess(NULL, "calc.exe", NULL,NULL,NULL,
CREATE_NEW_CONSOLE | NORMAL_PRIORITY_CLASS,
NULL,NULL,&si,pi);
if(!bres)
{
return;
}
HWND hWnd;
EnumThreadWindows(pi->dwThreadId, EnumProc, (LPARAM)&hWnd);
SetFocus(hWnd);
//LRESULT lr1 = SendMessage(hWnd, WM_KEYDOWN, 38, 0);
//LRESULT lr2 = SendMessage(hWnd, WM_KEYUP, 38, 1);
BOOL bp = PostMessage(hWnd, 256, 53, 393217);
LRESULT lr1 = SendMessage(hWnd, 256, 53, 393217);
//*************************************************
|
|
-
-
-
-
hadi3000


- Joined on 08-21-2003

- Points 5
|
Quote:[1]Posted by koo9 on 11 Jul 2003 03:10 PM[/1]
like the Gator client, it allow user the hold down a key e.g. ctrl and click on any text in any windows, it will pop up a definition for the clicked text, how do they do it? does it use the WM_GETTEXT as well?
I was able to do that using the SENDMESSAGE, GETCURSORPOS and WINDOWFROMPOINT functions.
Basicly what you need to do is first get the cursor's position using GETCURSORPOS which will return the x and y location. Pass those coordibates to WINDOWFROMPOINT and it will return the window handle in which the cursor is currently highlighting the text. Since you now have the correct handle of the window (this window can be anything...notepad...explorer...etc...) you then use the SENDMESSAGE function as such:
SENDMESSAGE FoundWindow.hWnd, WM_COPY, 0, 0 where 'FoundWindow' is the handle returned by WINDOWFROMPOINT.
NOTE: This method needs a constant loop to keep checking the mouse cursor position (using a timer control).
This works when a text is highlighted and the mouse cursor is still above it. If you want to do this using the CTRL key you might have to resort to GETASYNCKEYSTATE also.
If you succeed in developing a better code i'd be glad to see it
|
|
-
-
-
arshad


- Joined on 06-29-2004

- Points 5
|
fetch data from MS- word,
Hi Riaz,
Could you plz explain me how did u fetch data from MS-Word.
I can able to get typed text from notepad using sendmessage API.
Same API Could not work for MS-word.
Thanks,
Arshad.
Quote:[1]Posted by riyazfarz on 3 Sep 2003 02:33 AM[/1]
Hi,
Yes I could fetch data from MS- word, Notepad etc. But I am not able to fetch from HTML file. Any idea for getting from this.
Anyway thanks for your valuable help.
Regards
Riaz
|
|
-
-
-
-
DavidChiu


- Joined on 06-09-2005

- Points 10
|
Quote:[1]Posted by arshad on 29 Jun 2004 12:18 PM[/1]
Hi Riaz,
Could you plz explain me how did u fetch data from MS-Word.
I can able to get typed text from notepad using sendmessage API.
Same API Could not work for MS-word.
Thanks,
Arshad.
Quote:[1]Posted by riyazfarz on 3 Sep 2003 02:33 AM[/1]
Hi,
Yes I could fetch data from MS- word, Notepad etc. But I am not able to fetch from HTML file. Any idea for getting from this.
Anyway thanks for your valuable help.
Regards
Riaz
I used SendMessage(hwnd, WM_COPY, 0, 0). And I meet the above problem, too!
I cann't get selected text for HTML file/VC/PDF file/SourceInsight File......
|
|
-
-
erictioh


- Joined on 01-21-2006

- Points 15
|
i'm doing something similar to this thread starter. below is my code:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
prevWindow = 0
Call GetCursorPos(mousePT)
X = mousePT.X
Y = mousePT.Y
Label2.Text = "(" & X & "," & Y & ")"
hWnd = WindowFromPoint(X, Y)
className = Space(255) ' Make room in the string to receive the information.
retValue = GetClassName(hWnd, className, 255)
windowText = Space(255)
GetWindowText(hWnd, windowText, 255)
Label1.Text = hWnd
End Sub
this is a function which will constantly called by timer, and i have 2 labels on my form which is label 1 and and label2
you can see that i print the handle number (hWnd) using label1, but when i run the program no matter where i point the mouse to but the hwnd value is still the same, why?
|
|
-
-
fcescobar


- Joined on 07-09-2007
- Brazil

- Points 5
|
Re: [34] Enum Windows & SendMessage API
Hi,
About this subject, I´m trying to define the size of an image captured from a generic camera.
I'm using the SendMessage and SetWindowPos functions with the following instructions:
To initialize the camera:
Private Sub PreviewVideo(ByVal pbCtrl As PictureBox)
On Error GoTo treaterror:
mHwnd = capCreateCaptureWindowA("Teste", WS_VISIBLE Or WS_CHILD, 0, 0, 100, 100, pbCtrl.hwnd, 0) If SendMessage(mHwnd, WM_CAP_DRIVER_CONNECT, 0, 0) Then SendMessage mHwnd, WM_CAP_SET_SCALE, False, 0 '---set the preview rate (ms)--- SendMessage mHwnd, WM_CAP_SET_PREVIEWRATE, 30, 0 '---start previewing the image--- SendMessage mHwnd, WM_CAP_SET_PREVIEW, True, 0 '---resize window to fit in PictureBox control--- SetWindowPos mHwnd, HWND_BOTTOM, 0, 0, pbCtrl.ScaleWidth, pbCtrl.ScaleHeight, SWP_NOMOVE Or SWP_NOZORDER Else '--error connecting to video source--- MsgBox "Problema na conexão com a câmera. Contate o suporte!! - " & Err.Description DestroyWindow mHwnd End If
Exit Sub treaterror:
MsgBox "Problema na conexão com a câmera. Contate suporte!!!" & Err.Description
End Sub
To capture the image:
Private Sub cmdCapturar_Click()
SendMessage mHwnd, GET_FRAME, 0, 0 SendMessage mHwnd, COPY, 0, 0 Picture1.Picture = Clipboard.GetData Clipboard.Clear 'Timer1.Enabled = False
End Sub
Please note that I don't want just want to fit the image to the window. I need its real size to be the window's size. (What is happenning is that I see one image on the PictureBox passed as a parameter the sub PreviewVideo but the captured image is much larger than it.)
Thank you in advance,
Escobar
|
|
-
-
Page 1 of 1 (14 items)
|
Search
Code Samples
New Members
|