Example #1
0
 /// <summary>
 /// BindEx自定义绑定参数
 /// </summary>
 /// <param name="hwnd"></param>
 /// <param name="display"></param>
 /// <param name="mouse"></param>
 /// <param name="keypad"></param>
 /// <param name="_public"></param>
 /// <param name="mode"></param>
 /// <returns></returns>
 public bool BindWindowEx(int hwnd, string display, string mouse, string keypad, string _public,DmBindMode mode)
 {
     if (IsBind)
     {
         if (BindType == WindowBindType.BindEx)
         {
             return true;
         }
         UnBind();
     }
     int dmRet = Dm.BindWindowEx(hwnd,display,mouse,keypad,_public,mode);
     if (dmRet == 0)
     {
         IsBind = false;
         BindType = WindowBindType.None;
         return false;
     }
     BindType = WindowBindType.BindEx;
     IsBind = true;
     return true;
 }
Example #2
0
 /// <summary>
 /// 【后台】绑定指定的窗口,并指定这个窗口的屏幕颜色获取方式,鼠标仿真模式,键盘仿真模式,以及模式设定,高级用户可以参考BindWindowEx更加灵活强大
 /// </summary>
 /// <param name="hwnd">指定的窗口句柄</param>
 /// <param name="display">窗口绑定屏幕颜色获取方式</param>
 /// <param name="mouse">窗口绑定鼠标仿真模式</param>
 /// <param name="keypad">窗口绑定键盘仿真模式</param>
 /// <param name="mode">窗口绑定模式</param>
 /// <returns>0.失败,1.成功</returns>
 public int BindWindow(int hwnd, DmBindDisplay display, DmBindMouse mouse, DmBindKeypad keypad, DmBindMode mode)
 {
     return NativeMethods.BindWindow(_dm, hwnd, display.ToString(), mouse.ToString(), keypad.ToString(), (int)mode);
 }
