Using handle between two process
-
A handle is actually a memory address. The handle (AKA: memory address) which you get from another process may be invalid to current process, because each process has its own view to memory (memory paging issue).
Maxwell Chen
That really is wrong. Handles in Windows are opaque - they can be anything the system implements them as. Whether they are pointers, indexes, integers, floats, or anything else is irrelevant to the programmer. All Windows handles are documented as to whether they are local to a process or system-wide. Window handles (HWND) are system-wide, so they are the same regardless of the process using them. Mark
Mark Salsbery Microsoft MVP - Visual C++ :java:
-
ashtwin wrote:
Hi, i am using FindWindow() function to get the handle of a dialog in one process from some other process. Can anybody tell is that correct or any problem...
Technically it will work, but you risk a deadlock situation if the target window is in a blocked state.
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
-
Hi, in ur view which API can cause the deadlock(FindWindow() or PostMessage()). I don't think that PostMessage() can cause a deadlock. Thanks
FindWindow()
internally sends each top-level window aWM_GETTEXT
message. But if the thread that owns that window is blocked (e.g., a Semaphore, a Mutex, an Event, an I/O operation),SendMessage()
will block until that thread frees up and runs. Since this could potentially never happen,FindWindow()
will block forever."Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne