Windows simulate key input C#


化石原创文章,转载请注明来源并保留原文链接


Codeplex中有inputsimulator库,可以模拟按键的输入:

https://archive.codeplex.com/?p=inputsimulator

下载后解压,WindowsInput目录下的cs文件,按原来的目录放置到目标工程中,编译后就能使用该库。

示例代码(用Unity模拟):

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using WindowsInput;
using WindowsInput.Native;

public class simulat : MonoBehaviour {

	// Use this for initialization
	InputSimulator sim;
	void Start () {
		sim = new InputSimulator();		
	}
	
	// Update is called once per frame
	void Update () {

		if (Input.GetKeyDown (KeyCode.A)) {
			sim.Keyboard.KeyDown(VirtualKeyCode.SPACE);
		}

		if (Input.GetKeyUp (KeyCode.A)) {
			sim.Keyboard.KeyUp(VirtualKeyCode.SPACE);
		}

		if (Input.GetKeyDown(KeyCode.Space)) {
			Debug.Log ("Space key down");
		}

		if (Input.GetKey(KeyCode.Space)) {
			Debug.Log ("Space key pressed");
		}

		if (Input.GetKeyUp(KeyCode.Space)) {
			Debug.Log ("Space key up");
		}		
	}
}

该代码在按下A键的时候,模拟是了空格键(Space)被按下的效果。


化石原创文章,转载请注明来源并保留原文链接


发表评论

电子邮件地址不会被公开。 必填项已用*标注