IP rausfinden und Suchfunktion



  • Hallo,
    Funktioniert die Suchfunktion nicht wirklich oder hat wirklich noch niemand gefragt, wie man an die eigene IP (Internet) rankommt? Die Suchfunkion bringt mir keine Ergebnisse...

    Und noch eine Frage : Kann man prüfen, ob eine Taste (auf der Tastatur) gedrückt wurde, egal für welches Programm diese Taste gedrückt wurde (also, welches im Vordergrund steht)? (präzise genug ausgedrückt?)

    Danke



  • OK, das mit der IP hab ich rausbekommen (stand im Forum oft, aber Suchfunktion hats nicht gefunden, kA warum...)



  • Zu den gedrückten Tasten: Hooks.

    Steht in der WinAPI FAQ.



  • C Newbie schrieb:

    Zu den gedrückten Tasten: Hooks.

    Steht in der WinAPI FAQ.

    sorry, wusste nicht, dass es das ist...danke!!!

    werd mir das mal jetzt anschauen...



  • Imho muss erst der Such-Index aktualisiert werden (wegen der Umstellung auf das neue Board) 🙄



  • Ich habe ein Problem...

    Ich hab die DLL aus der FAW für Keyboard Hooks genommen ... die DLL hab ich, beim Aufruf von SetupHook (hwnd); kommt keine Fehlermeldung, nur ist dieser Hook nicht Systemweit, sondern nur wenn das Testprogramm im Vordergrund steht... hier der Code :

    #include <windows.h>
    #include "hookdll.h"
    
    LRESULT APIENTRY WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
    
    int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
    						  PSTR szCmdLine, int iCmdShow)
    {
     static TCHAR szAppName[] = TEXT ("Test") ;
     HWND         hwnd ;
     MSG          msg ;
     WNDCLASSEX     wndclassex ;
    
    	  wndclassex.cbSize             = sizeof(WNDCLASSEX) ;
         wndclassex.style               = CS_HREDRAW | CS_VREDRAW ;
         wndclassex.lpfnWndProc    = WndProc ;
         wndclassex.cbClsExtra       = 0 ;
         wndclassex.cbWndExtra     = 0 ;
         wndclassex.hInstance         = hInstance ;
         wndclassex.hIcon               = NULL ;
         wndclassex.hCursor            = LoadCursor (NULL, IDC_ARROW) ;
         wndclassex.hbrBackground   = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
         wndclassex.lpszMenuName   = NULL ;
         wndclassex.lpszClassName  = szAppName ;
         wndclassex.hIconSm           = wndclassex.hIcon ;
    
         if (!RegisterClassEx (&wndclassex))
         {
                 MessageBox (NULL, TEXT ("RegisterClassEx fehlgeschlagen!"),
                                 szAppName, MB_ICONERROR) ;
                 return 0 ;
         }
    
         hwnd = CreateWindowEx     (WS_EX_OVERLAPPEDWINDOW,        // erweiterter Fensterstil
                            szAppName,                // Name der Fensterklasse
                            TEXT ("LCD Show 0.1"),        // Fenstertitel
                            WS_OVERLAPPEDWINDOW,        // Fensterstil
                            CW_USEDEFAULT,                // X-Position des Fensters
                            CW_USEDEFAULT,                // Y-Position des Fensters
    								230,                // Fensterbreite
                            120,                // Fensterhöhe
                            NULL,                    // übergeordnetes Fenster
                            NULL,                    // Menü
                            hInstance,                // Programm-Kopiezähler (Programm-ID)
                            NULL) ;                    // zusätzliche Parameter
    
    	  ShowWindow (hwnd, iCmdShow) ;
    	  UpdateWindow (hwnd) ;
    
    	  while (GetMessage (&msg, NULL, 0, 0))
         {
                 TranslateMessage (&msg) ;
                 DispatchMessage (&msg) ;
         }
         return msg.wParam ;
    }
    
    LRESULT APIENTRY WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
     switch (message)
     {
      case WM_CREATE:
    		SetupHook(hwnd);
    		return 0;
    
      case (WM_USER + 2):
    		MessageBox(NULL, "test", NULL, NULL);
          return 0;
    
      case WM_DESTROY:
       UninstallHook();
    	PostQuitMessage(0);
    	return 0 ;
    
    	default:
    		  break;
     }
     return DefWindowProc (hwnd, message, wParam, lParam) ;
    }
    

    hab ich so auf die schnelle zum testen gebastelt...

    Weiß einer, was ich da verändern muss?

    Danke



  • Sorry, ist mir erst jetzt aufgefallen...
    hab mich falsch ausgedrückt...
    der Hook ist nicht Systemweit, nur wenn das Testprogramm im Vordergrund steht und ich eine Taste drücke, erscheint die MessageBox...


Anmelden zum Antworten