unity3D HOOK 键盘事件
来源:互联网 发布:23游戏数据平台 编辑:程序博客网 时间:2024/05/20 23:08
using UnityEngine;using System.Collections;using System.Collections.Generic;using System;using System.Diagnostics;using System.Runtime.InteropServices;class InterceptKeys : MonoBehaviour{ private const int WH_KEYBOARD_LL = 13; private const int WM_KEYDOWN = 0x0100; private static LowLevelKeyboardProc _proc = HookCallback; private static IntPtr _hookID = IntPtr.Zero; void Start() { _hookID = SetHook(_proc); } void OnApplicationQuit() { UnhookWindowsHookEx(_hookID); } private static IntPtr SetHook(LowLevelKeyboardProc proc) { using (Process curProcess = Process.GetCurrentProcess()) using (ProcessModule curModule = curProcess.MainModule) { return SetWindowsHookEx(WH_KEYBOARD_LL, proc,GetModuleHandle(curModule.ModuleName), 0); } } private delegate IntPtr LowLevelKeyboardProc(int nCode, IntPtr wParam, IntPtr lParam); private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam) { if (nCode >= 0 && wParam == (IntPtr)WM_KEYDOWN) { int vkCode = Marshal.ReadInt32(lParam); UnityEngine.Debug.Log("Keydown:"+vkCode); } return CallNextHookEx(_hookID, nCode, wParam, lParam); } [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] private static extern IntPtr SetWindowsHookEx(int idHook, LowLevelKeyboardProc lpfn, IntPtr hMod, uint dwThreadId); [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] private static extern bool UnhookWindowsHookEx(IntPtr hhk); [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] private static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode,IntPtr wParam, IntPtr lParam); [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] private static extern IntPtr GetModuleHandle(string lpModuleName);}老外的帖子改的。连接:http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspx
0 0
- unity3D HOOK 键盘事件
- Unity3D入门 第贰章 :响应键盘事件
- 键盘HOOK
- 键盘 HOOK
- Unity3D学习笔记-输入输出-键盘事件、鼠标事件
- unity3d输入与控制——键盘事件
- unity3d输入与控制——键盘事件
- HOOK全局键盘钩子
- 操作键盘 hook
- IRP Hook 键盘Logger
- 鼠标键盘钩子(HOOK)
- IRP Hook 键盘Logger
- 鼠标键盘全局HOOK
- 全局hook键盘消息
- c# 钩子(hook)键盘
- 键盘钩子 HOOK
- 键盘事件
- 键盘事件
- F5 Networks:应用交付的“4G”挑战
- clock函数学习链接
- 获取当前的spring容器ApplicationContext 。
- Hive外部表操作
- SIFT特征提取代码
- unity3D HOOK 键盘事件
- 消息队列服务
- 正斜杠 和发斜杠的用法
- 使用springMVC如何接收一组对象
- 设置当前Activity背景是当前使用的壁纸
- 您常在哪些专业网站阅读行业资讯?
- Linux-ASoC驱动归纳总结
- <WinRAR4.01破解版>破解过程
- Android上传文件到Web服务器,PHP接收文件(二)