小编The*_*ist的帖子

我的Win32应用程序不会退出主循环

这是我的主循环:

    while(TRUE)
    {

    PeekMessage(&msg,hWnd,0,0,PM_REMOVE);
        if (msg.message==WM_QUIT)
            break;
        TranslateMessage(&msg);
        DispatchMessage(&msg);


    }
Run Code Online (Sandbox Code Playgroud)

这是我的回调程序:

 LRESULT CALLBACK WinProc(HWND hWnd,UINT msg1,WPARAM wParam,LPARAM lParam)
 {
    switch(msg1)
    {
        case WM_DESTROY  :
        {
            PostQuitMessage(0);
            return 0;
        }
        break;
    }

    return DefWindowProc(hWnd,msg1,wParam,lParam);
}
Run Code Online (Sandbox Code Playgroud)

我发现当我按下关闭按钮时,下一个循环中的PeekMessage函数将返回WM_NCLBUTTONDOWN,而没有WM_QUIT!

c windows winapi

7
推荐指数
1
解决办法
2945
查看次数

如何在windows中检索线程的起始地址?

我正在用 C 语言开发一个迷你 Windows 进程资源管理器,我有一个线程的句柄。
如何检索该线程的起始地址?像这样的东西:
在此处输入图片说明

c windows winapi multithreading

7
推荐指数
1
解决办法
8542
查看次数

我想在我的winapi C程序中绘制图形,有任何控制吗?

是否有任何控件可用于在winapi32控制中绘制这样的图表?

在你不知道我怎么画一个?

在此输入图像描述

(像这样!)

c windows winapi controls

4
推荐指数
2
解决办法
5261
查看次数

调用CreateWindowEx函数时访问冲突错误

我想用winAPI创建一个窗口:

    int WINAPI WinMain(HINSTANCE hInst,HINSTANCE hPrevInst,LPSTR lpCmdLine,
        int nShowCmd)
 {
WNDCLASSEX wClass;
HWND hWnd;


wClass.cbClsExtra=NULL;
wClass.cbSize=sizeof(WNDCLASSEX);
wClass.cbWndExtra=NULL;
wClass.hbrBackground=(HBRUSH)COLOR_WINDOW;
wClass.hCursor=LoadCursor(NULL,IDC_ARROW);
wClass.hIcon=NULL;
wClass.hIconSm=NULL;
wClass.hInstance=hInst;
wClass.lpfnWndProc=(WNDPROC)WinProc;
wClass.lpszClassName=TEXT("Window Class");
wClass.lpszMenuName=NULL;
wClass.style=CS_HREDRAW|CS_VREDRAW|CS_DROPSHADOW ;

if(!RegisterClassEx(&wClass))
{
    int nResult=GetLastError();
    MessageBox(NULL,
        TEXT("Window class creation failed"),
        TEXT("Window Class Failed"),
        MB_ICONERROR);
}

hWnd=CreateWindowEx(NULL,
        TEXT("Window Class"),
        TEXT("My Process Explorer"),
        WS_OVERLAPPEDWINDOW,
        200,
        20,
        800,
        630,
        NULL,
        NULL,
        hInst,
        NULL);
  }
Run Code Online (Sandbox Code Playgroud)

但是我收到了访问冲突错误.为什么?

c windows winapi visual-c++

1
推荐指数
1
解决办法
2018
查看次数

标签 统计

c ×4

winapi ×4

windows ×4

controls ×1

multithreading ×1

visual-c++ ×1