Problem: 100% Auslastung



  • Problem ich erstelle ein weisses Fenter und die Auslastung im Task-Manager ist auf 99 %!

    Mein Code:
    #include<windows.h>

    LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
    TCHAR szClassName[] = "MyForm";

    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
    {

    HWND hwnd;
    WNDCLASS wnd;

    wnd.cbClsExtra = 0;
    wnd.cbWndExtra = 0;
    wnd.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
    wnd.hCursor = LoadCursor(NULL, IDC_ARROW);
    wnd.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wnd.hInstance = hInstance;
    wnd.lpfnWndProc = (WNDPROC)WndProc;
    wnd.lpszClassName = szClassName;
    wnd.lpszMenuName = NULL;
    wnd.style = CS_HREDRAW | CS_VREDRAW;

    RegisterClass(&wnd);

    hwnd = CreateWindow(szClassName, szClassName , WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL);

    ShowWindow(hwnd, iCmdShow);
    UpdateWindow(hwnd);

    MSG msg;

    while(GetMessage(&msg, NULL, 0, 0))
    {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
    }
    return (int)msg.wParam;
    }

    LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
    {

    switch(message)
    {
    case WM_CREATE:
    return 0;

    case WM_PAINT:
    return 0;

    case WM_DESTROY:
    PostQuitMessage(0);
    return 0;
    }
    return DefWindowProc(hWnd, message, wParam, lParam);

    }

    Danke im Voraus



  • Ich habe das Programm getestet.
    Wenn man die WM_PAINT Message wegmacht läuft es ganz normal.



  • Danke!



  • Wenn man in die WM_PAINT-Abfrage eine BeginPaint()-EndPaint()-Kombo einfügt - so wie es sich gehört wenn man nichts zeichnen will gehts auch!

    Imho kommen die 99% Auslastung wohl von den andauernden WM_PAINT-Nachrichten.

    MfG SideWinder



  • Danke!

    hmmm ... doppelt Post!

    Naja bin ja noch ein Newbie!


Anmelden zum Antworten