Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
690 views
in Technique[技术] by (71.8m points)

winapi - C++ how to break message loop in windows hook

I need to break the message loop in win32 keyboard hook. The loop look like this,

MSG msg;
    while (GetMessage(&msg, NULL, NULL, NULL))  
    {
        TranslateMessage(&msg); 
        DispatchMessage(&msg);
    }

I used unhook method but it doesn't work. and I have another Question that if I change while loop parameter to !GetMessage it work same as before. and if I add printf inside that while loop its not printing anything. I just want to make a dll for keyboard hook. and method in dll need to end. with this(message loop) I cant end(or return something) that method.

Sorry for my bad English.

Thanks.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Use a PostQuitMessage(0) to break the prodecure. You can put it in your window procedure, for example, in the WM_DESTROY message comes.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

56.8k users

...