电脑+扫描枪 扫描条码。
在进入扫描枪扫描条码时,担心其他程序把焦点移走或鼠标点走了。扫描的条码就没有取到。我想按了扫描button后,锁住整个电脑屏幕,让QQ,msn的弹出消息 以及 鼠标都点不到其他地方,同时限制光标在一个固定文本框。 当我按某个快捷键时,退出此限制。有二个地方不知道怎么做。
1.怎么限制其他程序不会抢走我的这个窗口
2.怎么把光标限制在一个文本输入框谢谢!

解决方案 »

  1.   

    把QQ,msn等关掉不就可以了。好的用户程序是不应该抢输入焦点的。
      

  2.   

    做一个定时器检查,失去焦点之后,再设回来!
    但最好有个 checkbox ,是否这样做自动?
      

  3.   

    你上班还有时间玩QQ,msn,你们老板真好?
      

  4.   

    扫描枪,无非是键盘输入,搜搜 Hook 键盘消息
      

  5.   

    不是我玩QQ,msn,是程序最后给客户用。
      

  6.   


    我的问题就是为什么扫描的资料必须放到有焦点的textbox中?
      

  7.   

    可以获取到,就是keydown事件,调用api来抓取.我们公司也有这个设备.
    不过给客户用,软件说明里就应该规范,不然你考虑的东西太多了.
      

  8.   

    //FindWindow //查找特定窗口句柄 
    //SetForegroundWindow // 设置为活动窗体,并激活
    //SetFocus //设置焦点 
    int hwnd = FindWindow(null, "Form1");
    IntPtr p = new IntPtr(hwnd);
    if (p == IntPtr.Zero)
       return;
    SetForegroundWindow(p);
    SetFocus(textBox3.Handle);如果写外部程序里,需要用到FindWindowEx
    获取(textBox3.Handle)子窗口句柄
      

  9.   

    这个很简单,放一个 Timer ,100毫秒,然后如下:
    bool keepforce = true;private void timer1_Tick(object sender, EventArgs e)
    {
        if (keepforce)
        {
            this.Activate();
            textBox1.Focus();
        }
    }
      

  10.   

    光标限制在屏幕一定范围内是可以的,有个windowsAPi可以做到,像以前的网吧管理软件就有类似功能。