Program w tle a strumienie wejściowe

0

Witam,
Nigdy wcześniej nie pisałem programu działającego w tle. W internetach wyczytałem, że jednym ze sposobów uzyskania tego efektu w C++ jest utworzenie projektu Win32 w VS C++ i usunięcie kodu odpowiedzialnego za tworzenie okna, i tak zrobiłem. Teraz pojawił się problem, bo chcę, żeby program sczytywał wciskane przez użytkownika na klawiaturze znaki, i np. reagował na wciśnięcie jakiejś kombinacji, ale nie wiem, jak sprawić, żeby strumienie ,,docierały" do programu. Na razie mam coś takiego:

#include "stdafx.h"
#include <fstream>
using namespace std;
#include <windows.h>
#include <conio.h>

int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmd, int show)
{
	ofstream file("file.txt"); // Tutaj program ma zapisywać wszystkie sczytane znaki
	char key; // Tutaj także, żeby można było testować przy użyciu debuggera
	while (1)
	{
		if (_kbhit())
		{
			key = _getch();
			file << key;
		}
	}
}

Proszę o pomoc.

1

kbhit i getch działają tylko w konsoli.

anulować wyłączenie komputera wciska jakąś kombinację klawiszy

i szkoda że nie napisałeś tego od razu. potrzebujesz czegoś co się nazywa "global hotkey" a nie żeby "program sczytywał znaki" ani zapisywać znaków do pliku.

https://msdn.microsoft.com/en-us/library/windows/desktop/ms646309%28v=vs.85%29.aspx?f=255

0

Zapisywanie do pliku pozwalało na sprawdzenie czy działa bo debugger mi nie wyświetlał zmiennych. Dzięki za odpowiedź.

1 użytkowników online, w tym zalogowanych: 0, gości: 1