Avatar billede Lasse Novice
20. juni 2005 - 18:28 Der er 8 kommentarer og
1 løsning

Message loop uden vindue

Jeg er lidt groen i dette, og oensker en forklaring paa hvordan man implementerer et "message loop" uden at have et vindue??? Og hvad er egentlig "requirements" for at man kan implementere et message loop (hver thread kan have een, hver app kan have een, hver ???).

Takker paa forhaand.
Avatar billede arne_v Ekspert
20. juni 2005 - 18:32 #1
et message loop processer normalt GUI events - hvad skal dit message loop
processe ?
Avatar billede Lasse Novice
20. juni 2005 - 18:35 #2
Jeg skal bruge en timer... og som jeg laeser det saa skal der implementeres et message loop til dette formaal.
Avatar billede arne_v Ekspert
20. juni 2005 - 18:54 #3
hvis du ikke kalder CreateWindow så er der sikkert ikke meget vindue at se ...
Avatar billede Lasse Novice
20. juni 2005 - 19:13 #4
nej... men mit spg lyder mere paa hvordan et message loop fungerer, og hvad det hoerer under (f.eks. skal man altid oprette et vindue)...
Avatar billede arne_v Ekspert
20. juni 2005 - 19:30 #5
GetMessage funktionen henter message sfra en kø

den kø er så vidt jeg ved per thread

du kan bede om messages fra et bestemt vindue

eller du kan bede om alle messages for tråden uanset vindue

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/messagesandmessagequeues/messagesandmessagequeuesreference/messagesandmessagequeuesfunctions/getmessage.asp
Avatar billede bertelbrander Novice
20. juni 2005 - 20:40 #6
#include <stdio.h>
#include <windows.h>

int Counter;

VOID CALLBACK TimerProc2(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime)
{
  printf("TimerProc2\n");
  Counter++;
}

VOID CALLBACK TimerProc3(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime)
{
  printf("TimerProc3\n");
}

int main(void)
{
  SetTimer(0, 0, 1000, TimerProc2);
  SetTimer(0, 0,  500, TimerProc3);
  while(Counter < 5)
  {
    MSG Msg;
    GetMessage(&Msg, 0, 0, 0xFFFF);
    TranslateMessage(&Msg);
    DispatchMessage(&Msg);
  }
  return 0;
}
Avatar billede arne_v Ekspert
24. juli 2005 - 15:56 #7
gooky ?
Avatar billede Lasse Novice
07. september 2005 - 23:02 #8
eftersom bertelbrander ikke samler point, saa arne_v : svar => point
Avatar billede arne_v Ekspert
08. september 2005 - 07:50 #9
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester