亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

您好,請問該如何使用vc++ SendMessage觸發函數?

您好,請問該如何使用vc++ SendMessage觸發函數?

C++ C
不負相思意 2021-11-03 19:07:34
比如有一個函數test(),怎么用SendMessage觸發它啊!下面一段話是我在網上找到的,我遇見了同樣的問題,想試試它的方法我在線程里調用一個函數test()test里有調用對話框domadal一運行到這個就出現錯誤,程序意外終止,domodal不出現!test里的代碼CDlginput;if(input.DoModal()!=IDOK).................把tset改成消息響應函數也不行.domodal窗口能出現點確定按鈕之后出錯!在線程里怎么才能調用domodal???? ________________________________________答:這種用工作線程不好搞一樣,用界面線程,應該可以吧 ________________________________________答:我把test函數改成消息響應函數了用SendMessage觸發test函數試了幾次不出錯了.不知道為啥在線程里直接調用test函數為啥出錯我是用MFC做的,希望是能夠說的具體一點,初學者,沒辦法……
查看完整描述

1 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

初學者經常犯得錯誤,就是在一個線程中調用如AfxMessageBox的對話框,這樣你的線程就死了。
在線程中,你必須向一個窗口發送一個消息,那個窗口接收到消息后,讓它去掉用DoModal之類的函數。
你可以在CreateThread,將那個窗口的 m_hWnd當成LPVOID lpParameter,
傳遞進去,那么在DWORD WINAPI ThreadProc( LPVOID lpParameter );的lpParameter 就是那個窗口句柄了。這樣你就可以向那個窗口SendMessage了。

查看完整回答
反對 回復 2021-11-07
  • 1 回答
  • 0 關注
  • 303 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號