예제 #1
0
        /// <summary>
        /// 获取当前已激活的进程信息
        /// </summary>
        /// <returns></returns>
        public ProgramInfoTemp GetForeProgramInfo()
        {
            try
            {
                var ForegHandle = WindowsAPI.GetForegroundWindow();
                WindowsAPI.GetWindowThreadProcessId(ForegHandle, out int ProgramID);
                var ProcessObj = Process.GetProcessById(ProgramID);
                if (ProcessObj == null)
                {
                    return(null);
                }

                var ResultObj = ProgramInfoList.FirstOrDefault(T1 => T1.Name == ProcessObj.ProcessName);
                if (ResultObj != null)
                {
                    return(ResultObj);
                }


                var FileName   = ProcessObj.Modules[0].FileName;
                var ForeImage  = UniversalMethod.GetImageByFileName(FileName);
                var ForeImgHex = UniversalMethod.ByteArayToHex(ForeImage.ToByteArray());

                ResultObj        = new ProgramInfoTemp();
                ResultObj.Name   = ProcessObj.ProcessName;
                ResultObj.Img    = ForeImage;
                ResultObj.ImgHex = ForeImgHex;
                ProgramInfoList.Add(ResultObj);
                return(ResultObj);
            }
            catch
            {
                return(null);
            }
        }
예제 #2
0
 /// <summary>
 /// 添加一个快捷键
 /// </summary>
 public void AddtShortcutKey(tShortCutKey Param)
 {
     Task.Delay(100).ContinueWith(task => {
         Invoke(new Action(() => {
             Param.ShortCutKeyImg    = UniversalMethod.ByteArayToHex(OfficeTools.Resource.Image.Image.ShortcutKeyDefualtImage.ToImage().ToByteArray());
             frmShortcutKey_Edit frm = new frmShortcutKey_Edit(Param);
             string NewID            = "";
             if (frm.ShowDialog() == DialogResult.OK)
             {
                 NewID = new ShortcutKeyManageService().AddShortCutKey(frm.CurrentEntity);
                 if (!string.IsNullOrEmpty(NewID))
                 {
                     InitKeyList();
                 }
             }
         }));
     });
 }
        /// <summary> 确定键单机
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OK_button_Click(object sender, EventArgs e)
        {
            CurrentEntity.ShortCutKeyImg    = UniversalMethod.ByteArayToHex(Img_pictureBox.Image.ToByteArray());
            CurrentEntity.ShortCutKeyName   = Name_textBox.Text;
            CurrentEntity.TargetProgramImg  = UniversalMethod.ByteArayToHex(Target_pictureBox.Image.ToByteArray());
            CurrentEntity.TargetProgramName = Program_textBox.Text;

            if (CurrentEntity.ShortCutKeyType == 2)
            {
                CurrentEntity.ShortCutKeyPath = SysShortcutKey_textBox.Text;
            }
            else
            {
                CurrentEntity.ShortCutKeyPath = Path_textBox.Text;
            }

            CurrentEntity.LongPress = LongPress_checkBox.Checked ? 2 : 1;
            this.DialogResult       = DialogResult.OK;
            this.Close();
        }
예제 #4
0
        /// <summary> 以当前选中的快捷键为基础添加一个快捷键
        ///
        /// </summary>
        /// <param name="IsChidren">[true:添加的快捷键是当前选中的快捷键的子节点;false:添加的选中快捷键的同级快捷键]</param>
        private string AddtShortcutKey(bool IsChidren = true)
        {
            tShortCutKey AddData = new tShortCutKey()
            {
                ShortCutKeyName = "新增快捷键",
                ParentID        = "",
                ShortCutKey     = "",
                ShortCutKeyPath = "",
                ShortCutKeyType = 0,
                ShortCutKeyImg  = ""
            };

            AddData.ShortCutKeyImg = UniversalMethod.ByteArayToHex(OfficeTools.Resource.Image.Image.ShortcutKeyDefualtImage.ToImage().ToByteArray());
            TreeNode CurrentNode = ShortcutKey_otTreeView.SelectedNode;

            if (CurrentNode != null)
            {
                tShortCutKey CurrentEntity = tShortCutKeyDataSource.Where(T1 => T1.ShortCutKeyID == CurrentNode.Name).FirstOrDefault();
                if (CurrentEntity != null)
                {
                    AddData.ParentID = CurrentEntity.ParentID;
                    if (IsChidren)
                    {
                        AddData.ParentID = CurrentEntity.ShortCutKeyID;
                    }
                }
            }
            int KeuNum = GetDefaultKey(AddData.ParentID);

            if (KeuNum != -1)
            {
                AddData.ShortCutKey = KeuNum.ToString();
            }
            string NewID = new ShortcutKeyManageService().AddShortCutKey(AddData);

            if (!string.IsNullOrEmpty(NewID))
            {
                InitKeyList();
            }
            return(NewID);
        }
