|
|
|
Как из дочернего потока сделать SendMessage контролу в диалоге?
|
|||
|---|---|---|---|
|
#18+
Привет! У меня есть SDI app. В диалоге у меня порождается поток. Мне из потока нужно сделать SendMessage для кнопки диалога. Как это проще сделать? FindWindow - SendMessage или по другому? Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2007, 23:37 |
|
||
|
Как из дочернего потока сделать SendMessage контролу в диалоге?
|
|||
|---|---|---|---|
|
#18+
Перед созданием потока возьми хендл кнопки и передай этот хендл в поток как параметр или как глобальную константу если параметры использовать лень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 01:28 |
|
||
|
Как из дочернего потока сделать SendMessage контролу в диалоге?
|
|||
|---|---|---|---|
|
#18+
Спасибо! А вот у меня еще один вопрос по потокам. Из главного потока начинаются 2 потока: первый поток формирует отчет о результате работы второго. Но свою работу 1 поток должен начать только после завершения второго. Подскажите как это реализовать? Я так понимаю, что нужно через WaitSingleForObject, но вот такой код не пашет. Чего то не то я делаю явно HANDLE hThread; //поток формурующий отчет DWORD WINAPI Alert(LPVOID lpVoid) { HANDLE hThread = (HANDLE)lpVoid; DWORD DW = WaitForSingleObject(hThread, INFINITE); AfxMessageBox("Alert"); return NO_ERROR; } //этот поток по завершении работы должен дать команду потоку Alert на формирование отчета DWORD WINAPI Do(LPVOID lpVoid) { for (int i = 0; i < 10000; i++); return NO_ERROR; } void CwinterDlg::OnBnClickedCancel() { DWORD dwThreadId1, dwThreadId2 = 0; HANDLE hAlertThread=CreateThread(NULL, 0, &Alert, (LPVOID)&hThread, 0, &dwThreadId1); hThread = CreateThread(NULL, 0, &Do, NULL, 0, &dwThreadId2); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 11:23 |
|
||
|
Как из дочернего потока сделать SendMessage контролу в диалоге?
|
|||
|---|---|---|---|
|
#18+
egghead пишет: > У меня есть SDI app. В диалоге у меня порождается поток. Мне из потока > нужно сделать SendMessage для кнопки диалога. Как хэндл получить - сказали уже, но напомню, не SendMessage, а обязательно SendMessageTimeout !!! Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 14:24 |
|
||
|
Как из дочернего потока сделать SendMessage контролу в диалоге?
|
|||
|---|---|---|---|
|
#18+
eggheadЯ так понимаю, что нужно через WaitSingleForObject, но вот такой код не пашет. Чего то не то я делаю явно Код: plaintext 1. Местами эти две строки поменяй. К моменту когда ожидающий поток доходит до WaitForSingleObject поток который надо ждать уже должен существовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2007, 17:23 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34682351&tid=2028472]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
163ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 445ms |

| 0 / 0 |
