描述1:
在《Windows程式設計》第五版中,他的套路是這樣的:
WinMain(.......)
{
WNDCLASS;
RegisterClass;
CreateWindow;
while( GetMessage() )
{
}
}
在這種套路中有個訊息佇列的東西
問題1:訊息佇列是在什么函式執行后產生的
描述2:
如果在 WinMain 中只有一行代碼:
int a=123;
問題2:行程中還有訊息佇列嗎
描述3:
現在我需要一個沒有視窗的程式,需要每妙執行60次的程式,如果沒有訊息佇列,似乎就不能用 WM_TIMER 訊息。
問題3:這個要如何實作。不要隱藏視窗之類的方案。
uj5u.com熱心網友回復:
windows的每個執行緒都可以有一個訊息佇列,是在PostThreadMessage函式第一次呼叫后生成的。PeekMessage非阻塞地從執行緒中取訊息,用它來輪詢取訊息。

while(真){
sleep(1000/60)
to do what you want
}
uj5u.com熱心網友回復:
回答問題一:關鍵是這部分代碼
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
這部分代碼,讓程式加入到訊息回圈之中。能夠接收到windows的訊息。大概就是這個意思,我說得很口語。
回答問題二:沒有。因為你的程式里沒有這部分的控制,所以就沒有。程式自己不會憑白做,實際上是你要把那部分的代碼寫出來了,它才會做。
回答問題三:所謂windows編程,就是圍繞視窗的,沒有視窗的編程,就是控制臺程式,也就是DOS程式。這個你應該會做吧!
uj5u.com熱心網友回復:
Windows的應用程式是訊息驅動的。整個程式就是一個無限回圈uj5u.com熱心網友回復:
跟蹤一下看看uj5u.com熱心網友回復:
多媒體定時器轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/93939.html
標籤:基礎類
