private JoystickInterface.Joystick jst;
public Form1()
{
InitializeComponent();
jst = new JoystickInterface.Joystick(Handle);
}
加入 jst = new JoystickInterface.Joystick(Handle); 后。连第一行的初始化都不运行了。
请教这时什么问题啦? 我是vs2016
public Form1()
{
InitializeComponent();
jst = new JoystickInterface.Joystick(Handle);
}
加入 jst = new JoystickInterface.Joystick(Handle); 后。连第一行的初始化都不运行了。
请教这时什么问题啦? 我是vs2016
{
MessageBox.Show("test");
// grab the joystick
//jst = new JoystickInterface.Joystick(Handle);
//string[] sticks = jst.FindJoysticks();
//jst.AcquireJoystick(sticks[0]);不屏蔽就启动不了,无任何反应。
你确定是 handle 的问题 如果你认为是 那你就下断点看看是不是 0 如果不是 0 那就是 你调用的那个东西 有问题的
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent(); Device dev;
//枚举所有设备,游戏手柄只有1个,只取一个GUID
Guid id = new Guid();
foreach (DeviceInstance di in Manager.GetDevices(DeviceClass.GameControl, EnumDevicesFlags.AttachedOnly))
{
id = di.ProductGuid;
}
dev = new Device(id); JoystickState joy = new JoystickState();
}
}
}只要加入下面的代码调试启动,就完全没反应, InitializeComponent();的断点都不执行。 难道是VS2015 版本问题?
可以在打开窗体的时候暂停调试,查看堆栈
JoystickState joy = new JoystickState();
删掉也一样。
线程 0xe94 已退出,返回值为 0 (0x0)。
线程 0x148c 已退出,返回值为 0 (0x0)。
线程 0x2094 已退出,返回值为 0 (0x0)。
线程 0x1dfc 已退出,返回值为 0 (0x0)。
“Joystick.vshost.exe”(CLR v4.0.30319: Joystick.vshost.exe): 已加载“d:\Documents\Visual Studio 2015\Projects\Joystick\Joystick\bin\Debug\Joystick.exe”。已加载符号。
这个是因为一个loaderlock问题导致启动不了,刚刚遇到了