Autoclicker Probleme



  • @Zhavok sagte in Autoclicker Probleme:

    Jetzt bin ich zwar immernoch schlecht im Programmieren

    Es wäre wirklich angenehm wenn Du enthlich aufhören würdest Dein Licht unter den Scheffel zu stellen.

    // edit: typo.



  • @Swordfish Danke für die Berichtigung. Ich habe aber noch eine Frage wie kann das Programm feststellen ob der Hotkey gedrückt ist?



  • Parameters

    hWnd

    Type: HWND

    A handle to the window that will receive WM_HOTKEY messages generated by the hot key. If this parameter is NULL, WM_HOTKEY messages are posted to the message queue of the calling thread and must be processed in the message loop.



  • @Swordfish das habe ich auch bei microsoft gelesen konnte aber daraus nicht wirklich schlau werden. Bin halt erst Anfänger.
    luis



  • @luis sagte in Autoclicker Probleme:

    konnte aber daraus nicht wirklich schlau werden.

    Tjoa. Grundlagenbuch?



  • @Swordfish besitze ich nicht, aber könntest du mir eins Empfehlen?



  • Weiß nicht. "Der C++-Programmierer" wird gerne empfohlen.



  • omfg, ist mir langweilig

    #include <iostream>
    #include <cstdlib>
    
    #include <windows.h>
    #include <tchar.h>
    
    LRESULT CALLBACK window_proc(HWND window, UINT msg, WPARAM w_param, LPARAM l_param)
    {
    	switch (msg) {
    	case WM_HOTKEY:
    		std::cout << "yay\n";
    		return 0;
    	}
    
    	return DefWindowProc(window, msg, w_param, l_param);
    }
    
    int main()
    {
    	WNDCLASS windowclass = {};
    	windowclass.lpfnWndProc = window_proc;
    	windowclass.hInstance = GetModuleHandle(nullptr);
    	windowclass.lpszClassName = _T("foo");
    	
    	if (!RegisterClass(&windowclass)) {
    		std::cerr << "RegisterClass() failed.\n\n";
    		return EXIT_FAILURE;
    	}
    
    	auto window { CreateWindow(windowclass.lpszClassName, _T("foo"), 0, 0, 0, CW_USEDEFAULT, CW_USEDEFAULT, HWND_MESSAGE, nullptr, nullptr, nullptr) };
    	if (!window) {
    		std::cerr << "CreateWindow() failed.\n\n";
    		return EXIT_FAILURE;
    	}
    
    	RegisterHotKey(window, 1, MOD_NOREPEAT, 'A');
    
    	MSG msg;
    	int result;
    	while (result = GetMessage(&msg, window, 0, 0)) {
    		if (result == -1)
    			break;
    
    		TranslateMessage(&msg);
    		DispatchMessage(&msg);
    	}
    
    	return static_cast<int>(msg.wParam);
    }
    

    // edit: Da fehlt in der MSDN der übliche Satz "If an application processes this message, it should return zero.". Aber da wohl DefWindowProc() damit sowieso nichts anfangen kann ist es wohl ok.



  • @Swordfish

    @Swordfish sagte in Autoclicker Probleme:

    Parameters

    hWnd

    Type: HWND

    A handle to the window that will receive WM_HOTKEY messages generated by the hot key. If this parameter is NULL, WM_HOTKEY messages are posted to the message queue of the calling thread and must be processed in the message loop.

    kannst du mir bitte sagen, wenn du es weißt, wie man feststellen kann ob der Hotkey gedrückt wurde



  • Guckst Du meine beispiel oben?


Log in to reply