Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // **************************************************
- // Custom code for AbcCodeForm
- // Created: 7/18/2018 8:02:42 PM
- // **************************************************
- using System;
- using System.ComponentModel;
- using System.Data;
- using System.Diagnostics;
- using System.Windows.Forms;
- using Erp.Adapters;
- using Erp.UI;
- using Ice.Lib;
- using Ice.Adapters;
- using Ice.Lib.Customization;
- using Ice.Lib.ExtendedProps;
- using Ice.Lib.Framework;
- using Ice.Lib.Searches;
- using Ice.UI.FormFunctions;
- // need this one
- using System.Runtime.InteropServices;
- public static class TaskbarProgress
- {
- public enum TaskbarStates
- {
- NoProgress = 0,
- Indeterminate = 0x1,
- Normal = 0x2,
- Error = 0x4,
- Paused = 0x8
- }
- [ComImport()]
- [Guid("ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf")]
- [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
- private interface ITaskbarList3
- {
- // ITaskbarList
- [PreserveSig]
- void HrInit();
- [PreserveSig]
- void AddTab(IntPtr hwnd);
- [PreserveSig]
- void DeleteTab(IntPtr hwnd);
- [PreserveSig]
- void ActivateTab(IntPtr hwnd);
- [PreserveSig]
- void SetActiveAlt(IntPtr hwnd);
- // ITaskbarList2
- [PreserveSig]
- void MarkFullscreenWindow(IntPtr hwnd, [MarshalAs(UnmanagedType.Bool)] bool fFullscreen);
- // ITaskbarList3
- [PreserveSig]
- void SetProgressValue(IntPtr hwnd, UInt64 ullCompleted, UInt64 ullTotal);
- [PreserveSig]
- void SetProgressState(IntPtr hwnd, TaskbarStates state);
- }
- [ComImport()]
- [Guid("56fdf344-fd6d-11d0-958a-006097c9a090")]
- [ClassInterface(ClassInterfaceType.None)]
- private class TaskbarInstance
- {
- }
- private static ITaskbarList3 taskbarInstance = (ITaskbarList3)new TaskbarInstance();
- private static bool taskbarSupported = Environment.OSVersion.Version >= new Version(6, 1);
- public static void SetState(IntPtr windowHandle, TaskbarStates taskbarState)
- {
- if (taskbarSupported) taskbarInstance.SetProgressState(windowHandle, taskbarState);
- }
- public static void SetValue(IntPtr windowHandle, double progressValue, double progressMax)
- {
- if (taskbarSupported) taskbarInstance.SetProgressValue(windowHandle, (ulong)progressValue, (ulong)progressMax);
- }
- }
- public class Script
- {
- public void InitializeCustomCode()
- {
- this.epiButtonC1.Click += new System.EventHandler(this.epiButtonC1_Click);
- }
- public void DestroyCustomCode()
- {
- this.epiButtonC1.Click -= new System.EventHandler(this.epiButtonC1_Click);
- }
- private void epiButtonC1_Click(object sender, System.EventArgs args)
- {
- // ** Place Event Handling Code Here **
- TaskbarProgress.SetValue(AbcCodeForm.Handle, 50, 100);
- TaskbarProgress.SetState(AbcCodeForm.Handle, TaskbarProgress.TaskbarStates.Error);
- }
- }
Add Comment
Please, Sign In to add comment