最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

如何使用SOLIDWORKS API創(chuàng)建獨(dú)立(exe)應(yīng)用程序

2023-04-10 20:40 作者:HongfengZhu  | 我要投稿

在本文中,我將討論從COM兼容編程語(yǔ)言(例如C#,VB.NET,C++,Visual Basic 6)連接到SOLIDWORKS實(shí)例的2種通用方法,以便使用SOLIDWORKS API。

這是這些可選方法的詳細(xì)說(shuō)明。請(qǐng)點(diǎn)擊以下鏈接訪問(wèn)演示如何創(chuàng)建示例項(xiàng)目并連接到 SOLIDWORKS 實(shí)例的文章:

  • Using C# (https://www.codestack.net/solidworks-api/getting-started/stand-alone/connect-csharp/)

  • Using VB.NET(https://www.codestack.net/solidworks-api/getting-started/stand-alone/connect-vbnet/)

  • Using C++(https://www.codestack.net/solidworks-api/getting-started/stand-alone/connect-cpp/)

方法 A - Activator 和 ProgId

通過(guò)程序標(biāo)識(shí) (Program Identified,progid) 或全局唯一 COM 類(lèi)標(biāo)識(shí)符 (Global Unique COM Class Identifier,CLSID) 創(chuàng)建實(shí)例進(jìn)行連接。

SOLIDWORKS 有兩種類(lèi)型的程序標(biāo)識(shí)符:版本獨(dú)立和版本特定。

程序標(biāo)識(shí)符在 Windows 注冊(cè)表中注冊(cè):

Windows注冊(cè)表中的類(lèi)ID

在上面的示例中,SldWorks.Application.23 的程序標(biāo)識(shí)符對(duì)應(yīng)于 COM 類(lèi)標(biāo)識(shí)符。

有關(guān)此對(duì)象的更多信息(如類(lèi)型庫(kù)類(lèi)標(biāo)識(shí)符、COM 服務(wù)器位置 [即 sldworks.exe] 的路徑)可以在與類(lèi)標(biāo)識(shí)符相關(guān)的注冊(cè)表分支中找到(即 HKEY_CLASSES_ROOT\CLSID{D66FBAAE-4150-402F-8581-75D1652D696A})

Windows 注冊(cè)表中的程序 ID

對(duì)于所有版本的 SOLIDWORKS,與版本無(wú)關(guān)的程序標(biāo)識(shí)符將相同,并且等于“SldWorks.Application”。

如果您使用與版本無(wú)關(guān)的標(biāo)識(shí)符,這將確保您的代碼對(duì)安裝了 SOLIDWORKS 的任何環(huán)境都有效。但是,在安裝多個(gè)版本的 SOLIDWORKS 時(shí),這將引入歧義。在這種情況下,您的程序?qū)⑦B接到計(jì)算機(jī)中上次安裝或修改的版本。

要使用特定于版本的程序標(biāo)識(shí)符,需要在程序標(biāo)識(shí)符后指定修訂號(hào),即“SldWorks.Application.RevisionNumber”。有關(guān) SOLIDWORKS 版本(Version)及其修訂號(hào)(Revision)的列表,請(qǐng)參閱下表:

版本及其修訂號(hào)列表

可以通過(guò) ISldWorks::RevisionNumber 方法獲取 SOLIDWORKS 會(huì)話(huà)(運(yùn)行中的程序)的修訂號(hào)。返回值是格式為 25.1.0 的字符串,其中第一個(gè)數(shù)字是修訂號(hào)。

使用此方法時(shí)需要注意的一些限制:

  • 此方法是連接到已在運(yùn)行的 SOLIDWORKS 實(shí)例還是將創(chuàng)建新的實(shí)例并不總是可預(yù)測(cè)的。

  • 無(wú)法指定要連接到哪個(gè)正在運(yùn)行的 SOLIDWORKS 會(huì)話(huà)(例如,當(dāng)多個(gè) SOLIDWORKS 會(huì)話(huà)打開(kāi)時(shí))

  • 如果由于運(yùn)行此方法而創(chuàng)建新會(huì)話(huà),則默認(rèn)情況下,此會(huì)話(huà)將不可見(jiàn),并以 /embed 標(biāo)志啟動(dòng)。這意味著會(huì)話(huà)是輕量級(jí)啟動(dòng)的,并且不會(huì)加載任何加載項(xiàng)。這旨在允許將 OLE 對(duì)象嵌入到第三方應(yīng)用程序(如 Microsoft Office)中。

Excel 中的 SOLIDWORKS 零件文檔 OLE 對(duì)象
  • 無(wú)法創(chuàng)建多個(gè) SOLIDWORKS 的活動(dòng)會(huì)話(huà)。

方法 B - 運(yùn)行對(duì)象表(Running Object Table,ROT)

通過(guò)從運(yùn)行對(duì)象表 (ROT) 查詢(xún) COM 實(shí)例進(jìn)行連接。

當(dāng) COM 服務(wù)器創(chuàng)建對(duì)象實(shí)例時(shí),它會(huì)為此實(shí)例創(chuàng)建一個(gè)名字對(duì)象,并將其注冊(cè)到運(yùn)行對(duì)象表 (ROT) 中。ROT允許通過(guò)Windows API從正在運(yùn)行的進(jìn)程中查找對(duì)象(GetRunningObjectTable方法,https://learn.microsoft.com/zh-cn/windows/win32/api/objbase/nf-objbase-getrunningobjecttable?redirectedfrom=MSDN),從而實(shí)現(xiàn)與第三方應(yīng)用程序的進(jìn)程間通信。

下面是使用多個(gè)已注冊(cè)的 COM 對(duì)象運(yùn)行對(duì)象表的示例:

  • 使用此方法,可以從其進(jìn)程 ID 連接到 SOLIDWORKS 的任何會(huì)話(huà)。

  • 可以通過(guò) shell 啟動(dòng)新的 SOLIDWORKS 實(shí)例或啟動(dòng)流程 API 來(lái)創(chuàng)建任意數(shù)量的會(huì)話(huà)。

如果 SOLIDWORKS 應(yīng)用程序和獨(dú)立應(yīng)用程序以不同的權(quán)限級(jí)別運(yùn)行(例如,一個(gè)以管理員身份運(yùn)行,而另一個(gè)則不是),則可能無(wú)法從 ROT 中成功檢索對(duì)象。在同一用戶(hù)下運(yùn)行它們以啟用通信。

請(qǐng)點(diǎn)擊文章開(kāi)頭的鏈接獲取詳細(xì)指南,其中包含連接到 SOLIDWORKS 實(shí)例的代碼示例。


文章翻譯自https://www.codestack.net/

僅供學(xué)習(xí)使用。


如何使用SOLIDWORKS API創(chuàng)建獨(dú)立(exe)應(yīng)用程序的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
永靖县| 乐山市| 手游| 伊吾县| 文化| 大兴区| 东台市| 荔浦县| 朔州市| 水富县| 冷水江市| 丰台区| 永年县| 阿拉尔市| 邳州市| 建平县| 巴楚县| 德钦县| 禹城市| 高唐县| 南宁市| 遂宁市| 阿鲁科尔沁旗| 凤凰县| 山东省| 福贡县| 崇州市| 舟曲县| 乌鲁木齐县| 资溪县| 永康市| 肇庆市| 镇康县| 桐乡市| 德令哈市| 嘉兴市| 苗栗县| 民乐县| 沧州市| 黄梅县| 慈利县|