-
You need to use SendMessageTimeout and not SendMessage if you want to obtain line counts etc from a multi-line edit/richedit that belongs to another application. Also, but not related to your original problem, if you're going to use SetTimer then make sure you kill it off with KillTimer.
-
thanks for the reply, i tried this and had the same effect as before.
-
UNICODE is not the problem, the window handle you're using probably is. Try using an explicit handle for a known, open and active richedit/edit control (use spy++ or, if you don't have it, get a free variation from here; use the tool to get the handle of an active edit/richedit control). When you compare that with whatever handle you're trapping in code you'll probably find they're different.
Other test code you might consider implementing include
- Testing the handle you are attempting to use to ensure it actually belongs to an edit/richedit control ( use GetWindowLong/GetWindowLongPtr to test the style bits for ES_MULTILINE (if this style is absent from the window under scrutiny then messages such as EM_GETLINE and EM_GETLINECOUNT will always fail); popup a messagebox if the ES_MULTILINE style is absent).
- Testing the return value from SendMessageTimeOut
If, after taking some or all of these steps, you still have problems then post/attach your amended code.