コード例 #1
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
 public int Capture(int x1, int y1, int x2, int y2, string filePath)
 {
     return(Execute01((obj) =>
     {
         return DMCRef.Capture(_dm, x1, y1, x2, y2, filePath);
     }));
 }
コード例 #2
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
 // 按下指定的虚拟键码
 // vk_code 整形数:虚拟按键码
 // 返回值: 0:失败 1:成功
 public int KeyPress(int vkCode)
 {
     return(Execute01((obj) =>
     {
         return DMCRef.KeyPress(_dm, vkCode);
     }));
 }
コード例 #3
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
 //        抓取指定区域(x1, y1, x2, y2)的图像,保存为file(JPG压缩格式)
 //            参数定义:
 //        x1 整形数:区域的左上X坐标
 //        y1 整形数:区域的左上Y坐标
 //        x2 整形数:区域的右下X坐标
 //        y2 整形数:区域的右下Y坐标
 //        file 字符串:保存的文件名,保存的地方一般为SetPath中设置的目录
 //             当然这里也可以指定全路径名.
 //        quality 整形数: jpg压缩比率(1-100) 越大图片质量越好
 //        返回值:
 //        整形数:
 //        0:失败
 //        1:成功
 public int CaptureJpg(int x1, int y1, int x2, int y2, string filePath, int quality)
 {
     return(Execute01((obj) =>
     {
         return DMCRef.CaptureJpg(_dm, x1, y1, x2, y2, filePath, quality);
     }));
 }
コード例 #4
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
 //按下鼠标左键
 public int LeftClick()
 {
     return(Execute01((obj) =>
     {
         return DMCRef.LeftClick(_dm);
     }));
 }
コード例 #5
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
 //        把鼠标移动到目的点(x, y)
 //        返回值:
 //        整形数:
 //        0:失败
 //        1:成功
 public int MoveTo(int x, int y)
 {
     return(Execute01((obj) =>
     {
         return DMCRef.MoveTo(_dm, x, y);
     }));
 }
コード例 #6
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
 // 查找符合类名或者标题名的顶层可见窗口
 // 需要admin权限, 必须try
 // 参数定义:
 //  class 字符串 : 窗口类名,如果为空,则匹配所有.这里的匹配是模糊匹配.
 //  title 字符串: 窗口标题, 如果为空,则匹配所有.这里的匹配是模糊匹配.
 //  返回值:
 // 整形数:
 //  整形数表示的窗口句柄,没找到返回0
 public int FindWindow(string className, string title)
 {
     try
     {
         return(DMCRef.FindWindow(_dm, className, title));
     } catch (Exception)
     {
         return(-410);
     }
 }
コード例 #7
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
 // 获取窗口的标题
 public string GetWindowTitle(int hwnd)
 {
     try
     {
         return(DMCRef.GetWindowTitle(_dm, hwnd));
     } catch (Exception)
     {
         return("-410");
     }
 }
コード例 #8
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
        //        按下指定的虚拟键码
        //            参数定义:
        //        key_str 字符串: 字符串描述的键码.大小写无所谓.点这里查看具体对应关系.
        //        返回值: 0:失败 1:成功
        public int KeyPressChar(string charStr)
        {
            charStr = charStr.Trim();
            if (charStr.Length > 1 || charStr.Length == 0)
            {
                throw new System.ArgumentException("charStr must be char ", charStr);
            }

            return(Execute01((obj) =>
            {
                return DMCRef.KeyPressChar(_dm, charStr);
            }));
        }
コード例 #9
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
        protected virtual void Dispose(bool disposing)
        {
            if (disposed)
            {
                return;
            }

            if (disposing)
            {
                // 清理托管資源
            }

            // 清理非托管資源
            if (_dm != IntPtr.Zero)
            {
                UnBindWindow();
                _dm = IntPtr.Zero;
                int ret = DMCRef.FreeDM();
            }

            disposed = true;
        }
コード例 #10
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
 public int UseDict(DictIndex index)
 {
     return(DMCRef.UseDict(_dm, (int)index));
 }
コード例 #11
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
 public int UseDict(int index)
 {
     return(DMCRef.UseDict(_dm, index));
 }
コード例 #12
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
 public int SetDict(int index, string fileName)
 {
     return(DMCRef.SetDict(_dm, index, fileName));
 }
コード例 #13
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
 public int ScreenToClient(int hwnd, ref object x, ref object y)
 {
     return(DMCRef.ScreenToClient(_dm, hwnd, ref x, ref y));
 }
コード例 #14
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
 public int SetPath(string path)
 {
     return(DMCRef.SetPath(_dm, path));
 }
コード例 #15
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
 //        解除绑定窗口,并释放系统资源.一般在OnScriptExit调用
 //        返回值:
 ///        整形数:
 ///        0: 失败
 ///        1: 成功
 public int UnBindWindow()
 {
     return(DMCRef.UnBindWindow(_dm));
 }
コード例 #16
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
 public DMControl()
 {
     _dm = DMCRef.CreateDM(DM_REF_PATH);
 }
コード例 #17
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
 public string GetMachineCode()
 {
     return(Marshal.PtrToStringUni(DMCRef.GetMachineCode(_dm)));
 }
コード例 #18
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
 public string Ver()
 {
     return(Marshal.PtrToStringUni(DMCRef.Ver(_dm)));
 }
コード例 #19
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
 public int FindStrFast(int x1, int y1, int x2, int y2, string text, string colorFormat, double sim, out int intX, out int intY)
 {
     return(DMCRef.FindStrFast(_dm, x1, y1, x2, y2, text, colorFormat, sim, out intX, out intY));
 }
コード例 #20
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
 public string GetBasePath()
 {
     return(Marshal.PtrToStringUni(DMCRef.GetBasePath(_dm)));
 }
コード例 #21
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
 //
 public string OcrEx(int x1, int y1, int x2, int y2, string colorFormat, double sim)
 {
     return(Marshal.PtrToStringUni(DMCRef.OcrEx(_dm, x1, y1, x2, y2, colorFormat, sim)));
 }
コード例 #22
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
 // 识别位图中区域(x1,y1,x2,y2)的文字
 public string OcrInFile(int x1, int y1, int x2, int y2, string picName, string colorFormat, double sim)
 {
     return(DMCRef.OcrInFile(_dm, x1, y1, x2, y2, picName, colorFormat, sim));
 }
コード例 #23
0
ファイル: DMControl.cs プロジェクト: yzhang226/RadarClient
 // 获取窗口客户区域在屏幕上的位置
 public int GetClientRect(int hwnd, out int x1, out int y1, out int x2, out int y2)
 {
     return(DMCRef.GetClientRect(_dm, hwnd, out x1, out y1, out x2, out y2));
 }