---
title: "Key capture"
type: "forum-thread"
url: "https://www.webforum.nu/amne/programmering/78758-key-capture"
topic: "Programmering"
topic_url: "https://www.webforum.nu/amne/programmering"
author: "larsmark"
published: "2003-06-03T08:57:49.000Z"
updated: "2003-06-03T18:17:27.000Z"
replies: 1
views: 223
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/programmering/78758-key-capture"
---

# Key capture

## #1 — larsmark, 2003-06-03T08:57Z

Vet någon hur man kan fånga tangentbordtryckningar i delphi? Förmodligen behöver man använa API:t. Jag har sökt men inte hittat något. Med tangentbordtryckningar menar jag alla, även om inte programmet är aktivt utan ligger i bakgrunden.

Permalänk: https://www.webforum.nu/p/78758

## #2 — niko, 2003-06-03T18:17Z

> Förmodligen behöver man använa API:t.

Ja, det måste man. I grova drag:

1\. Du skapar en systemglobal tangentbords-hook med anropet:

```
SetWindowsHookEx(WH_KEYBOARD, (HOOKPROC)KeyboardProc, (HINSTANCE)hInstance, 0);
```

*KeyboardProc* är en funktion som du skriver själv och till vilken Windows kommer att skicka alla tangentnedtryckningar.

2\. Kruxet är sen att *SetWindowsHookEx* måste anropas inne ifrån en Windows-dll ifall det är frågan om en global hook (anges av nollan på slutet). Du blir alltså tvungen att skriva en dll som du sen anropar från ditt Delphi-program.

Om du har tillgång till nån version av Visual C++ så har jag nog färdig C++-kod för själva dll:en som du kan få.

Permalänk: https://www.webforum.nu/p/1073268

---

Tråden på webben: https://www.webforum.nu/amne/programmering/78758-key-capture
