2015-09-18 3 views
0

Я пытаюсь отредактировать пару настроек в меню опций SolidWork через программу C#, которую я написал. Код приведен ниже:Редактирование системных параметров системы SolidWorks в C#

using System; 
using System.IO; 
using SldWorks; 
using SwConst; 

static void Main(string[] args) 
{ 
    SldWorks.SldWorks swApp; 
    swApp = new SldWorks.SldWorks(); 

    swApp.SetUserPreferenceToggle((int)swUserPreferenceToggle_e.swSingleCommandPerPick, true); /// Single command per pick 
    swApp.SetUserPreferenceToggle((int)swUserPreferenceToggle_e.swEditMacroAfterRecord, true); /// Automatically edit macro after recording 
    swApp.SetUserPreferenceToggle((int)swUserPreferenceToggle_e.swUserEnableFreezeBar, true); /// Enable Freeze bar 

    Console.WriteLine("Settings applied"); 
} 

Целью этой программы является включение этих трех параметров (флажков) в значение true. Пока это не работает. Опции остаются неизменными даже после запуска программы. Я что-то пропустил, или мой код не так?

ответ

0

Попробуйте использовать следующие для получения объекта COM в то время как SolidWorks работает.

Try 
{ 
    SldWorks swApp = (SldWorks)Marshal.GetActiveObject("SldWorks.Application"); 
    swApp.SetUserPreferenceToggle((int)swUserPreferenceToggle_e.swSingleCommandPerPick, true); /// Single command per pick 
    swApp.SetUserPreferenceToggle((int)swUserPreferenceToggle_e.swEditMacroAfterRecord, true); /// Automatically edit macro after recording 
    swApp.SetUserPreferenceToggle((int)swUserPreferenceToggle_e.swUserEnableFreezeBar, true); /// Enable Freeze bar 



    Console.WriteLine("Settings applied"); 
} 
catch() 
{ 
    Console.WriteLine("Failed to get SolidWorks"); 
}