Initial Commit of the PDM project (ready for DWS migration)
This commit is contained in:
536
documentation/api_extracted/Load_Addin_Example_CSharp.htm
Normal file
536
documentation/api_extracted/Load_Addin_Example_CSharp.htm
Normal file
@@ -0,0 +1,536 @@
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Install Add-in Example (C#)</title>
|
||||
<meta http-equiv="Content-Language" content="en-us">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
|
||||
<link rel="stylesheet" type="text/css" href="ApiHelp.css">
|
||||
</head>
|
||||
<meta name=MS-HKWD content="C# add-ins, install">
|
||||
<meta name=MS-HKWD content="C# add-ins, files">
|
||||
<meta name=MS-HKWD content="C# add-ins, information">
|
||||
<body>
|
||||
<h1><span style="font-weight: normal; font-size: 7.5pt;">SOLIDWORKS PDM Professional API Help</span></h1>
|
||||
<h1>Install Add-in Example (C#)</h1>
|
||||
<p><a name="top"></a>This example shows how to install an add-in, obtain
|
||||
information about it, and uninstall it.</p>
|
||||
<p><b>NOTE</b>: If using the primary interop assembly
|
||||
provided with SOLIDWORKS PDM Professional, see
|
||||
<a href="Using_NET_Framework_in_Applications.htm">Using .NET Framework 4.0 in
|
||||
Stand-alone Applications</a>.</p>
|
||||
<p><img border="0" src="LoadAddin.gif" width="333" height="352"></p>
|
||||
|
||||
<p style="font-family: Courier New; font-size: 13; color: black; background: white" class="APICODE">
|
||||
<span style="color:green;">
|
||||
//----------------------------------------------------------------------------</span><br>
|
||||
<span style="color:green;">// Preconditions:</span><br>
|
||||
<span style="color:green;">// 1. Start Microsoft Visual Studio.</span><br>
|
||||
<span style="color:green;">// a. Click <b>File > New > Project > Visual C# > Windows Forms Application</b>.</span><br>
|
||||
<span style="color:green;">// b. Type <b>AddinMgr_CSharp</b> in <b>Name</b>.</span><br>
|
||||
<span style="color:green;">// c. Click <b>Browse</b> and navigate to the folder where to create the project.</span><br>
|
||||
<span style="color:green;">// d. Click <b>OK</b>. </span><br>
|
||||
<span style="color:green;">// e. Click <b>Show All Files</b> in the Solution Explorer toolbar and expand </span><br>
|
||||
<span style="color:green;">// <b>Form1.cs</b> in the Solution Explorer.</span><br>
|
||||
<span style="color:green;">
|
||||
// f. Create a form similar to the form shown above and change:</span><br>
|
||||
<span style="color:green;">// 1. Top label to <b>VaultsLabel</b>.</span><br>
|
||||
<span style="color:green;">// 2. Combo box to <b>VaultsComboBox</b>.</span><br>
|
||||
<span style="color:green;">// 3. <b>Browse for add-in</b> button to <b>BrowseButton</b>.</span><br>
|
||||
<span style="color:green;">// 4. List box to <b>AddinListBox</b>.</span><br>
|
||||
<span style="color:green;">// 5. <b>Install add-in</b> button to <b>LoadAddin</b>.</span><br>
|
||||
<span style="color:green;">// g. Replace the code in <b>Form1.cs</b> with <a href="#Form1.cs">this code</a>.</span><br>
|
||||
<span style="color:green;">// h. Replace the code in <b>Form1.Designer.cs</b> with <a href="#Form1.Designer.cs">this code</a>.</span><br>
|
||||
<span style="color:green;">// 2. Add <b>EPDM.Interop.epdm.dll</b> as a reference (right-click the project</span><br>
|
||||
<span style="color:green;">// name in the Solution Explorer, click <b>Add Reference</b>, click </span><br>
|
||||
<span style="color:green;">// <b>Assemblies > Framework</b> in the left-side panel, browse to the top folder of </span><br>
|
||||
<span style="color:green;">// your SOLIDWORKS PDM Professional installation, locate and click </span><br>
|
||||
<span style="color:green;">// <b>EPDM.Interop.epdm.dll</b>, click <b>Open</b>, and click <b>Add</b>).</span><br>
|
||||
<span style="color:green;">// 3. Right-click <b>EPDM.Interop.epdm</b> in References, click <b>Properties</b>, and set </span><br>
|
||||
<span style="color:green;">// <b>Embed Interop Types</b> to <b>False</b> to handle methods that pass arrays of </span><br>
|
||||
<span style="color:green;">// structures.</span><br>
|
||||
<span style="color:green;">// 4. Click <b>Debug > Start Debugging</b> or press F5.</span><br>
|
||||
<span style="color:green;">//</span><br>
|
||||
<span style="color:green;">// Postconditions: </span><br>
|
||||
<span style="color:green;">// 1. The Install add-in dialog box displays.</span><br>
|
||||
<span style="color:green;">// a. Select a vault view.</span><br>
|
||||
<span style="color:green;">// b. Click <b>Browse for add-in</b>.</span><br>
|
||||
<span style="color:green;">// c. In the Browse for add-ins dialog:</span><br>
|
||||
<span style="color:green;">// 1. Navigate to your add-in directory
|
||||
and click <i>addin_name</i><b>.dll</b> <br>
|
||||
// and <b>EPDM.Interop.epdm.dll</b>.</span><br>
|
||||
<span style="color:green;">// 2. Click Open.</span><br>
|
||||
<span style="color:green;">// d. Click <b>Install add-in</b>.<br>
|
||||
// A message box containing
|
||||
information about each add-in installed in<br>
|
||||
// the selected vault displays.</span><br>
|
||||
<span style="color:green;">// e. Click <b>OK</b> to close each message box.<br>
|
||||
// f. Click <b>Remove add-in</b>.</span><br>
|
||||
<span style="color:green;">// 2. Close the Install add-in dialog box.</span><br>
|
||||
<span style="color:green;">
|
||||
//----------------------------------------------------------------------------</span><br>
|
||||
</p>
|
||||
<p style="font-family: Courier New; font-size: 13; color: #008000; background: white" class="APICODE">
|
||||
<a name="Form1.cs"></a>//Form1.cs</p>
|
||||
<p style="font-family: Courier New; font-size: 13; color: black; background: white" class="APICODE">
|
||||
<br>
|
||||
<span style="color:blue;">using</span> System;<br>
|
||||
<span style="color:blue;">using</span> System.Collections;<br>
|
||||
<span style="color:blue;">using</span> System.Collections.Generic;<br>
|
||||
<span style="color:blue;">using</span> System.Data;<br>
|
||||
<span style="color:blue;">using</span> System.Diagnostics;<br>
|
||||
<span style="color:blue;">using</span> System.IO;<br>
|
||||
<span style="color:blue;">using</span> System.Xml.Serialization;<br>
|
||||
<span style="color:blue;">using</span> System.Windows.Forms;<br>
|
||||
<span style="color:blue;">using</span> System.ComponentModel;<br>
|
||||
<span style="color:blue;">using</span> EPDM.Interop.epdm;<br>
|
||||
<br>
|
||||
<span style="color:blue;">namespace</span> AddinMgr_CSharp<br>
|
||||
{<br>
|
||||
<span style="color:blue;">public</span> <span style="color:blue;">partial</span> <span style="color:blue;">class</span> <span style="color:#2b91af;">Form1</span> : <span style="color:#2b91af;">Form</span><br>
|
||||
{<br>
|
||||
<span style="color:blue;">public</span> Form1()<br>
|
||||
{<br>
|
||||
InitializeComponent();<br>
|
||||
}<br>
|
||||
<br>
|
||||
<span style="color:blue;">private</span> <span style="color:#2b91af;">IEdmVault5</span> vault1 = <span style="color:blue;">null</span>;</p>
|
||||
<p style="font-family: Courier New; font-size: 13; color: black; background: white" class="APICODE">
|
||||
<span style="color:blue;"> string</span> addinName = <span style="color:#a31515;">""</span>;<br>
|
||||
<br>
|
||||
<span style="color:blue;">public</span> <span style="color:blue;">void</span> Form1_Load(System.<span style="color:#2b91af;">Object</span> sender, System.<span style="color:#2b91af;">EventArgs</span> e)<br>
|
||||
{<br>
|
||||
<span style="color:blue;">try</span><br>
|
||||
{<br>
|
||||
<span style="color:#2b91af;">IEdmVault5</span> vault1 = <span style="color:blue;">new</span> <span style="color:#2b91af;">EdmVault5</span>();<br>
|
||||
<span style="color:#2b91af;">IEdmVault8</span> vault = (<span style="color:#2b91af;">IEdmVault8</span>)vault1;<br>
|
||||
<span style="color:#2b91af;">EdmViewInfo</span>[] Views = <span style="color:blue;">null</span>;<br>
|
||||
<br>
|
||||
vault.<b>GetVaultViews</b>(<span style="color:blue;">out</span> Views, <span style="color:blue;">false</span>);<br>
|
||||
VaultsComboBox.Items.Clear();<br>
|
||||
<span style="color:blue;">foreach</span> (<span style="color:#2b91af;">EdmViewInfo</span> View <span style="color:blue;">in</span> Views)<br>
|
||||
{<br>
|
||||
VaultsComboBox.Items.Add(View.<b>mbsVaultName</b>);<br>
|
||||
}<br>
|
||||
<span style="color:blue;">if</span> (VaultsComboBox.Items.Count > 0)<br>
|
||||
{<br>
|
||||
VaultsComboBox.Text = (<span style="color:blue;">string</span>)VaultsComboBox.Items[0];<br>
|
||||
}<br>
|
||||
}<br>
|
||||
<span style="color:blue;">catch</span> (System.Runtime.InteropServices.<span style="color:#2b91af;">COMException</span> ex)<br>
|
||||
{<br>
|
||||
<span style="color:#2b91af;">MessageBox</span>.Show(<span style="color:#a31515;">"HRESULT = 0x"</span> + ex.ErrorCode.ToString(<span style="color:#a31515;">"X"</span>) + <span style="color:#a31515;">" "</span> + ex.Message);<br>
|
||||
}<br>
|
||||
<span style="color:blue;">catch</span> (<span style="color:#2b91af;">Exception</span> ex)<br>
|
||||
{<br>
|
||||
<span style="color:#2b91af;">MessageBox</span>.Show(ex.Message);<br>
|
||||
}<br>
|
||||
}<br>
|
||||
<br>
|
||||
<span style="color:blue;">public</span> <span style="color:blue;">void</span> BrowseButton_Click(System.<span style="color:#2b91af;">Object</span> sender, System.<span style="color:#2b91af;">EventArgs</span> e)<br>
|
||||
{<br>
|
||||
<span style="color:blue;">try</span><br>
|
||||
{<br>
|
||||
AddinListBox.Items.Clear();<br>
|
||||
<br>
|
||||
<br>
|
||||
<span style="color:blue;">if</span> (vault1 == <span style="color:blue;">null</span>)<br>
|
||||
{<br>
|
||||
vault1 = <span style="color:blue;">new</span> <span style="color:#2b91af;">EdmVault5</span>();<br>
|
||||
}<br>
|
||||
<span style="color:blue;">if</span> (!vault1.<b>IsLoggedIn</b>)<br>
|
||||
{<br>
|
||||
vault1.<b>LoginAuto</b>(VaultsComboBox.Text, <span style="color:blue;">this</span>.Handle.ToInt32());<br>
|
||||
}<br>
|
||||
<br>
|
||||
<span style="color:green;">//Set the initial directory in the </span><font size="2"><span style="color:green;">Browse
|
||||
for add-ins</span></font><span style="color:green;"> dialog</span><br>
|
||||
AddinOpenFileDialog.InitialDirectory = vault1.<b>RootFolderPath</b>;<br>
|
||||
<br>
|
||||
<span style="color:green;">//Show the </span><font size="2"><span style="color:green;">Browse
|
||||
for add-ins</span></font><span style="color:green;"> dialog</span><br>
|
||||
System.Windows.Forms.<span style="color:#2b91af;">DialogResult</span> DialogResult;<br>
|
||||
DialogResult = AddinOpenFileDialog.ShowDialog();<br>
|
||||
<br>
|
||||
<span style="color:green;">//If the user did
|
||||
not click Open, exit the subroutine</span><br>
|
||||
<span style="color:blue;">if</span> (!(DialogResult == System.Windows.Forms.<span style="color:#2b91af;">DialogResult</span>.OK))<br>
|
||||
{<br>
|
||||
<span style="color:blue;">return</span>;<br>
|
||||
}<br>
|
||||
<br>
|
||||
<span style="color:blue;">foreach</span> (<span style="color:blue;">string</span> FileName <span style="color:blue;">in</span> AddinOpenFileDialog.FileNames)<br>
|
||||
{<br>
|
||||
AddinListBox.Items.Add(FileName);<br>
|
||||
}<br>
|
||||
}<br>
|
||||
<span style="color:blue;">catch</span> (System.Runtime.InteropServices.<span style="color:#2b91af;">COMException</span> ex)<br>
|
||||
{<br>
|
||||
<span style="color:#2b91af;">MessageBox</span>.Show(<span style="color:#a31515;">"HRESULT = 0x"</span> + ex.ErrorCode.ToString(<span style="color:#a31515;">"X"</span>) + <span style="color:#a31515;">" "</span> + ex.Message);<br>
|
||||
}<br>
|
||||
<span style="color:blue;">catch</span> (<span style="color:#2b91af;">Exception</span> ex)<br>
|
||||
{<br>
|
||||
<span style="color:#2b91af;">MessageBox</span>.Show(ex.Message);<br>
|
||||
}<br>
|
||||
}<br>
|
||||
<br>
|
||||
<span style="color:blue;">public</span> <span style="color:blue;">void</span> LoadAddin_Click(System.<span style="color:#2b91af;">Object</span> sender, System.<span style="color:#2b91af;">EventArgs</span> e)<br>
|
||||
{<br>
|
||||
<span style="color:blue;">try</span><br>
|
||||
{<br>
|
||||
<br>
|
||||
<span style="color:#2b91af;">IEdmVault7</span> vault2 = <span style="color:blue;">null</span>;<br>
|
||||
<span style="color:blue;">if</span> (vault1 == <span style="color:blue;">null</span>)<br>
|
||||
{<br>
|
||||
vault1 = <span style="color:blue;">new</span> <span style="color:#2b91af;">EdmVault5</span>();<br>
|
||||
}<br>
|
||||
vault2 = (<span style="color:#2b91af;">IEdmVault7</span>)vault1;<br>
|
||||
<span style="color:blue;">if</span> (!vault1.<b>IsLoggedIn</b>)<br>
|
||||
{<br>
|
||||
vault1.<b>LoginAuto</b>(VaultsComboBox.Text, <span style="color:blue;">this</span>.Handle.ToInt32());<br>
|
||||
}<br>
|
||||
<br>
|
||||
<span style="color:#2b91af;">IEdmAddInMgr8</span> AddinMgr = <span style="color:blue;">default</span>(<span style="color:#2b91af;">IEdmAddInMgr8</span>);<br>
|
||||
AddinMgr = (<span style="color:#2b91af;">IEdmAddInMgr8</span>)vault1;<br>
|
||||
<br>
|
||||
<br>
|
||||
<span style="color:blue;">string</span> fileList = <span style="color:#a31515;">""</span>;<br>
|
||||
<span style="color:blue;">int</span> fileidx = 1;<br>
|
||||
<br>
|
||||
<span style="color:green;">// Save the path and name of the add-in just installed</span><br>
|
||||
<span style="color:blue;">string</span> justInstalledPathName = <span style="color:#a31515;">""</span>;<br>
|
||||
<br>
|
||||
<span style="color:blue;">foreach</span> (<span style="color:blue;">string</span> FileName <span style="color:blue;">in</span> AddinListBox.Items)<br>
|
||||
{<br>
|
||||
<span style="color:blue;">if</span> (!(FileName.Contains(<span style="color:#a31515;">"Interop"</span>)))<br>
|
||||
{<br>
|
||||
justInstalledPathName = FileName;<br>
|
||||
}<br>
|
||||
<br>
|
||||
<span style="color:blue;">if</span> (fileidx == 1)<br>
|
||||
{<br>
|
||||
fileList = FileName;<br>
|
||||
}<br>
|
||||
<span style="color:blue;">else</span><br>
|
||||
{<br>
|
||||
fileList = fileList + "\n" + FileName;<br>
|
||||
}<br>
|
||||
<br>
|
||||
fileidx = fileidx + 1;<br>
|
||||
}<br>
|
||||
<br>
|
||||
<br>
|
||||
AddinMgr.<b>AddAddIns</b>(fileList, (<span style="color:blue;">int</span>)<span style="color:#2b91af;">EdmAddAddInFlags</span>.EdmAddin_AddAllFilesToOneAddIn, <span style="color:blue;">null</span>);<br>
|
||||
<br>
|
||||
<br>
|
||||
<span style="color:green;">// Get information about each
|
||||
of the installed add-ins</span><br>
|
||||
<span style="color:#2b91af;">EdmAddInInfo2</span>[] addIns = <span style="color:blue;">null</span>;<br>
|
||||
AddinMgr.<b>GetInstalledAddIns</b>(<span style="color:blue;">out</span> addIns);<br>
|
||||
<br>
|
||||
<br>
|
||||
<span style="color:blue;">string</span> s = <span style="color:#a31515;">""</span>;<br>
|
||||
<span style="color:blue;">int</span> idx = 0;<br>
|
||||
idx = addIns.GetLowerBound(0);<br>
|
||||
<br>
|
||||
<br>
|
||||
<span style="color:blue;">while</span> (idx <= addIns.GetUpperBound(0))<br>
|
||||
{<br>
|
||||
s = <span style="color:#a31515;">"Add-in: "</span> + addIns[idx].<b>mbsAddInName</b> + "\n" + <span style="color:#a31515;">"Class: "</span> + addIns[idx].<b>mbsClassID</b> + "\n";<br>
|
||||
s = s + <span style="color:#a31515;">"Company: "</span> + addIns[idx].<b>mbsCompany</b> + "\n" + <span style="color:#a31515;">"Description: "</span> + addIns[idx].<b>mbsDescription</b> + "\n";<br>
|
||||
s = s + <span style="color:#a31515;">"Path: "</span> + addIns[idx].<b>mbsModulePath</b> + "\n" + <span style="color:#a31515;">"Version: "</span> + <span style="color:#2b91af;">Convert</span>.ToString(addIns[idx].<b>mlAddInVersion</b>) + "\n";<br>
|
||||
s = s + <span style="color:#a31515;">"Req ver: "</span> + <span style="color:#2b91af;">Convert</span>.ToString(addIns[idx].<b>mlRequiredVersionMajor</b>) + <span style="color:#a31515;">"."</span> + <span style="color:#2b91af;">Convert</span>.ToString(addIns[idx].<b>mlRequiredVersionMinor</b>);<br>
|
||||
<br>
|
||||
<span style="color:#2b91af;">MessageBox</span>.Show(s);<br>
|
||||
|
||||
<span style="color:green;">// Save the name of the add-in just installed</span><br>
|
||||
addinName = addIns[idx].<b>mbsAddInName</b>;<br>
|
||||
<br>
|
||||
idx = idx + 1;<br>
|
||||
}<br>
|
||||
<br>
|
||||
<span style="color:green;">// Get information about each of the add-ins installed for debugging</span><br>
|
||||
<span style="color:#2b91af;">EdmAddInInfo2</span>[] debugAddIns = <span style="color:blue;">new</span> <span style="color:#2b91af;">EdmAddInInfo2</span>[10];<br>
|
||||
AddinMgr.<b>GetDebugAddIns</b>(<span style="color:blue;">ref</span> debugAddIns);<br>
|
||||
<br>
|
||||
idx = debugAddIns.GetLowerBound(0);<br>
|
||||
<br>
|
||||
<span style="color:blue;">while</span> (idx <= debugAddIns.GetUpperBound(0))<br>
|
||||
{<br>
|
||||
s = <span style="color:#a31515;">"Debug add-in: "</span> + debugAddIns[idx].<b>mbsAddInName</b> + "\n" + <span style="color:#a31515;">"Class: "</span> + debugAddIns[idx].<b>mbsClassID</b> + "\n";<br>
|
||||
s = s + <span style="color:#a31515;">"Company: "</span> + debugAddIns[idx].<b>mbsCompany</b> + "\n" + <span style="color:#a31515;">"Description: "</span> + debugAddIns[idx].<b>mbsDescription</b> + "\n";<br>
|
||||
s = s + <span style="color:#a31515;">"Path: "</span> + debugAddIns[idx].<b>mbsModulePath</b> + "\n" + <span style="color:#a31515;">"Version: "</span> + <span style="color:#2b91af;">Convert</span>.ToString(debugAddIns[idx].<b>mlAddInVersion</b>) + "\n";<br>
|
||||
s = s + <span style="color:#a31515;">"Req ver: "</span> + <span style="color:#2b91af;">Convert</span>.ToString(debugAddIns[idx].<b>mlRequiredVersionMajor</b>) + <span style="color:#a31515;">"."</span> + <span style="color:#2b91af;">Convert</span>.ToString(debugAddIns[idx].<b>mlRequiredVersionMinor</b>);<br>
|
||||
<br>
|
||||
<span style="color:#2b91af;">MessageBox</span>.Show(s);<br>
|
||||
idx = idx + 1;<br>
|
||||
}<br>
|
||||
<br>
|
||||
<span style="color:green;">// Get information about the add-in just installed</span><br>
|
||||
<span style="color:#2b91af;">EdmAddInInfo2</span> poInfo = <span style="color:blue;">new</span> <span style="color:#2b91af;">EdmAddInInfo2</span>();<br>
|
||||
AddinMgr.<b>GetAddInInfo2</b>(justInstalledPathName, <span style="color:blue;">null</span>, <span style="color:blue;">ref</span> poInfo);<br>
|
||||
<br>
|
||||
s = <span style="color:#a31515;">"Getting info for add-in: "</span> + poInfo.<b>mbsAddInName</b> + "\n" + <span style="color:#a31515;">"Class: "</span> + poInfo.<b>mbsClassID</b> + "\n";<br>
|
||||
s = s + <span style="color:#a31515;">"Company: "</span> + poInfo.<b>mbsCompany</b> + "\n" + <span style="color:#a31515;">"Description: "</span> + poInfo.<b>mbsDescription</b> + "\n";<br>
|
||||
s = s + <span style="color:#a31515;">"Path: "</span> + poInfo.<b>mbsModulePath</b> + "\n" + <span style="color:#a31515;">"Version: "</span> + <span style="color:#2b91af;">Convert</span>.ToString(poInfo.<b>mlAddInVersion</b>) + "\n";<br>
|
||||
s = s + <span style="color:#a31515;">"Req ver: "</span> + <span style="color:#2b91af;">Convert</span>.ToString(poInfo.<b>mlRequiredVersionMajor</b>) + <span style="color:#a31515;">"."</span> + <span style="color:#2b91af;">Convert</span>.ToString(poInfo.<b>mlRequiredVersionMinor</b>);<br>
|
||||
<br>
|
||||
<span style="color:#2b91af;">MessageBox</span>.Show(s);<br>
|
||||
<br>
|
||||
<span style="color:green;">// Extract information about the add-in just installed</span><br>
|
||||
<span style="color:#2b91af;">EdmAddInFileInfo</span>[] ppoFiles = <span style="color:blue;">null</span>;<br>
|
||||
<span style="color:#2b91af;">EdmAddInMenuInfo</span>[] ppoCmds = <span style="color:blue;">null</span>;<br>
|
||||
AddinMgr.<b>GetInstalledAddIn</b>(addinName, <span style="color:#a31515;">"c:\\temp"</span>, <span style="color:blue;">out</span> poInfo, <span style="color:blue;">out</span> ppoFiles, <span style="color:blue;">out</span> ppoCmds);<br>
|
||||
<br>
|
||||
<span style="color:blue;">string</span> msg = <span style="color:blue;">null</span>;<br>
|
||||
msg = <span style="color:#a31515;">"Extracting info for add-in: "</span> + poInfo.<b>mbsAddInName</b> + "\n";<br>
|
||||
msg = msg + <span style="color:#a31515;">"CLSID="</span> + poInfo.<b>mbsClassID</b> + "\n";<br>
|
||||
msg = msg + <span style="color:#a31515;">"Company="</span> + poInfo.<b>mbsCompany</b> + "\n";<br>
|
||||
msg = msg + <span style="color:#a31515;">"Module="</span> + poInfo.<b>mbsModulePath</b> + "\n";<br>
|
||||
msg = msg + <span style="color:#a31515;">"Version="</span> + <span style="color:#2b91af;">Convert</span>.ToString(poInfo.<b>mlAddInVersion</b>) + "\n";<br>
|
||||
msg = msg + <span style="color:#a31515;">"Requires version="</span> + <span style="color:#2b91af;">Convert</span>.ToString(poInfo.<b>mlRequiredVersionMajor</b>) + <span style="color:#a31515;">"."</span> + <span style="color:#2b91af;">Convert</span>.ToString(poInfo.<b>mlRequiredVersionMinor</b>);<br>
|
||||
msg = msg + "\n" + <span style="color:#a31515;">"Files:"</span> + "\n";<br>
|
||||
<br>
|
||||
idx = ppoFiles.GetLowerBound(0);<br>
|
||||
<span style="color:blue;">while</span> (idx <= ppoFiles.GetUpperBound(0))<br>
|
||||
{<br>
|
||||
msg = msg + ppoFiles[idx].<b>mbsFileName</b> + <span style="color:#a31515;">" Flags="</span> + <span style="color:#2b91af;">Convert</span>.ToString(ppoFiles[idx].<b>mlEdmAddInFileInfoFlags</b>) + "\n";<br>
|
||||
idx = idx + 1;<br>
|
||||
}<br>
|
||||
<br>
|
||||
msg = msg + "\n" + <span style="color:#a31515;">"Commands:"</span> + "\n";<br>
|
||||
<br>
|
||||
idx = ppoCmds.GetLowerBound(0);<br>
|
||||
<span style="color:blue;">while</span> (idx <= ppoCmds.GetUpperBound(0))<br>
|
||||
{<br>
|
||||
msg = msg + <span style="color:#a31515;">"'"</span> + ppoCmds[idx].<b>mbsMenuStr</b> + <span style="color:#a31515;">"' Flags="</span> + <span style="color:#2b91af;">Convert</span>.ToString(ppoCmds[idx].<b>mlEdmMenuFlags</b>) + "\n";<br>
|
||||
idx = idx + 1;<br>
|
||||
}<br>
|
||||
<br>
|
||||
vault1.<b>MsgBox</b>(<span style="color:blue;">this</span>.Handle.ToInt32(), msg);<br>
|
||||
<br>
|
||||
<span style="color:green;">// Get CAF information about the add-in just installed</span><br>
|
||||
AddinMgr.<b>GetCAFInfo</b>(poInfo.<b>mbsModulePath</b>, <span style="color:#a31515;">"c:\\temp"</span>, <span style="color:blue;">out</span> poInfo, <span style="color:blue;">out</span> ppoFiles, <span style="color:blue;">out</span> ppoCmds);<br>
|
||||
msg = <span style="color:#a31515;">"Getting CAF info for add-in: "</span> + poInfo.<b>mbsAddInName</b> + "\n";<br>
|
||||
msg = msg + <span style="color:#a31515;">"CLSID="</span> + poInfo.<b>mbsClassID</b> + "\n";<br>
|
||||
msg = msg + <span style="color:#a31515;">"Company="</span> + poInfo.<b>mbsCompany</b> + "\n";<br>
|
||||
msg = msg + <span style="color:#a31515;">"Module="</span> + poInfo.<b>mbsModulePath</b> + "\n";<br>
|
||||
msg = msg + <span style="color:#a31515;">"Version="</span> + <span style="color:#2b91af;">Convert</span>.ToString(poInfo.<b>mlAddInVersion</b>) + "\n";<br>
|
||||
msg = msg + <span style="color:#a31515;">"Requires version="</span> + <span style="color:#2b91af;">Convert</span>.ToString(poInfo.<b>mlRequiredVersionMajor</b>) + <span style="color:#a31515;">"."</span> + <span style="color:#2b91af;">Convert</span>.ToString(poInfo.<b>mlRequiredVersionMinor</b>);<br>
|
||||
msg = msg + "\n" + <span style="color:#a31515;">"Files:"</span> + "\n";<br>
|
||||
<br>
|
||||
idx = ppoFiles.GetLowerBound(0);<br>
|
||||
<span style="color:blue;">while</span> (idx <= ppoFiles.GetUpperBound(0))<br>
|
||||
{<br>
|
||||
msg = msg + ppoFiles[idx].<b>mbsFileName</b> + <span style="color:#a31515;">" Flags="</span> + <span style="color:#2b91af;">Convert</span>.ToString(ppoFiles[idx].<b>mlEdmAddInFileInfoFlags</b>) + "\n";<br>
|
||||
idx = idx + 1;<br>
|
||||
}<br>
|
||||
<br>
|
||||
msg = msg + "\n" + <span style="color:#a31515;">"Commands:"</span> + "\n";<br>
|
||||
<br>
|
||||
idx = ppoCmds.GetLowerBound(0);<br>
|
||||
<span style="color:blue;">while</span> (idx <= ppoCmds.GetUpperBound(0))<br>
|
||||
{<br>
|
||||
msg = msg + <span style="color:#a31515;">"'"</span> + ppoCmds[idx].<b>mbsMenuStr</b> + <span style="color:#a31515;">"' flags="</span> + <span style="color:#2b91af;">Convert</span>.ToString(ppoCmds[idx].<b>mlEdmMenuFlags</b>) + "\n";<br>
|
||||
idx = idx + 1;<br>
|
||||
}<br>
|
||||
<br>
|
||||
vault1.<b>MsgBox</b>(<span style="color:blue;">this</span>.Handle.ToInt32(), msg);<br>
|
||||
<br>
|
||||
<span style="color:blue;">return</span>;<br>
|
||||
<br>
|
||||
}<br>
|
||||
<span style="color:blue;">catch</span> (System.Runtime.InteropServices.<span style="color:#2b91af;">COMException</span> ex)<br>
|
||||
{<br>
|
||||
<span style="color:#2b91af;">MessageBox</span>.Show(<span style="color:#a31515;">"HRESULT = 0x"</span> + ex.ErrorCode.ToString(<span style="color:#a31515;">"X"</span>) + <span style="color:#a31515;">" "</span> + ex.Message);<br>
|
||||
}<br>
|
||||
<span style="color:blue;">catch</span> (<span style="color:#2b91af;">Exception</span> ex)<br>
|
||||
{<br>
|
||||
<span style="color:#2b91af;">MessageBox</span>.Show(ex.Message);<br>
|
||||
}<br>
|
||||
<br>
|
||||
}<br>
|
||||
</p>
|
||||
<p style="font-family: Courier New; font-size: 13; color: black; background: white" class="APICODE">
|
||||
<span style="color:blue;"> private</span> <span style="color:blue;">void</span> button1_Click(<span style="color:blue;">object</span> sender, <span style="color:#2b91af;">EventArgs</span> e)<br>
|
||||
{<br>
|
||||
<span style="color:blue;">try</span><br>
|
||||
{<br>
|
||||
<span style="color:#2b91af;">IEdmAddInMgr9</span> AddinMgr = <span style="color:blue;">default</span>(<span style="color:#2b91af;">IEdmAddInMgr9</span>);<br>
|
||||
AddinMgr = (<span style="color:#2b91af;">IEdmAddInMgr9</span>)vault1;<br>
|
||||
<br>
|
||||
<span style="color:blue;">if</span> (vault1 == <span style="color:blue;">null</span>)<br>
|
||||
{<br>
|
||||
vault1 = <span style="color:blue;">new</span> <span style="color:#2b91af;">EdmVault5</span>();<br>
|
||||
}<br>
|
||||
<span style="color:blue;">if</span> (!vault1.<b>IsLoggedIn</b>)<br>
|
||||
{<br>
|
||||
vault1.<b>LoginAuto</b>(VaultsComboBox.Text, <span style="color:blue;">this</span>.Handle.ToInt32());<br>
|
||||
}<br>
|
||||
<br>
|
||||
AddinMgr.<b>RemoveAddIn</b>(addinName);<br>
|
||||
<span style="color:blue;">this</span>.button1.Enabled = <span style="color:blue;">false</span>;<br>
|
||||
}<br>
|
||||
<span style="color:blue;">catch</span> (System.Runtime.InteropServices.<span style="color:#2b91af;">COMException</span> ex)<br>
|
||||
{<br>
|
||||
<span style="color:#2b91af;">MessageBox</span>.Show(<span style="color:#a31515;">"HRESULT = 0x"</span> + ex.ErrorCode.ToString(<span style="color:#a31515;">"X"</span>) + <span style="color:#a31515;">" "</span> + ex.Message);<br>
|
||||
}<br>
|
||||
<span style="color:blue;">catch</span> (<span style="color:#2b91af;">Exception</span> ex)<br>
|
||||
{<br>
|
||||
<span style="color:#2b91af;">MessageBox</span>.Show(ex.Message);<br>
|
||||
}<br>
|
||||
}<br>
|
||||
<br>
|
||||
}<br>
|
||||
}</p>
|
||||
|
||||
<p style="font-family: Courier New; font-size: 13; color: black; background: white" class="APICODE">
|
||||
</p>
|
||||
<p style="font-family: Courier New; color: black; background: white" align="center">
|
||||
<a href="#top">Back to top</a></p>
|
||||
<p style="font-family: Courier New; font-size: 13; color: #008000; background: white" class="APICODE">
|
||||
<a name="Form1.Designer.cs"></a>//Form1.Designer.cs</p>
|
||||
<p style="font-family: Courier New; font-size: 13; color: black; background: white" class="APICODE">
|
||||
<span style="color:blue;">namespace</span> AddinMgr_CSharp<br>
|
||||
{<br>
|
||||
<span style="color:blue;">partial</span> <span style="color:blue;">class</span> <span style="color:#2b91af;">Form1</span><br>
|
||||
{<br>
|
||||
<span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;"><summary></span><br>
|
||||
<span style="color:gray;">///</span><span style="color:green;"> Required designer variable.</span><br>
|
||||
<span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;"></summary></span><br>
|
||||
<span style="color:blue;">private</span> System.ComponentModel.<span style="color:#2b91af;">IContainer</span> components = <span style="color:blue;">null</span>;<br>
|
||||
<br>
|
||||
<span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;"><summary></span><br>
|
||||
<span style="color:gray;">///</span><span style="color:green;"> Clean up any resources being used.</span><br>
|
||||
<span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;"></summary></span><br>
|
||||
<span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;"><param name="</span>disposing<span style="color:gray;">"></span><span style="color:green;">true if managed resources should be disposed; otherwise, false.</span><span style="color:gray;"></param></span><br>
|
||||
<span style="color:blue;">protected</span> <span style="color:blue;">override</span> <span style="color:blue;">void</span> Dispose(<span style="color:blue;">bool</span> disposing)<br>
|
||||
{<br>
|
||||
<span style="color:blue;">if</span> (disposing && (components != <span style="color:blue;">null</span>))<br>
|
||||
{<br>
|
||||
components.Dispose();<br>
|
||||
}<br>
|
||||
<span style="color:blue;">base</span>.Dispose(disposing);<br>
|
||||
}<br>
|
||||
<br>
|
||||
<span style="color:blue;">#region</span> Windows Form Designer generated code<br>
|
||||
<br>
|
||||
<span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;"><summary></span><br>
|
||||
<span style="color:gray;">///</span><span style="color:green;"> Required method for Designer support - do not modify</span><br>
|
||||
<span style="color:gray;">///</span><span style="color:green;"> the contents of this method with the code editor.</span><br>
|
||||
<span style="color:gray;">///</span><span style="color:green;"> </span><span style="color:gray;"></summary></span><br>
|
||||
<span style="color:blue;">private</span> <span style="color:blue;">void</span> InitializeComponent()<br>
|
||||
{<br>
|
||||
<span style="color:blue;">this</span>.VaultsLabel = <span style="color:blue;">new</span> System.Windows.Forms.<span style="color:#2b91af;">Label</span>();<br>
|
||||
<span style="color:blue;">this</span>.VaultsComboBox = <span style="color:blue;">new</span> System.Windows.Forms.<span style="color:#2b91af;">ComboBox</span>();<br>
|
||||
<span style="color:blue;">this</span>.BrowseButton = <span style="color:blue;">new</span> System.Windows.Forms.<span style="color:#2b91af;">Button</span>();<br>
|
||||
<span style="color:blue;">this</span>.AddinListBox = <span style="color:blue;">new</span> System.Windows.Forms.<span style="color:#2b91af;">ListBox</span>();<br>
|
||||
<span style="color:blue;">this</span>.LoadAddin = <span style="color:blue;">new</span> System.Windows.Forms.<span style="color:#2b91af;">Button</span>();<br>
|
||||
<span style="color:blue;">this</span>.AddinOpenFileDialog = <span style="color:blue;">new</span> System.Windows.Forms.<span style="color:#2b91af;">OpenFileDialog</span>();<br>
|
||||
<span style="color:blue;">this</span>.button1 = <span style="color:blue;">new</span> System.Windows.Forms.<span style="color:#2b91af;">Button</span>();<br>
|
||||
<span style="color:blue;">this</span>.SuspendLayout();<br>
|
||||
<span style="color:green;">// </span><br>
|
||||
<span style="color:green;">// VaultsLabel</span><br>
|
||||
<span style="color:green;">// </span><br>
|
||||
<span style="color:blue;">this</span>.VaultsLabel.AutoSize = <span style="color:blue;">true</span>;<br>
|
||||
<span style="color:blue;">this</span>.VaultsLabel.Location = <span style="color:blue;">new</span> System.Drawing.<span style="color:#2b91af;">Point</span>(13, 26);<br>
|
||||
<span style="color:blue;">this</span>.VaultsLabel.Name = <span style="color:#a31515;">"VaultsLabel"</span>;<br>
|
||||
<span style="color:blue;">this</span>.VaultsLabel.Size = <span style="color:blue;">new</span> System.Drawing.<span style="color:#2b91af;">Size</span>(91, 13);<br>
|
||||
<span style="color:blue;">this</span>.VaultsLabel.TabIndex = 0;<br>
|
||||
<span style="color:blue;">this</span>.VaultsLabel.Text = <span style="color:#a31515;">"Select vault view:"</span>;<br>
|
||||
<span style="color:green;">// </span><br>
|
||||
<span style="color:green;">// VaultsComboBox</span><br>
|
||||
<span style="color:green;">// </span><br>
|
||||
<span style="color:blue;">this</span>.VaultsComboBox.FormattingEnabled = <span style="color:blue;">true</span>;<br>
|
||||
<span style="color:blue;">this</span>.VaultsComboBox.Location = <span style="color:blue;">new</span> System.Drawing.<span style="color:#2b91af;">Point</span>(16, 59);<br>
|
||||
<span style="color:blue;">this</span>.VaultsComboBox.Name = <span style="color:#a31515;">"VaultsComboBox"</span>;<br>
|
||||
<span style="color:blue;">this</span>.VaultsComboBox.Size = <span style="color:blue;">new</span> System.Drawing.<span style="color:#2b91af;">Size</span>(121, 21);<br>
|
||||
<span style="color:blue;">this</span>.VaultsComboBox.TabIndex = 1;<br>
|
||||
<span style="color:green;">// </span><br>
|
||||
<span style="color:green;">// BrowseButton</span><br>
|
||||
<span style="color:green;">// </span><br>
|
||||
<span style="color:blue;">this</span>.BrowseButton.Location = <span style="color:blue;">new</span> System.Drawing.<span style="color:#2b91af;">Point</span>(16, 98);<br>
|
||||
<span style="color:blue;">this</span>.BrowseButton.Name = <span style="color:#a31515;">"BrowseButton"</span>;<br>
|
||||
<span style="color:blue;">this</span>.BrowseButton.Size = <span style="color:blue;">new</span> System.Drawing.<span style="color:#2b91af;">Size</span>(271, 23);<br>
|
||||
<span style="color:blue;">this</span>.BrowseButton.TabIndex = 3;<br>
|
||||
<span style="color:blue;">this</span>.BrowseButton.Text = <span style="color:#a31515;">"Browse for add-in..."</span>;<br>
|
||||
<span style="color:blue;">this</span>.BrowseButton.UseVisualStyleBackColor = <span style="color:blue;">true</span>;<br>
|
||||
<span style="color:blue;">this</span>.BrowseButton.Click += <span style="color:blue;">new</span> System.<span style="color:#2b91af;">EventHandler</span>(<span style="color:blue;">this</span>.BrowseButton_Click);<br>
|
||||
<span style="color:green;">// </span><br>
|
||||
<span style="color:green;">// AddinListBox</span><br>
|
||||
<span style="color:green;">// </span><br>
|
||||
<span style="color:blue;">this</span>.AddinListBox.FormattingEnabled = <span style="color:blue;">true</span>;<br>
|
||||
<span style="color:blue;">this</span>.AddinListBox.HorizontalScrollbar = <span style="color:blue;">true</span>;<br>
|
||||
<span style="color:blue;">this</span>.AddinListBox.Location = <span style="color:blue;">new</span> System.Drawing.<span style="color:#2b91af;">Point</span>(16, 151);<br>
|
||||
<span style="color:blue;">this</span>.AddinListBox.Name = <span style="color:#a31515;">"AddinListBox"</span>;<br>
|
||||
<span style="color:blue;">this</span>.AddinListBox.SelectionMode = System.Windows.Forms.<span style="color:#2b91af;">SelectionMode</span>.MultiSimple;<br>
|
||||
<span style="color:blue;">this</span>.AddinListBox.Size = <span style="color:blue;">new</span> System.Drawing.<span style="color:#2b91af;">Size</span>(259, 56);<br>
|
||||
<span style="color:blue;">this</span>.AddinListBox.TabIndex = 4;<br>
|
||||
<span style="color:green;">// </span><br>
|
||||
<span style="color:green;">// LoadAddin</span><br>
|
||||
<span style="color:green;">// </span><br>
|
||||
<span style="color:blue;">this</span>.LoadAddin.Location = <span style="color:blue;">new</span> System.Drawing.<span style="color:#2b91af;">Point</span>(16, 230);<br>
|
||||
<span style="color:blue;">this</span>.LoadAddin.Name = <span style="color:#a31515;">"LoadAddin"</span>;<br>
|
||||
<span style="color:blue;">this</span>.LoadAddin.Size = <span style="color:blue;">new</span> System.Drawing.<span style="color:#2b91af;">Size</span>(259, 23);<br>
|
||||
<span style="color:blue;">this</span>.LoadAddin.TabIndex = 5;<br>
|
||||
<span style="color:blue;">this</span>.LoadAddin.Text = <span style="color:#a31515;">"Install add-in"</span>;<br>
|
||||
<span style="color:blue;">this</span>.LoadAddin.UseVisualStyleBackColor = <span style="color:blue;">true</span>;<br>
|
||||
<span style="color:blue;">this</span>.LoadAddin.Click += <span style="color:blue;">new</span> System.<span style="color:#2b91af;">EventHandler</span>(<span style="color:blue;">this</span>.LoadAddin_Click);<br>
|
||||
<span style="color:green;">// </span><br>
|
||||
<span style="color:green;">// AddinOpenFileDialog</span><br>
|
||||
<span style="color:green;">// </span><br>
|
||||
<span style="color:blue;">this</span>.AddinOpenFileDialog.Multiselect = <span style="color:blue;">true</span>;<br>
|
||||
<span style="color:blue;">this</span>.AddinOpenFileDialog.Title = <span style="color:#a31515;">"Browse for add-ins"</span>;<br>
|
||||
<span style="color:green;">// </span><br>
|
||||
<span style="color:green;">// button1</span><br>
|
||||
<span style="color:green;">// </span><br>
|
||||
<span style="color:blue;">this</span>.button1.Location = <span style="color:blue;">new</span> System.Drawing.<span style="color:#2b91af;">Point</span>(16, 260);<br>
|
||||
<span style="color:blue;">this</span>.button1.Name = <span style="color:#a31515;">"button1"</span>;<br>
|
||||
<span style="color:blue;">this</span>.button1.Size = <span style="color:blue;">new</span> System.Drawing.<span style="color:#2b91af;">Size</span>(259, 23);<br>
|
||||
<span style="color:blue;">this</span>.button1.TabIndex = 6;<br>
|
||||
<span style="color:blue;">this</span>.button1.Text = <span style="color:#a31515;">"Remove add-in"</span>;<br>
|
||||
<span style="color:blue;">this</span>.button1.UseVisualStyleBackColor = <span style="color:blue;">true</span>;<br>
|
||||
<span style="color:blue;">this</span>.button1.Enabled = <span style="color:blue;">false</span>;<br>
|
||||
<span style="color:blue;">this</span>.button1.Click += <span style="color:blue;">new</span> System.<span style="color:#2b91af;">EventHandler</span>(<span style="color:blue;">this</span>.button1_Click);<br>
|
||||
<span style="color:green;">// </span><br>
|
||||
<span style="color:green;">// Form1</span><br>
|
||||
<span style="color:green;">// </span><br>
|
||||
<span style="color:blue;">this</span>.AutoScaleDimensions = <span style="color:blue;">new</span> System.Drawing.<span style="color:#2b91af;">SizeF</span>(6F, 13F);<br>
|
||||
<span style="color:blue;">this</span>.AutoScaleMode = System.Windows.Forms.<span style="color:#2b91af;">AutoScaleMode</span>.Font;<br>
|
||||
<span style="color:blue;">this</span>.ClientSize = <span style="color:blue;">new</span> System.Drawing.<span style="color:#2b91af;">Size</span>(317, 308);<br>
|
||||
<span style="color:blue;">this</span>.Controls.Add(<span style="color:blue;">this</span>.button1);<br>
|
||||
<span style="color:blue;">this</span>.Controls.Add(<span style="color:blue;">this</span>.LoadAddin);<br>
|
||||
<span style="color:blue;">this</span>.Controls.Add(<span style="color:blue;">this</span>.AddinListBox);<br>
|
||||
<span style="color:blue;">this</span>.Controls.Add(<span style="color:blue;">this</span>.BrowseButton);<br>
|
||||
<span style="color:blue;">this</span>.Controls.Add(<span style="color:blue;">this</span>.VaultsComboBox);<br>
|
||||
<span style="color:blue;">this</span>.Controls.Add(<span style="color:blue;">this</span>.VaultsLabel);<br>
|
||||
<span style="color:blue;">this</span>.Name = <span style="color:#a31515;">"Form1"</span>;<br>
|
||||
<span style="color:blue;">this</span>.Text = <span style="color:#a31515;">"Install add-in"</span>;<br>
|
||||
<span style="color:blue;">this</span>.Load += <span style="color:blue;">new</span> System.<span style="color:#2b91af;">EventHandler</span>(<span style="color:blue;">this</span>.Form1_Load);<br>
|
||||
<span style="color:blue;">this</span>.ResumeLayout(<span style="color:blue;">false</span>);<br>
|
||||
<span style="color:blue;">this</span>.PerformLayout();<br>
|
||||
<br>
|
||||
}<br>
|
||||
<br>
|
||||
<span style="color:blue;">#endregion</span><br>
|
||||
<br>
|
||||
<span style="color:blue;">private</span> System.Windows.Forms.<span style="color:#2b91af;">OpenFileDialog</span> AddinOpenFileDialog;<br>
|
||||
<span style="color:blue;">private</span> System.Windows.Forms.<span style="color:#2b91af;">Label</span> VaultsLabel;<br>
|
||||
<span style="color:blue;">private</span> System.Windows.Forms.<span style="color:#2b91af;">ComboBox</span> VaultsComboBox;<br>
|
||||
<span style="color:blue;">private</span> System.Windows.Forms.<span style="color:#2b91af;">Button</span> BrowseButton;<br>
|
||||
<span style="color:blue;">private</span> System.Windows.Forms.<span style="color:#2b91af;">ListBox</span> AddinListBox;<br>
|
||||
<span style="color:blue;">private</span> System.Windows.Forms.<span style="color:#2b91af;">Button</span> LoadAddin;<br>
|
||||
<span style="color:blue;">private</span> System.Windows.Forms.<span style="color:#2b91af;">Button</span> button1;<br>
|
||||
}<br>
|
||||
}<br>
|
||||
<br>
|
||||
</p>
|
||||
<p style="font-family: Courier New; font-size: 13; color: black; background: white" class="APICODE">
|
||||
</p>
|
||||
<p style="font-family: Courier New; font-size: 13; color: black; background: white" class="APICODE">
|
||||
</p>
|
||||
<p style="font-family: Courier New; color: black; background: white" align="center">
|
||||
<a href="#top">Back to top</a></p>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user