예제 #5
0
        /// <summary> 将文件拖拽到窗口后
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Form1_DragDrop(object sender, DragEventArgs e)
        {
            System.Array ArrayTemp = ((System.Array)e.Data.GetData(DataFormats.FileDrop));
            if (ArrayTemp == null)
            {
                return;                   //不支持的格式直接返回
            }
            List <string> FilePathList = new List <string>();

            for (int i = 0; i < ArrayTemp.Length; i++)
            {
                FilePathList.Add(ArrayTemp.GetValue(i).ToString());
            }

            #region 获取父ID,使新添加的记录与当前选中节点处于同一级别

            string   StrParentId = "";
            TreeNode CurrentNode = ShortcutKey_otTreeView.SelectedNode;
            if (CurrentNode != null)
            {
                tShortCutKey CurrentEntity = tShortCutKeyDataSource.Where(T1 => T1.ShortCutKeyID == CurrentNode.Name).FirstOrDefault();
                if (CurrentEntity != null)
                {
                    StrParentId = CurrentEntity.ShortCutKeyID;
                }
            }
            #endregion 获取父ID,使新添加的记录与当前选中节点处于同一级别

            foreach (string PathItem in FilePathList)
            {
                string StrFileName = Path.GetFileNameWithoutExtension(PathItem);//获取快捷键名称

                int    KeyNum    = GetDefaultKey(StrParentId);
                string StrKeyNum = "";
                if (KeyNum != -1)
                {
                    StrKeyNum = KeyNum.ToString();                                                  //获取默认键编号
                }
                int FileType = 0;                                                                   //设置打开类型

                byte[] ImageByteArray = UniversalMethod.GetImageByFileName(PathItem).ToByteArray(); //获取文件图标
                var    ImageHex       = UniversalMethod.ByteArayToHex(ImageByteArray);
                #region 获取快捷方式真实路径
                string StrPath      = PathItem;
                string StrExtension = Path.GetExtension(PathItem);
                if (!string.IsNullOrEmpty(StrExtension))//文件
                {
                    if (StrExtension == ".lnk")
                    {
                        WshShell     ShellTemp        = new WshShell();
                        IWshShortcut IWshShortcutTemp = (IWshShortcut)ShellTemp.CreateShortcut(PathItem);
                        StrPath      = IWshShortcutTemp.TargetPath;
                        StrExtension = Path.GetExtension(StrPath);
                        if (string.IsNullOrEmpty(StrExtension))
                        {
                            FileType = 1;
                        }
                    }
                }
                else//文件夹
                {
                    FileType = 1;
                }
                Regex RegexTemp = new Regex(@"https{0,1}\:\/\/");
                if (RegexTemp.Match(StrPath).Success)//是否是网址
                {
                    FileType = 2;
                }
                #endregion 获取快捷方式真实路径

                #region 实例化AddData
                tShortCutKey AddData = new tShortCutKey()
                {
                    ShortCutKeyName = StrFileName,
                    ParentID        = StrParentId,
                    ShortCutKey     = StrKeyNum,
                    ShortCutKeyPath = StrPath,
                    ShortCutKeyType = (byte)FileType,
                    ShortCutKeyImg  = ImageHex
                };



                #endregion 实例化AddData
                string NewID = new ShortcutKeyManageService().AddShortCutKey(AddData);
                tShortCutKeyDataSource.Add(AddData);
            }
            InitKeyList();
        }