Strange Exception w/ Direct Input

Started by
1 comment, last by drewslater 20 years, 8 months ago
I am trying to use directinput with managed dx9. When I try to acquire a dinput device(keyboard) I get the following exception: ''Microsoft.DirectX.DirectInput.OtherApplicationHasPriorityException'' Does anyone know what could be causing this error?

private bool InitDirectInput()
		{
			try
			{
				keyboard = new Device(Microsoft.DirectX.DirectInput.SystemGuid.Keyboard);
				keyboard.SetDataFormat(DeviceDataFormat.Keyboard);	// Set data format to keyboard data

				// Set the cooperative level to foreground non-exclusive and deactivate windows key

				keyboard.SetCooperativeLevel(mainForm, 
					CooperativeLevelFlags.Foreground   | 
					CooperativeLevelFlags.NonExclusive |
					CooperativeLevelFlags.NoWindowsKey);

				// Try to access keyboard

				keyboard.Acquire();

	}
			catch(Exception ex)
			{
				MessageBox.Show("Error Initializing Direct Input: "+ex.ToString(),"Error!");
			}

ATS
Advertisement
learn C++

Try using CooperativeLevelFlags.Background and CooperativeLevelFlags.Exclusive.

.lick
Just figured out that it works when set to Background instead of foreground. There is no need for me to change the nonexclusive flag to exclusive for it to work. What is the difference? Pipo, thanks for the tip and btw I know c++ very well.

ATS

This topic is closed to new replies.

Advertisement