由於HTA應用程序託管在MSHTA.exe中,因此如何提供清單?另外我假設提供一個MSHTA.exe.manifest可能會破壞其他HTA應用程序?是否可以使用HTA應用程序免註冊COM?
4
A
回答
3
在Vista +上,MSHTA.exe具有嵌入式清單,該清單優先於外部清單,因此您的建議不是選項。
在XP/2003上,是的,你的建議是可行的,儘管它會是一種糟糕的形式,就像在System32中刪除文件來修改系統二進制文件的行爲一樣(特別是確保你在清單中的任何註冊都是對象,你是唯一關心的人)。
適用於Win2003及以上版本的解決方案是使用Microsoft.Windows.ActCtx對象給出明確的清單引用來實例化對象。
例如:
var actCtx = WScript.CreateObject("Microsoft.Windows.ActCtx");
actCtx.Manifest = "myregfree.manifest";
var obj = actCtx.CreateObject("MyObj");
也許,如果必須在XP以及工作,你可能需要一個路徑是解決方案的組合。
0
編輯:我的答案是錯的,但我會離開這裏,避免任何類似的錯誤答案:)
如果你的問題是你能訪問COM對象不註冊它的機器,那麼我認爲答案是暫定的。然而,你需要做的工作將是實質性的,並且意味着實現大多數開發工具爲你提供的低級代碼(Delphi,.NET,JAVA)。你需要直接與dll進行接口(就像你會正常的dll),查詢它的接口並調用你的方法。
如果你有C,C++的知識,從這些語言訪問COM的方式會給你一些指示。
對不起,我不能有任何幫助。
相關問題
- 1. 在.NET應用程序中使用免費的註冊com
- 2. 是否有人成功使用.NET組件免註冊COM?
- 3. 是否可以「註冊」iPhone應用程序名稱?
- 4. 是否可以在網頁中嵌入HTA應用程序
- 5. EXE(進程外)COM服務器是否可以免註冊激活?
- 6. 任何第三方COM組件可以使用免註冊COM嗎?
- 7. 使用'RegisterWindowMessage'註冊的消息是否可以取消註冊?
- 8. 使用註冊探測.NET程序集免費的COM/.NET互操作程序
- 9. ASP WebPage中免註冊COM
- 10. 註冊免費(Regfree)COM
- 11. 如何從VS安裝程序註冊COM +應用程序
- 12. 如何在非UI線程中使用免註冊的COM?
- 13. 當相同的接口也被註冊時,免註冊的COM是否工作?
- 14. 我可以檢測是否一個iOS應用程序未註冊從APN
- 15. C#控制檯應用程序是否可以在Azure AD中註冊
- 16. 是否可以創建免費預訂HTML應用程序?
- 17. 使用C2DM註冊Android應用程序
- 18. 動態註冊的BroadcastReceivers是否可以倖免於組件/應用程序的死亡?
- 19. 可以使用免註冊的COM組件而無需在開發機器上註冊它?
- 20. 使用註冊免費COM激活(基於COM互操作的)ActiveX控件com
- 21. 是否可以使用JCFIS而不註冊「smb」的協議處理程序?
- 22. 應用程序註冊
- 23. 應用程序註冊
- 24. 註冊iphone應用程序
- 25. iOS應用程序是否需要註冊流程?
- 26. 獨立VB.NET應用免註冊COM - 複雜案例
- 27. 註冊COM +應用程序代理時出錯
- 28. 是否可以在免費的Azure Web應用程序(azurewebsites.net)中使用Google Adsense?
- 29. 我可以使用regasm將.Net COM註冊爲SingleUse
- 30. 通過註冊表而不是TLB註冊應用程序
當然,我可以做舊時尚「LoadLibrary」/「GetProcAddress」,但這是一個HTA應用程序...我不明白我將如何從HTA進行Win32 API調用? – 2009-02-05 21:33:21
問題是有關注冊自由COM這是一個功能添加到操作系統。通過這個特性,COM調用是透明的,不需要LoadLibrary等。話雖如此,該功能依賴於將清單與客戶端應用相關聯,所以我認爲您無法通過HTA進行清除。 – DSO 2009-02-05 21:40:43