怎么屏蔽控制台程序wm_size消息
如何屏蔽控制台程序wm_size消息
如何屏蔽控制台程序wm_size消息,求助。
------解决方案--------------------
啥意思,是指控制台窗口可以拖大拖小的那个消息 ?
------解决方案--------------------
控制台没有处理消息的消息循环,网上搜索一下系统hook相关的。
------解决方案--------------------
如何屏蔽控制台程序wm_size消息,求助。
------解决方案--------------------
啥意思,是指控制台窗口可以拖大拖小的那个消息 ?
------解决方案--------------------
控制台没有处理消息的消息循环,网上搜索一下系统hook相关的。
------解决方案--------------------
啥意思,是指控制台窗口可以拖大拖小的那个消息 ?
嗯,就是。
控制台没有处理消息的消息循环,网上搜索一下系统hook相关的。
请看一下,case WINDOW_BUFFER_SIZE_EVENT: 是不是控制台窗口可以拖大拖小的消息?
#include <windows.h>
#include <stdio.h>
VOID ErrorExit(LPSTR);
VOID KeyEventProc(KEY_EVENT_RECORD);
VOID MouseEventProc(MOUSE_EVENT_RECORD);
VOID ResizeEventProc(WINDOW_BUFFER_SIZE_RECORD);
int main(VOID)
{
HANDLE hStdin;
DWORD cNumRead, fdwMode, fdwSaveOldMode, i;
INPUT_RECORD irInBuf[128];
int counter=0;
// Get the standard input handle.
hStdin = GetStdHandle(STD_INPUT_HANDLE);
if (hStdin == INVALID_HANDLE_VALUE)
ErrorExit(TEXT("GetStdHandle"));
// Save the current input mode, to be restored on exit.
if (! GetConsoleMode(hStdin, &fdwSaveOldMode) )
ErrorExit(TEXT("GetConsoleMode"));
// Enable the window and mouse input events.
fdwMode = ENABLE_WINDOW_INPUT
------解决方案--------------------
ENABLE_MOUSE_INPUT;
if (! SetConsoleMode(hStdin, fdwMode) )
ErrorExit(TEXT("SetConsoleMode"));
// Loop to read and handle the input events.
while (counter++ <= 100)
{
// Wait for the events.
if (! ReadConsoleInput(
hStdin, // input buffer handle
irInBuf, // buffer to read into
128, // size of read buffer
&cNumRead) ) // number of records read
ErrorExit(TEXT("ReadConsoleInput"));
// Dispatch the events to the appropriate handler.
for (i = 0; i < cNumRead; i++)
{
switch(irInBuf[i].EventType)
{
case KEY_EVENT: // keyboard input
KeyEventProc(irInBuf[i].Event.KeyEvent);
break;
case MOUSE_EVENT: // mouse input
MouseEventProc(irInBuf[i].Event.MouseEvent);
break;
case WINDOW_BUFFER_SIZE_EVENT: // scrn buf. resizing
ResizeEventProc(