訂閱網誌最新訊息

2007年7月10日 星期二

[VB] COM 元件如何得知呼叫它的程式名稱?

之前為專案作過一個 COM 元件,可是元件本身因為資安因素,又需要得知呼叫它的程式名稱

於是想了二個解決辦法:(如有其他方法請各位朋友們熱心提供)

1.直接強迫 VB 程式傳入 App 物件,元件中可以利用 App.exeName 或 App.Path 取得相關的程式路徑與名稱,例如:

Dim objCOM as Object

set objCOM = createObject("COM元件")

objCOM.setAppObject(App) '強迫一定要先傳入App物件

objCOM.doSomeThing() '然後才能進行想作的事

2.如果有建立 DataBase Connection,可以 DB Server 回傳的資訊取得連線的程式名稱,以SQL Server 為例:

select program_name from master.dbo.sysprocesses where spid = @@SPID

這樣 DB Server 就會回傳連線的程式名稱了

沒有留言:

張貼留言

請您懷著輕鬆的心情來走走,如有共嗚,不妨留下參觀之後的足跡~