琴云 qinyung.cn

 找回密码
 立即注册
搜索
热搜: UG 模具 琴云
琴云 qinyung.cn 琴云空间 琴云历程 查看内容

UG GRIP调用API

2018-9-12 21:27| 发布者: admin| 查看: 19| 评论: 0

摘要: UG 中GRIP调用API
UG 中GRIP调用API
以下是grip代码
number / nnm(3)
string / str(32),f(132)
nnm(1)=2
f='C:\UF_XLH\Debug\UF_XLH.dll' $$ UF_XLH.dll文件路径不能含空格和中文
grargs / str,nnm
xspawn / ufun,f,iferr,LMM0:
IF/nnm(1)==2,JUMP/LMM0:
JUMP/LMM1:
LMM0:
messg/'UF_XLH.dll文件丢失。'
HALT
LMM1:
ifthen/lenf(str)<8
messg/'错误的序列号'
halt
endif
PRINT/'C盘序列号:'+str
halt
以下是api代码
#include <Windows.h>
    LPTSTR namebuf=new char[12];
DWORD namesize=12;
DWORD serialnumber;
DWORD maxlen;
DWORD fileflag;
LPTSTR sysnamebuf=new char[10];
DWORD sysnamesize=10;
  char buffer[32]="";  
                double pick_ga[3];    //数组
                UF_args_t grip_arg_list[2];
                grip_arg_list[0].type    = UF_TYPE_CHAR;        //字符串类型  【UF_TYPE_CHAR_ARRAY;字符串数组类型】
        grip_arg_list[0].length  = 0;   
                grip_arg_list[0].address = buffer;
                grip_arg_list[1].type   = UF_TYPE_DOUBLE_ARRAY; //数组类型
        grip_arg_list[1].length = 3;                    //数组个数;如果不是数组,值=0就行
                grip_arg_list[1].address = pick_ga;       
/* GRIP 向 API 返回参数 */
int error_status=UF_ask_grip_args(2,grip_arg_list);
if (pick_ga[0]==2)
{
::GetVolumeInformation("c:\\",namebuf,namesize,&serialnumber,&maxlen,&fileflag,sysnamebuf,sysnamesize);
  //cout<< "十进制:" << serialnumber <<endl;      
// cout<< "十六进制:" << hex << serialnumber<<endl;   //16进制输出
   _itoa( serialnumber, buffer, 16 );   // DWORD 转换成 char //头文件 #include <stdlib.h>  
pick_ga[0]=1;
UF_set_grip_args(2,grip_arg_list);
}

鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

QQ|Archiver|手机版|琴云空间 ( 粤ICP备18018211号-1 )

GMT+8, 2018-9-22 01:57 , Processed in 0.010846 second(s), 16 queries .

返回顶部