Example #3
0
 /// <summary>
 /// 【后台】绑定指定的窗口,并指定这个窗口的屏幕颜色获取方式,鼠标仿真模式,键盘仿真模式 高级用户使用
 /// </summary>
 /// <param name="hwnd">指定的窗口句柄</param>
 /// <param name="display">屏幕颜色获取方式 取值有以下几种:
 /// "normal" : 正常模式,平常我们用的前台截屏模式
 /// "gdi" : gdi模式,用于窗口采用GDI方式刷新时. 此模式占用CPU较大.
 /// "gdi2" : gdi2模式,此模式兼容性较强,但是速度比gdi模式要慢许多,如果gdi模式发现后台不刷新时,可以考虑用gdi2模式.
 /// "dx2" : dx2模式,用于窗口采用dx模式刷新,如果dx方式会出现窗口进程崩溃的状况,可以考虑采用这种.采用这种方式要保证窗口有一部分在屏幕外.win7或者vista不需要移动也可后台. 此模式占用CPU较大.
 /// "dx3" : dx3模式,同dx2模式,但是如果发现有些窗口后台不刷新时,可以考虑用dx3模式,此模式比dx2模式慢许多. 此模式占用CPU较大.
 /// dx模式,用于窗口采用dx模式刷新,取值可以是以下任意组合,组合采用"|"符号进行连接  注意此模式需要管理员权限
 /// 1. "dx.graphic.2d"  2d窗口的dx图色模式  此模式比较耗费资源,慎用.
 /// 2. "dx.graphic.3d"  3d窗口的dx图色模式,注意采用这个模式,必须关闭窗口3D视频设置的全屏抗锯齿选项. 此模式比较耗费资源,慎用.</param>
 /// <param name="mouse">鼠标仿真模式 取值有以下几种:
 /// "normal" : 正常模式,平常我们用的前台鼠标模式
 /// "windows": Windows模式,采取模拟windows消息方式 同按键的后台插件.
 /// "windows3": Windows3模式,采取模拟windows消息方式,可以支持有多个子窗口的窗口后台
 /// dx模式,取值可以是以下任意组合. 组合采用"|"符号进行连接 注意此模式需要管理员权限
 /// 1. "dx.mouse.position.lock.api"  此模式表示通过封锁系统API,来锁定鼠标位置.
 /// 2. "dx.mouse.position.lock.message" 此模式表示通过封锁系统消息,来锁定鼠标位置.
 /// 3. "dx.mouse.focus.input.api" 此模式表示通过封锁系统API来锁定鼠标输入焦点.
 /// 4. "dx.mouse.focus.input.message"此模式表示通过封锁系统消息来锁定鼠标输入焦点.
 /// 5. "dx.mouse.clip.lock.api" 此模式表示通过封锁系统API来锁定刷新区域。注意,使用这个模式,在绑定前,必须要让窗口完全显示出来.
 /// 6. "dx.mouse.input.lock.api" 此模式表示通过封锁系统API来锁定鼠标输入接口.
 /// 7. "dx.mouse.state.api" 此模式表示通过封锁系统API来锁定鼠标输入状态.
 /// 8. "dx.mouse.state.message" 此模式表示通过封锁系统消息来锁定鼠标输入状态.
 /// 9. "dx.mouse.api"  此模式表示通过封锁系统API来模拟dx鼠标输入.
 /// 10. "dx.mouse.cursor"  开启此模式,可以后台获取鼠标特征码. (此模式仅支持按键和简单游平台)</param>
 /// <param name="keypad">键盘仿真模式 取值有以下几种:
 /// "normal" : 正常模式,平常我们用的前台键盘模式
 /// "windows": Windows模式,采取模拟windows消息方式 同按键的后台插件.
 /// dx模式,取值可以是以下任意组合. 组合采用"|"符号进行连接 注意此模式需要管理员权限
 /// 1. "dx.keypad.input.lock.api" 此模式表示通过封锁系统API来锁定键盘输入接口.
 /// 2. "dx.keypad.state.api" 此模式表示通过封锁系统API来锁定键盘输入状态.
 /// 3. "dx.keypad.api" 此模式表示通过封锁系统API来模拟dx键盘输入.</param>
 /// <param name="publicDesc">公共属性 dx模式共有  注意以下列表中,前面打五角星的表示需要管理员权限。
 /// 取值可以是以下任意组合. 组合采用"|"符号进行连接 这个值可以为空
 /// 1. ★ "dx.public.active.api" 此模式表示通过封锁系统API来锁定窗口激活状态.  注意,部分窗口在此模式下会耗费大/// 量资源 慎用. 
 /// 2. ★ "dx.public.active.message" 此模式表示通过封锁系统消息来锁定窗口激活状态.  注意,部分窗口在此模式下会耗费大量资源慎用. 另外如果要让此模式生效,必须在绑定前,让绑定窗口处于激活状态(或者绑定以后再激活),否则此模式将失效.
 /// 3.    "dx.public.disable.window.position" 此模式将锁定绑定窗口位置.不可与"dx.public.fake.window.min"共用.
 /// 4.    "dx.public.disable.window.size" 此模式将锁定绑定窗口,禁止改变大小. 不可与"dx.public.fake.window.min"共用.
 /// 5.    "dx.public.disable.window.minmax" 此模式将禁止窗口最大化和最小化,但是付出的代价是窗口同时也会被置顶. 不可与"dx.public.fake.window.min"共用.
 /// 6.    "dx.public.fake.window.min" 此模式将允许目标窗口在最小化状态时,仍然能够像非最小化一样操作.此模式仅支持简单游与按键,小精灵等其它一律不支持. 另注意,此模式会导致任务栏顺序重排,所以如果是多开模式下,会看起来比较混乱,建议单开使用,多开不建议使用.</param>
 /// <param name="mode">窗口绑定模式</param>
 /// <returns>0.失败,1.成功</returns>
 public int BindWindowEx(int hwnd, string display, string mouse, string keypad, string publicDesc, DmBindMode mode)
 {
     return NativeMethods.BindWindowEx(_dm, hwnd, display, mouse, keypad, publicDesc, (int)mode);
 }
Example #4
0
        /// <summary>
        /// BindEx自定义绑定参数
        /// </summary>
        /// <param name="hwnd"></param>
        /// <param name="display"></param>
        /// <param name="mouse"></param>
        /// <param name="keypad"></param>
        /// <param name="_public"></param>
        /// <param name="mode"></param>
        /// <returns></returns>
        public bool BindWindowEx(int hwnd, string display, string mouse, string keypad, string _public, DmBindMode mode)
        {
            if (IsBind)
            {
                if (BindType == WindowBindType.BindEx)
                {
                    return(true);
                }
                UnBind();
            }
            int dmRet = Dm.BindWindowEx(hwnd, display, mouse, keypad, _public, mode);

            if (dmRet == 0)
            {
                IsBind   = false;
                BindType = WindowBindType.None;
                return(false);
            }
            BindType = WindowBindType.BindEx;
            IsBind   = true;
            return(true);
        }