|
|
|
Как из дочернего потока сделать 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=34681833&tid=2028472]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
166ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 469ms |

| 0 / 0 |
