close

Progress.h:

 

#define PROG_CMD_LEN 256 //定義程序命令行長度

#define PROG_RES_LEN 128

#define PROG_VAL_LEN 256

 

#define PROG_TYPE 0x0F //類型

#define PROG_TYPE_COMMAND 0x01 //命令類型

#define PROG_TYPE_ASM 0x02 //彙編類型

#define PROG_TYPE_LABEL 0x04 //標籤類型

#define PROG_TYPE_COMMENT 0x08 //註釋類型

 

#define PROG_ATTR 0xF0

#define PROG_ATTR_EXECUTED 0x10

#define PROG_ATTR_ERROR 0x80

 

// 腳本執行表This is the table for Script Execution

typedef struct t_wndprog_data {

 

unsigned long line; //行

unsigned long size;             // 地址空間大小Size occupied by element in address space

unsigned long type;             //類型 Type of data element, TY_xxx

char     command[PROG_CMD_LEN]; //命令

char     result[PROG_RES_LEN]; //返回值

char     values[PROG_VAL_LEN]; //值

unsigned long eip;              // eip before execution

unsigned char pause;            // 腳本斷點script breakpoint

int jumpto;           // 跳轉到to display jumps in script window

 

} t_wndPROG_data;

 

LRESULT CALLBACK wndprog_winproc(HWND hw,UINT msg,WPARAM wp,LPARAM lp); //囘調函數窗口程序窗口過程

 

void initProgTable(); //初始化程序表

 

int wndprog_sort_function(const t_sortheader *p1,const t_sortheader *p2,const int sort); //分類函數

int wndprog_get_text(char *s, char *mask, int *select, t_sortheader *ph, int column); //獲取文本

 

void InvalidateProgWindow(void); //廢止窗口

void FocusProgWindow(void); //焦點窗口

 

int  addProgLine(int line, string & command, int type=false); //添加行

int  setProgLineEIP(int line, int eip); //設置行得eip

int  setProgLineValue(int line, string& value); //設置行的值

int  setProgLineValue(int line, DWORD value); //設置行的值

int  setProgLineValueFloat(int line, long double value); //設置行值float

int  setProgLineResult(int line, var& result); //設置行返回值

int  setProgLineResult(int line, string& result);

int  setProgLineResult(int line, DWORD result);

int  setProgLineResultFloat(int line, long double result);

int  isProgLineBP(int line); //判斷行斷點

int  isProgLineComment(int line); //判斷行註釋

int  getProgLineType(int line); //判斷行類型

int  setProgLineAttr(int line,int type) ;

 

void clearProgLines(); //清除行

void resetProgLines(); //重設行

 

bool editProgLine(t_wndprog_data *ppl) ; //編輯行

arrow
arrow

    lypwell 發表在 痞客邦 留言(0) 人氣()