主题 : 利用WaitForSingleObject 讀取 userkey 但事都只讀到000000 ? 有興趣的玩一玩 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 13079
精华: 0
发帖: 13
金钱: 65 两
威望: 13 点
综合积分: 26 分
注册时间: 2010-01-18
最后登录: 2010-02-12
楼主  发表于: 2010-01-21 15:33

 利用WaitForSingleObject 讀取 userkey 但事都只讀到000000 ? 有興趣的玩一玩

        private const int EVENT_ALL_ACCESS = 0x1F0003;
        private const string ActiveName = "FriendlyARM/ButtonEvent";
        private IntPtr activitySignal;

        [DllImport("coredll.dll")]
        private static extern IntPtr OpenEvent(int desiredAccess, bool inheritHandle, string name);
        [DllImport("coredll.dll")]
        private static extern int WaitForSingleObject(IntPtr handle, int milliseconds);

                ...
        activitySignal = OpenEvent(EVENT_ALL_ACCESS, false, ActiveName);
        if(activitySignal == IntPtr.Zero) {
                return;
        }

                ...

        void Timer1Tick(object sender, EventArgs e)
        {
            int status;
            status = WaitForSingleObject(activitySignal, 1000);
            
            if (status == 0) {
                count++;
                //System.Threading.Thread.Sleep(200);
                textBox3.Text  = "";
                textBox3.Text += count.ToString();
                textBox3.Text += "--";
                textBox3.Text += status.ToString();
                
                byte[] pout = new Byte[6];
                textBox2.Text = "";
                
                for(int i=1;i<=10;i++) {
                    
                    ReadFile(kPort,pout,6,0, IntPtr.Zero);
                    
                    
                }
                for(int i=0;i<=5;i++) {
                    textBox2.Text += pout.ToString();
                }
            }
        }
级别: 新手上路
UID: 13079
精华: 0
发帖: 13
金钱: 65 两
威望: 13 点
综合积分: 26 分
注册时间: 2010-01-18
最后登录: 2010-02-12
1楼  发表于: 2010-01-21 16:18
狀況補充
一直按著的話 Event會抓不到
持續的按下 放開會抓的很順
當然啦 是指WaitForSingleObject
讀值 一樣讀不到