public static void applayClick(object sender, EventArgs e) { try { IntPtr coTaskMemAuto = Marshal.StringToCoTaskMemAuto(Application.StartupPath + "\\res\\config_user.xml"); IntPtr num1 = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(HNStruct.HNConfigXML))); for (int index = 0; index < (int)TabletConfigUtils.config.ctxEkeys[0].ctxMek[0].eks[0].num; ++index) { TabletConfigUtils.config.ctxEkeys[0].ctxMek[0].eks[0].mekid = (char[])null; } TabletConfigUtils.config.ctxEkeys[0].ctxMek[0].eks[0].mekid = (char[])null; TabletConfigUtils.config.ctxEkeys[0].ctxMek[0].eks[1].mekid = (char[])null; Marshal.StructureToPtr((object)TabletConfigUtils.config, num1, false); IntPtr num2 = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(HNStruct.HNTabletInfo))); Marshal.StructureToPtr((object)HNStruct.globalInfo.tabletInfo, num2, false); int num3 = (int)HuionDriverDLL.hnx_save_config(num1, num2, coTaskMemAuto, coTaskMemAuto); HuionDriverDLL.hnd_notify_config_changed(); Marshal.FreeHGlobal(num2); Marshal.FreeHGlobal(num1); Marshal.FreeHGlobal(coTaskMemAuto); } catch (Exception ex) { HuionLog.saveLog("保存接口", ex.Message); } }
public static void exportConfigClick(object sender, EventArgs e) { Directory.CreateDirectory(SettingsUtil.perAppSettingsProfileDir); SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.InitialDirectory = Path.GetFullPath(SettingsUtil.perAppSettingsProfileDir); saveFileDialog.Filter = ResourceCulture.GetString("FormInfo_TextFile") + "|*.xml"; saveFileDialog.FilterIndex = 2; saveFileDialog.RestoreDirectory = true; if (saveFileDialog.ShowDialog() != DialogResult.OK) { return; } string fileName = saveFileDialog.FileName; string s = Application.StartupPath + "\\res\\config_user.xml"; IntPtr coTaskMemAuto1 = Marshal.StringToCoTaskMemAuto(fileName); IntPtr coTaskMemAuto2 = Marshal.StringToCoTaskMemAuto(s); IntPtr num1 = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(HNStruct.HNConfigXML))); Marshal.StructureToPtr((object)TabletConfigUtils.config, num1, true); IntPtr num2 = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(HNStruct.HNTabletInfo))); Marshal.StructureToPtr((object)HNStruct.globalInfo.tabletInfo, num2, true); int num3 = (int)HuionDriverDLL.hnx_save_config(num1, num2, coTaskMemAuto2, coTaskMemAuto1); HuionDriverDLL.hnd_notify_config_changed(); Marshal.FreeHGlobal(coTaskMemAuto1); Marshal.FreeHGlobal(coTaskMemAuto2); Marshal.FreeHGlobal(num2); Marshal.FreeHGlobal(num1); saveFileDialog.Dispose(); }
private void btnDefault_Click(object sender, EventArgs e) { TabletConfigUtils.config.bCalibrated = (byte)0; IntPtr num1 = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(HNStruct.HNConfigXML))); Marshal.StructureToPtr((object)TabletConfigUtils.config, num1, true); IntPtr num2 = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(HNStruct.HNTabletInfo))); Marshal.StructureToPtr((object)HNStruct.globalInfo.tabletInfo, num2, true); IntPtr coTaskMemAuto = Marshal.StringToCoTaskMemAuto(sourcePath); int num3 = (int)HuionDriverDLL.hnx_save_config(num1, num2, coTaskMemAuto, coTaskMemAuto); HuionDriverDLL.hnd_notify_config_changed(); Marshal.FreeHGlobal(num2); Marshal.FreeHGlobal(coTaskMemAuto); Marshal.FreeHGlobal(num1); this.Close(); this.Dispose(); }
private void saveCalibrate(IntPtr ptr) { try { IntPtr num1 = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(HNStruct.HNConfigXML))); Marshal.StructureToPtr((object)TabletConfigUtils.config, num1, true); IntPtr num2 = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(HNStruct.HNTabletInfo))); Marshal.StructureToPtr((object)HNStruct.globalInfo.tabletInfo, num2, true); IntPtr coTaskMemAuto = Marshal.StringToCoTaskMemAuto(sourcePath); HuionDriverDLL.hnc_calibrate_monitor(num2, num1, ptr); int num3 = (int)HuionDriverDLL.hnx_save_config(num1, num2, coTaskMemAuto, coTaskMemAuto); HuionDriverDLL.hnd_notify_config_changed(); Marshal.FreeHGlobal(coTaskMemAuto); Marshal.FreeHGlobal(num2); Marshal.FreeHGlobal(num1); } catch (Exception ex) { HuionLog.printSaveLog("", ex.Message); HuionLog.printSaveLog("", ex.StackTrace); } }