2011年9月2日星期五

ODbgScript源碼學習(十四)

void initProgTable() {

   if (ollylang->wndProg.bar.nbar==0)  //如果工具條為0
{

ollylang->wndProg.bar.name[0]="行号";//添加行號
    ollylang->wndProg.bar.defdx[0]=5;
    ollylang->wndProg.bar.mode[0]=BAR_NOSORT;

ollylang->wndProg.bar.name[1]="命令";  //命令
    ollylang->wndProg.bar.defdx[1]=40;
    ollylang->wndProg.bar.mode[1]=BAR_NOSORT;

ollylang->wndProg.bar.name[2]="返回值"; //返回值
    ollylang->wndProg.bar.defdx[2]=15;
    ollylang->wndProg.bar.mode[2]=BAR_NOSORT; 

    ollylang->wndProg.bar.name[3]="EIP"; //eip
    ollylang->wndProg.bar.defdx[3]=9;
    ollylang->wndProg.bar.mode[3]=BAR_NOSORT;

    ollylang->wndProg.bar.name[4]="计算结果 <---"; //計算結果
    ollylang->wndProg.bar.defdx[4]=100;
    ollylang->wndProg.bar.mode[4]=BAR_NOSORT;

//ollylang->wndProg.bar.name[5]="Comments"; //註釋
//ollylang->wndProg.bar.defdx[5]=40;
//ollylang->wndProg.bar.mode[5]=BAR_NOSORT;

ollylang->wndProg.bar.nbar=5;
    ollylang->wndProg.mode=TABLE_COPYMENU|TABLE_APPMENU|TABLE_SAVEPOS|TABLE_ONTOP|TABLE_HILMENU|TABLE_WIDECOL; //模式,標籤賦值菜單,APP菜單,保存,頂部,HIL,WIDECOL
    ollylang->wndProg.drawfunc=wndprog_get_text; //獲取文本
}
Quicktablewindow(&ollylang->wndProg,15,5,wndprogclass,"脚本运行窗口"); //快速表窗口

if (ollylang->wndProg.hw)  //句柄
{
HICON ico=LoadIcon(hinstModule(),MAKEINTRESOURCE(IDI_ICON_SCRIPT));  //加載圖標
SendMessage(ollylang->wndProg.hw,WM_SETICON,false,(long)ico); 
//CloseHandle(ico); //發送設置icon消息
}

}

int wndprog_sort_function(const t_sortheader *p1,const t_sortheader *p2,const int sort)  //分類函數
{
t_wndprog_data *pline1 = (t_wndprog_data *)p1; //分類數據域頭
t_wndprog_data *pline2 = (t_wndprog_data *)p2; //分類數據域頭

if (pline1->line > pline2->line)  //如果pline1的行大於pline2行
return 1;
else if (pline1->line < pline2->line) 
return -1;
return 0;
}


没有评论:

发表评论