操作一个虚拟鼠标

创建一个虚拟鼠标,在AddDevice中

	status = IoCreateDevice (DriverObject,
		sizeof(DEVICE_EXTENSION),
		NULL,
		FILE_DEVICE_MOUSE,
		0,
		true,	// Not exclusive
		&fdo);
这样创建的设备,即便创建符号链接,也不可能在应用程序中打开。
这需要在DriverEntry中创建一个另外一个设备,然后操作这个设备。
 
	UNICODE_STRING deviceLinkUnicodeString;
	RtlInitUnicodeString(&deviceLinkUnicodeString, DOS_DEVICE_NAME);
	status = IoCreateSymbolicLink(&deviceLinkUnicodeString, &deviceNameUnicodeString);
	if (!NT_SUCCESS(status))
	{
		if (FunctionDevice)
		{
			IoDeleteDevice(FunctionDevice);
			return status;
		}
	}
posted @ 2009-11-01 23:32  Fan Zhang  阅读(469)  评论(0)    收藏  举报