骄阳可汗 发表于 2013-8-20 16:12:43

C# 程序最小化后如何接收摇杆发来的数据

本帖最后由 骄阳可汗 于 2013-8-20 16:14 编辑

各位,小弟我初学C#,遇到点问题。具体是这样:
摇杆是通过USB口向PC机发送数据。用C#写了WINFORM程序来接收这些数据。问题是,如果这个WINFORM程序不在前台运行的话(例如最小化后),数据就无法接收到。郁闷啊!!!问了高手,说要用什么WINDOWS API。
这个问题貌似不需要贴什么代码呵

骄阳可汗 发表于 2013-8-20 16:13:49

第一次发布悬赏,原来还要交税的啊。

skynet 发表于 2013-8-20 16:16:11

这个貌似要用钩子,C++干这个是强项,C#要调用API,太久没用API了,那玩意看了蛋疼

骄阳可汗 发表于 2013-8-20 16:19:14

skynet 发表于 2013-8-20 16:16 static/image/common/back.gif
这个貌似要用钩子,C++干这个是强项,C#要调用API,太久没用API了,那玩意看了蛋疼 ...

哎,C还是比较熟悉,C#刚刚学一点,C++么,o(╯□╰)o

沧海清风 发表于 2013-8-20 16:21:48

窗体不要Dispose了 在main或窗体的构造函数里 做个线程 用于处理你的数据交换 不要放在窗体程序里处理就行了

E-WALKER 发表于 2013-8-20 16:47:56

沧海清风 发表于 2013-8-20 16:21 static/image/common/back.gif
窗体不要Dispose了 在main或窗体的构造函数里 做个线程 用于处理你的数据交换 不要放在窗体程序里处理就行 ...

好方法!

骄阳可汗 发表于 2013-8-20 20:24:26

沧海清风 发表于 2013-8-20 16:21 static/image/common/back.gif
窗体不要Dispose了 在main或窗体的构造函数里 做个线程 用于处理你的数据交换 不要放在窗体程序里处理就行 ...

using System;
using System.Windows.Forms;

namespace JoystickTest
{
    static class Program
    {
      
      static void Main()
      {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MainForm());
      }
    }
}

这个是program.cs 是在这里处理吗?{:smile:}

骄阳可汗 发表于 2013-8-20 20:43:36

skynet 发表于 2013-8-20 16:16 static/image/common/back.gif
这个貌似要用钩子,C++干这个是强项,C#要调用API,太久没用API了,那玩意看了蛋疼 ...

API。。。好多啊,具体用哪个函数呢。不好搜啊。。。

骄阳可汗 发表于 2013-8-20 21:52:28

还是自己解决了,灵感瞬间爆发,哈哈

沧海清风 发表于 2013-8-21 16:26:20

骄阳可汗 发表于 2013-8-20 20:24 static/image/common/back.gif
using System;
using System.Windows.Forms;




在 Application.Run 之前 实例化个线程处理即可

Friendz 发表于 2013-8-24 12:39:17

骄阳可汗 发表于 2013-8-20 21:52 static/image/common/back.gif
还是自己解决了,灵感瞬间爆发,哈哈

发了悬赏贴很容易自己解决问题,我也有同感。

骄阳可汗 发表于 2013-9-9 19:40:29

我已经自己解决了,请问这50莫元给谁?
页: [1]
查看完整版本: C# 程序最小化后如何接收摇杆发来的数据