本文整理汇总了Java中com.jacob.com.Variant类的典型用法代码示例。如果您正苦于以下问题:Java Variant类的具体用法?Java Variant怎么用?Java Variant使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
Variant类属于com.jacob.com包,在下文中一共展示了Variant类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getFieldValueAsVariant
import com.jacob.com.Variant; //导入依赖的package包/类
private Variant getFieldValueAsVariant(String field) {
Variant res = Dispatch.call(this, "FieldValue", field);
if (res.getvt() == Variant.VariantEmpty) {
return null;
} else if (res.getvt() == Variant.VariantError) {
return null;
}
return res;
}
示例2: readStr
import com.jacob.com.Variant; //导入依赖的package包/类
/**
* 指定区域内读取文字
* <li>须提前设置好点阵字库 {@link Com#setDict(int, String)}
* @param xStart 区域的左上X坐标
* @param yStart 区域的左上Y坐标
* @param xEnd 区域的右下X坐标
* @param yEnd 区域的右下Y坐标
* @param colorFormat 颜色格式串
* <li>RGB单色识别:"9f2e3f-000000"
* <li>RGB单色差色识别:"9f2e3f-030303"
* <li>RGB多色识别(最多支持10种,每种颜色用"|"分割):"9f2e3f-030303|2d3f2f-000000|3f9e4d-100000"
* <li>HSV多色识别(最多支持10种,每种颜色用"|"分割):"20.30.40-0.0.0|30.40.50-0.0.0"
* <li>背景色识别:"[email protected]"
* @param lineBreak 换行符,为空或者null则不使用换行符分割。读取的文字每行换行时会加上此字符串作为换行分割
* @param sim 相似度,取值范围0.1-1.0 , 一般情况下0.9即可。越大,查找的越精准,误差越小,速度越快
* @param useDict 字库的序号,以此来设定使用哪个字库. {@link Com#setDict(int, String)} 便是此设置的int序号
* @return String 若是没找到,返回null
*/
public String readStr(int xStart,int yStart,int xEnd,int yEnd,String colorFormat,String lineBreak, double sim,int useDict){
String xnx3_result="";
try {
active.invoke("UseDict",useDict);
Variant[] var=new Variant[6];
var[0]=new Variant(xStart);
var[1]=new Variant(yStart);
var[2]=new Variant(xEnd);
var[3]=new Variant(yEnd);
var[4]=new Variant(colorFormat);
var[5]=new Variant(sim);
xnx3_result=active.invoke("Ocr",var).getString();
} catch (Exception e) {
e.printStackTrace();
log.debug(this,"readStr","读取文字异常捕获:"+e.getMessage());
}
if(xnx3_result.length()==0){
xnx3_result=null;
}
return xnx3_result;
}
示例3: setDict
import com.jacob.com.Variant; //导入依赖的package包/类
/**
* 设置点阵字库
* @param num 字库的序号,取值为0-9,目前最多支持10个字库,序号设置不可以重复
* @param fileName 字库文件名,如 mapPositionDict.txt ,此文件须位于设置的 {@link Com#setResourcePath(String)} 资源路径里,也就是资源路径必须于此函数之前先设置好
* @return boolean true:成功
*/
public boolean setDict(int num,String fileName){
boolean xnx3_result=false;
Variant[] var=new Variant[2];
try {
var[0]=new Variant(num);
var[1]=new Variant(fileName);
if(activeBean.getDm().invoke("SetDict",var).getInt()==1){
xnx3_result=true;
}
} catch (Exception e) {
e.printStackTrace();
log.debug(this, "setDict", "异常:"+e.getMessage());
}finally{
var=null;
}
return xnx3_result;
}
示例4: findColor
import com.jacob.com.Variant; //导入依赖的package包/类
/**
* 判断某点颜色是否跟指定的相同或相似
* @param x X坐标
* @param y Y坐标
* @param color 颜色字符串,可以支持偏色,多色,例如 "ffffff-202020|000000-000000" 这个表示白色偏色为202020,和黑色偏色为000000.颜色最多支持10种颜色组合.
* @param similarity 相似度(0.1-1.0)
* @return 若颜色匹配,此点是这颜色,则返回true
*/
public boolean findColor(int x,int y,String color,float similarity){
boolean xnx3_result=false;
try {
Variant[] var=new Variant[4];
var[0]=new Variant(x);
var[1]=new Variant(y);
var[2]=new Variant(color);
var[3]=new Variant(similarity);
int cmpColor=activeDm.invoke("CmpColor",var).getInt();
var=null;
if(cmpColor==0){
xnx3_result=true;
}
cmpColor=0;
} catch (Exception e) {
log.debug(this,"findColor","获取颜色异常捕获:"+e.getMessage());
}
return xnx3_result;
}
示例5: moveWindow
import com.jacob.com.Variant; //导入依赖的package包/类
/**
* 移动窗口到屏幕指定坐标点
* @param hwnd 移动窗口的句柄
* @return 成功:true
*/
public boolean moveWindow(int hwnd,int x, int y){
boolean xnx3_result=false;
Variant[] var=new Variant[3];
try {
var[0]=new Variant(hwnd);
var[1]=new Variant(x);
var[2]=new Variant(y);
int getResult=active.invoke("MoveWindow",var).getInt();
if(getResult==1){ //成功
xnx3_result=true;
}
} catch (Exception e) {
e.printStackTrace();
log.debug(this,"MoveWindow","移动窗口时异常捕获:"+e.getMessage());
}finally{
var=null;
}
return xnx3_result;
}
示例6: setWindowSize
import com.jacob.com.Variant; //导入依赖的package包/类
/**
* 设置指定窗口的大小
* @param hwnd 窗口句柄
* @param width 要设置成的宽度
* @param height 要设置成的高度
* @return 设置成功返回true
*/
public boolean setWindowSize(int hwnd,int width,int height){
Variant[] var=new Variant[3];
int result=0;
try {
var[0]=new Variant(hwnd);
var[1]=new Variant(width);
var[2]=new Variant(height);
result=this.active.invoke("SetClientSize",var).getInt();
} catch (Exception e) {
log.debug(this, "setWindowSize", "异常捕获:"+e.getMessage());
}finally{
var=null;
}
return result==1;
}
示例7: setWindowTitle
import com.jacob.com.Variant; //导入依赖的package包/类
/**
* 设置窗口的标题
* @param hwnd 指定的窗口句柄
* @param title 新标题
* @return boolean true:成功
*/
public boolean setWindowTitle(int hwnd,String title){
Variant[] var=new Variant[2];
int result=0;
try {
var[0]=new Variant(hwnd);
var[1]=new Variant(title);
result=this.active.invoke("SetWindowText",var).getInt();
} catch (Exception e) {
log.debug(this, "SetWindowText", "异常捕获:"+e.getMessage());
}finally{
var=null;
}
return result==1;
}
示例8: setWindowTransparent
import com.jacob.com.Variant; //导入依赖的package包/类
/**
* 设置窗口的透明度
* @param hwnd 指定的窗口句柄
* @param trans 透明度取值(0-255) 越小透明度越大 0为完全透明(不可见) 255为完全显示(不透明)
* @return boolean true:成功
*/
public boolean setWindowTransparent(int hwnd,int trans){
Variant[] var=new Variant[2];
int result=0;
try {
var[0]=new Variant(hwnd);
var[1]=new Variant(trans);
result=this.active.invoke("setWindowTransparent",var).getInt();
} catch (Exception e) {
log.debug(this, "setWindowTransparent", "异常捕获:"+e.getMessage());
}finally{
var=null;
}
return result==1;
}
示例9: windowState
import com.jacob.com.Variant; //导入依赖的package包/类
/**
* 判断窗口的状态,获得一些窗口的属性,可直接使用 可直接使用 {@link Window#windowIsExist(int)} 、 {@link Window#windowIsVisible(int)} ...
* @param hwnd 指定的窗口句柄
* @param type 查询的状态:<li>0 : 判断窗口是否存在
* <li>1 : 判断窗口是否处于激活
* <li>2 : 判断窗口是否可见
* <li>3 : 判断窗口是否最小化
* <li>4 : 判断窗口是否最大化
* <li>5 : 判断窗口是否置顶
* <li>6 : 判断窗口是否无响应
* @return boolean true:是
*/
public boolean windowState(int hwnd,int type){
Variant[] var=new Variant[2];
int result=0;
try {
var[0]=new Variant(hwnd);
var[1]=new Variant(type);
result=this.active.invoke("GetWindowState",var).getInt();
} catch (Exception e) {
log.debug(this, "windowState", "异常捕获:"+e.getMessage());
}finally{
var=null;
}
return result==1;
}
示例10: findWindow
import com.jacob.com.Variant; //导入依赖的package包/类
/**
* 查找符合类名或者标题名的顶层可见窗口,如果指定了parentHwnd,则在parentHwnd的第一层子窗口中查找.
* @param parentHwnd 父窗口句柄,如果为0,则匹配所有顶层窗口
* @param className 窗口类名,如果为空,则匹配所有. 这里的匹配是模糊匹配.
* @param title 窗口标题,如果为空,则匹配所有. 这里的匹配是模糊匹配.
* @return 找到的窗口句柄,0为没有找到
*/
public int findWindow(int parentHwnd,String className,String title){
Variant[] var=new Variant[3];
int result=0;
if(className==null){
className="";
}
if(title==null){
title="";
}
try {
var[0]=new Variant(parentHwnd);
var[1]=new Variant(className);
var[2]=new Variant(title);
result=this.active.invoke("FindWindowEx",var).getInt();
} catch (Exception e) {
e.printStackTrace();
log.debug(this, "findChildWindow", "异常捕获:"+e.getMessage());
}finally{
var=null;
}
return result;
}
示例11: getWindowRect
import com.jacob.com.Variant; //导入依赖的package包/类
/**
* 获取窗口在屏幕上的位置,窗口可被遮挡,不可最小化
* @param hwnd 目标窗口句柄
* @return int[] 参数介绍:
* <li>[0]:调用C函数执行情况。 0失败;1成功
* <li>[1]:返回窗口左上角X坐标
* <li>[2]:返回窗口左上角Y坐标
* <li>[3]:返回窗口右下角X坐标
* <li>[4]:返回窗口右下角Y坐标
*/
public int[] getWindowRect(int hwnd){
int result[]={0,0,0,0,0};
Variant[] var=new Variant[5];
try{
var[0]=new Variant(hwnd);
var[1]=new Variant(0,true);
var[2]=new Variant(0,true);
var[3]=new Variant(0,true);
var[4]=new Variant(0,true);
result[0]=active.invoke("GetWindowRect",var).getInt();
}catch (Exception e) {
e.printStackTrace();
}finally{
result[1]=var[1].getInt();
result[2]=var[2].getInt();
result[3]=var[3].getInt();
result[4]=var[4].getInt();
var=null;
}
return result;
}
示例12: findPics
import com.jacob.com.Variant; //导入依赖的package包/类
/**
* 查找图片,返回找到的所有图片,限制1500个以内
* @param xStart 区域的左上X坐标
* @param yStart 区域的左上Y坐标
* @param xEnd 区域的右下X坐标
* @param yEnd 区域的右下Y坐标
* @param pic 图像集,多个用|分割,24位色bmp格式,且边框为同一种颜色,比如"test.bmp|test2.bmp|test3.bmp"
* @param deviationColor 颜色偏差,比如"203040" 表示RGB的色偏分别是20 30 40 (这里是16进制表示)
* @param sim 相似度,取值范围0.1-1.0 , 一般情况下0.9即可<li>越大,查找的越精准,误差越小,速度越快
* @param order <li>0: 从左到右,从上到下
* <li>1: 从左到右,从下到上
* <li>2: 从右到左,从上到下
* <li>3: 从右到左, 从下到上
* @return 返回找到的所有图片,格式如:"id,x,y|id,x,y..|id,x,y"
* <br/>比如"0,100,20|2,30,40" 表示找到了两个,第一个,对应的图片是图像序号为0的图片,坐标是(100,20),第二个是序号为2的图片,坐标(30,40)
* <li>出错返回null
*/
public String findPics(int xStart,int yStart,int xEnd,int yEnd,String pic,String deviationColor,double sim,int order){
String result=null;
Variant[] var=new Variant[8];
try {
var[0]=new Variant(xStart);
var[1]=new Variant(yStart);
var[2]=new Variant(xEnd);
var[3]=new Variant(yEnd);
var[4]=new Variant(pic);
var[5]=new Variant(deviationColor);
var[6]=new Variant(sim);
var[7]=new Variant(order);
result=active.invoke("FindPicEx",var).getString();
} catch (Exception e) {
e.printStackTrace();
log.debug(this,"findPicExPositions","查找图片异常捕获:"+e.getMessage());
}finally{
var=null;
}
return result;
}
示例13: isDisplayDead
import com.jacob.com.Variant; //导入依赖的package包/类
/**
* 判断指定的区域,在指定的时间内(秒),图像数据是否一直不变.(卡屏)
* <li>若是出现变化,会立即中断计时,返回false
* <li>若未出现变化,则会阻塞 time 的时间
* @param xStart 区域的左上X坐标
* @param yStart 区域的左上Y坐标
* @param xEnd 区域的右下X坐标
* @param yEnd 区域的右下Y坐标
* @param time 需要等待的时间,单位是秒
* @return true:是一直不变
*/
public boolean isDisplayDead(int xStart,int yStart,int xEnd,int yEnd,int time){
Variant[] var=new Variant[5];
int result=0;
try {
var[0]=new Variant(xStart);
var[1]=new Variant(yStart);
var[2]=new Variant(xEnd);
var[3]=new Variant(yEnd);
var[4]=new Variant(time);
result=this.active.invoke("IsDisplayDead",var).getInt();
} catch (Exception e) {
e.printStackTrace();
log.debug(this, "isDisplayDead", "异常捕获:"+e.getMessage());
}finally{
var=null;
}
return result==1;
}
示例14: screenImage
import com.jacob.com.Variant; //导入依赖的package包/类
/**
* 截图保存,保存为png格式
* @param xStart 区域的左上X坐标
* @param yStart 区域的左上Y坐标
* @param xEnd 区域的右下X坐标
* @param yEnd 区域的右下Y坐标
* @param fileName 保存的文件名
* <li>只有文件名,如 "xnx3.png" 保存的地方为 {@link Com#setResourcePath(String)} 中设置的目录
* <li>也可以指定全路径名,如"c:\\xunxian\\xnx3.png"
*/
public void screenImage(int xStart,int yStart,int xEnd,int yEnd, String fileName){
try {
int enableDisplayDebug=active.invoke("EnableDisplayDebug",1).getInt();
if(enableDisplayDebug==0){
log.debug(this,"screenImage","EnableDisplayDebug-截图开启失败");
}
Variant[] var=new Variant[5];
var[0]=new Variant(xStart);
var[1]=new Variant(yStart);
var[2]=new Variant(xEnd);
var[3]=new Variant(yEnd);
var[4]=new Variant(fileName);
int capTurePre=active.invoke("CapturePng",var).getInt();
var=null;
if(capTurePre==0){
log.debug(this,"screenImage","截图失败");
}
active.invoke("EnableDisplayDebug",0);
} catch (Exception e) {
log.debug(this,"screenImage","截图异常捕获:"+e.getMessage());
}
}
示例15: beep
import com.jacob.com.Variant; //导入依赖的package包/类
/**
* 蜂鸣器,进行发音蜂鸣
* @param frequency 频率,50到10000之间便可,数值越大越尖越刺耳,一般情况500就可
* @param time 蜂鸣时间,单位为毫秒
* @return true:成功
*/
public boolean beep(int frequency,int time){
Variant[] var=new Variant[2];
int result=0;
try {
var[0]=new Variant(frequency);
var[1]=new Variant(time);
result=this.activeDm.invoke("Beep",var).getInt();
} catch (Exception e) {
log.debug(this, "beep", "异常捕获:"+e.getMessage());
}finally{
var=null;
}
return result==1;
}