最近因專案需要測試一些activex控制項的功能,使用原生工具笨重且比較慢,錯誤跟蹤也不太方便,決定使用eclipse的swt嘗試一番,最後發現果然比較便捷。這裡根據網上某大神的用例來構建乙個工具類。
package com.***.yyy;
import org.eclipse.swt.swt;
import org.eclipse.swt.ole.win32.oleautomation;
import org.eclipse.swt.ole.win32.olecontrolsite;
import org.eclipse.swt.ole.win32.oleframe;
import org.eclipse.swt.ole.win32.olelistener;
import org.eclipse.swt.ole.win32.variant;
import org.eclipse.swt.widgets.shell;
public class activexutil
public oleframe getframe()
public olecontrolsite getsite()
public oleautomation getauto()
public int doverb(int verb)
activexutil(string activexid, olecontrolsite site, shell shell) else
} public int getid(string name) );
if (ids.length >= 0)
return ids[0];
} catch (runtimeexception e)
return -1;
} public variant createvariants(string paras)
return vr;
} public variant getproperty(string prop) catch (exception e)
return v;
} public void setproperty(string name, string... params)
_auto.setproperty(propid, vs);
} }public void setproperty(string name, variant... params)
public variant execute(string methodname, variant... params)
public variant execute(string methodname)
public void addeventlistener(int eventid, olelistener listener)
public void removeeventlistener(int eventid, olelistener listener)
}
使用工具類的方法如下:
package com.xx.yy;
import org.eclipse.swt.swt;
import org.eclipse.swt.events.selectionadapter;
import org.eclipse.swt.events.selectionevent;
import org.eclipse.swt.layout.rowlayout;
import org.eclipse.swt.ole.win32.ole;
import org.eclipse.swt.ole.win32.oleevent;
import org.eclipse.swt.ole.win32.olelistener;
import org.eclipse.swt.ole.win32.variant;
import org.eclipse.swt.widgets.button;
import org.eclipse.swt.widgets.display;
import org.eclipse.swt.widgets.shell;
public class swtmainwindow
});// 呼叫方法
button button1 = new button(shell, swt.push);
button1.settext("callmethod");
button1.addselectionlistener(new selectionadapter()
}});
// 顯示視窗
shell.setsize(800, 700);
shell.open();
shell.layout();
while (!shell.isdisposed())
} }}
windows下使用gcc呼叫python的問題
用gcc編譯了乙個c 呼叫python的程式,這個程式在vs下是好用的,而且沒有使用vs的任何庫 可是到了gcc下就是無法使用 後來上網查了一下資料才知道,是因為cl與gcc的執行時庫不同。開啟cmd視窗,輸入python就可以看到 python的windows版本是用msc編譯的 所以python...
Windows下使用VS呼叫Caffe 基礎配置
參考 1.遇到缺少dll檔案,尤其是缺少檔名中含 sgd 的檔案,這個問題是因為在安裝boost的時候,沒有選擇靜態鏈結。解決辦法 cmd轉到boost安裝包所在資料夾,用以下命令開啟b2.exe b2.exe stage type complete link static引數參考 2.遇到warn...
windows下使用批處理檔案呼叫python程式
這個隨筆涉及到幾個批處理指令碼得知識點。windows的start命令,啟動另乙個視窗執行指定的程式或命令。windows的call命令,從批處理程式呼叫另乙個程式,直到被呼叫程式退出,再繼續原先的批處理程式 引數 windows,0為shell 本身,1為第1個引數,以此類推 linux,0為sh...