Eigenen Code beim Fenster



  • Hi

    Ich würde gern wissen wo ich meinen eigenen code z.B ein zufalls zahl wird generiet, bei diesem Code einnbaue.

    #include <windows.h>
    
    LRESULT CALLBACK WindowProc (HWND hWnd, UINT message,
                                 WPARAM wParam, LPARAM lParam);
    
    HWND hEditBox;
    
    int WINAPI WinMain (HINSTANCE hInst, HINSTANCE hPrevInst,
                        LPSTR lpcmdline, int ncmdshow)
    {
      WNDCLASSEX windowclass; 
      HWND       hWnd;        
      MSG        message;     
    
      const char szClassName[] = "Erstes Fenster";
    
      windowclass.cbSize = sizeof (WNDCLASSEX);
      windowclass.style = CS_HREDRAW | CS_VREDRAW;
      windowclass.lpfnWndProc = WindowProc;
      windowclass.cbClsExtra = 0;
      windowclass.cbWndExtra = 0;
      windowclass.hInstance = hInst;
      windowclass.hIcon   = LoadIcon (NULL, IDI_APPLICATION);
      windowclass.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
      windowclass.hCursor = LoadCursor (NULL, IDC_ARROW);
    
      windowclass.hbrBackground = (HBRUSH)COLOR_BACKGROUND+1;
    
      windowclass.lpszMenuName = NULL;
    
      windowclass.lpszClassName = szClassName;
    
      if (!RegisterClassEx (&windowclass) )
        return (0);
    
      hWnd = CreateWindowEx (NULL,
                             szClassName,
                             "CBot",
                             WS_OVERLAPPEDWINDOW | WS_VISIBLE,
                             100, 100,
                             300, 250,
                             NULL,
                             NULL,
                             hInst,
                             NULL);
    
      if (hWnd == NULL)
        return (0);
    
      while (GetMessage (&message, NULL, 0, 0) )
      {
        TranslateMessage (&message);
        DispatchMessage (&message);
    
      }
    
      return (int)(message.wParam);
    
    }
    
    LRESULT CALLBACK WindowProc (HWND hWnd, UINT message,
                                 WPARAM wParam, LPARAM lParam)
    {
      switch (message)
      {
        case WM_DESTROY:
        {
          PostQuitMessage (0);
          return (0);
    
        }
        case WM_KEYDOWN:
        {
          switch (wParam)
          {
            case VK_ESCAPE:
            {
              PostQuitMessage (0);
              return (0);
            }
          }
        } break;
      }
    }
    


  • Das kommt ganz darauf an wo du die Zufallszahl brauchst.Wenn du sie beim registrieren des Fensters brauchst in der WinMain, wenn du sie brauchst sobald das Fenster erstellt wurde in fängst du die Nachricht WM_CREAT in der WindowProc ab und setzt da deinen Code rein, das selbe wenn du sie brauchst wenn das Fenster neu gezeichnet wird: dann fängst du WM_PAINT ab und reagierst drauf.

    und bei deinem Code fehlt am ende der WindowProc noch ein return an die DefWindowProc.

    MFG



  • naja ich möchte gern eine KI bauen und die soll dann das anzeigen was sie gerade macht wo bau ich das hin? Also auch den code für die KI. nicht nur die ausgabe.



  • Anscheinend fehlen dir ja noch einige Grundlagen der Windowsprogrammierung.
    Ich persönlich empfehle dir dich noch weiter mit "typischen" Windows-
    programmen auseinanderzusetzen.
    Wenn du das beherrschst, dürfte dir auch von allein klar sein, wo du was
    für Code schreiben musst.

    Ansonsten kommt es drauf an, was deine KI wie macht.
    Evtl. sind Threads empfehlenswert, die dann über globale Variablen mit
    der Mainprocedure kommunizieren...

    [EDIT]
    Oder aber du arbeitest mit Timern.
    [/EDIT]



  • sie stellt per http prtokol eine verbing zu einem loacalen server und parst die webseits des Browsergames. und sucht nach sach die sie anklicken kann und entscheidet dann per zufall und präoritäts abfragen welcher link aufgerufen werden soll und somit z.B gebäude ausbaut. nur ist mein problem halt das ich nicht weiß, da ich mich noch nicht solange mit der indowsprogrammierung auseinander gestzt habe, wo ich den code für die KI hinpacke und wie ich es schaffe das meine funktion dann mit der WinMain funktion komuniziert. Ich weiß das es per Nachrichten funktionieren kann, ABER WIE? Ich habe mir gerade eine 285 seiten lange pdf datein über Windowsprogrammierung runtergeladen. Und dortsteht auch wie ich dad mit den Nachrichten hinbekomme aber wo muss ich meinen code der KI hinpacken. Bitte Helft mir. Danke schon mal.



  • Sorry aber wie jzd schon sagte fehlt dir da einfach noch einiges.
    Ich empfehle dir mal auf dieser Seite die Tutorials durchzumachen, das bringt schonmal einiges.

    Frohe Ostern zusammen.



  • Was ich dir auch empfehlen kann ist "Windows Programmierung" von Charles Petzold
    (bei Amazon für ca. 30€).
    Ist zwar schon was älter, behandelt aber auf ca. 1311 Seiten die Grundlagen
    der Windows Programmierung, so z.B. auch Socketprogrammierung etc.
    Das hilft dann auf jeden Fall schon mal sehr weit 🙂



  • pc-jedi schrieb:

    wo muss ich meinen code der KI hinpacken

    In einen Thread deiner Wahl.



  • ok dann danke noch mal an alle die mir geholfenhaben.


Anmelden zum Antworten