Exemplo n.º 1
0
        /// <summary>
        /// Init
        /// </summary>
        private void Init()
        {
            try
            {
                //// 隐藏任务栏
                //IntPtr trayHwnd = FindWindow("Shell_TrayWnd", null);
                //ShowWindow(trayHwnd, 0);


                //// 禁用windows热键
                //intLLKey = SetWindowsHookEx(13, DisableHotkeys, Marshal.GetHINSTANCE(Assembly.GetExecutingAssembly().GetModules()[0]).ToInt32(), 0);


                this.FormBorderStyle = FormBorderStyle.FixedDialog;//no title
                m_SqlHelper          = DataAccessFactory.DefaultDataAccess;

                m_Logger      = new DrectSoftLog("系统锁屏模块跟踪");
                m_CurrentUser = FormMain.Instance.User;
                m_Account     = new Account();

                InitControls();

                // 禁用任务管理器
                //RegistryKey regkey = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System");
                //regkey.SetValue("DisableTaskMgr", 1, RegistryValueKind.DWord);
                //regkey.Close();
            }
            catch (Exception ex)
            {
                m_Logger.Error(ex);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 替换事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_Save_Click(object sender, EventArgs e)
        {
            DataTable dt = (DataTable)gridControl1.DataSource;

            if (null == dt || dt.Rows.Count == 0)
            {
                MyMessageBox.Show("模板列表为空,请先将左侧需要删除日志的模板移动到右侧列表。", "提示", MyMessageBoxButtons.Ok, DrectSoft.Common.Ctrs.DLG.MessageBoxIcon.WarningIcon);
                return;
            }

            SetWaitDialogCaption("正在批量清除模板日志内容...");

            Emrtemplet m_Emrtemplet;
            //循环替换页眉页脚
            int losecnt    = 0;
            int successcnt = 0;

            foreach (DataRow dr in ((DataTable)gridControl1.DataSource).Rows)
            {
                try
                {
                    m_Emrtemplet = m_SQLManger.GetTemplet(dr["ID"].ToString());

                    //if (chk_Title.Checked)
                    //    m_Emrtemplet.XML_DOC_NEW = ReplaceTitle(m_Emrtemplet.XML_DOC_NEW);
                    //if (chk_Foot.Checked)
                    m_Emrtemplet.XML_DOC_NEW = ReplaceSaveLog(m_Emrtemplet.XML_DOC_NEW);

                    m_SQLManger.BatchSaveTemplet(m_Emrtemplet, "2");
                }
                catch (Exception ex)
                {
                    losecnt++;
                    m_Logger.Error("模板批量删除日志信息错误日志:" + "\t" + "模板TempletID:" + dr["ID"] + "\t" + ex.Message);

                    continue;
                }
                successcnt++;
            }

            HideWaitDialog();

            string mess = "";

            if (successcnt > 0)
            {
                mess = "替换成功,成功替换了【" + successcnt.ToString() + "】条记录。";
                if (losecnt > 0)
                {
                    mess += "\n其中有【" + losecnt + "】条记录未替换成功,\n未成功记录请查看服务器上\\Logs下日志信息。";
                }
                m_app.CustomMessageBox.MessageShow(mess);
            }
            else
            {
                m_app.CustomMessageBox.MessageShow("替换失败,有【" + losecnt + "】条记录未替换成功。\n未成功记录请查看服务器上\\Logs下日志信息。");
            }
        }
Exemplo n.º 3
0
 private void InitializeUI()
 {
     //TODO
     // 调出背景图
     try
     {
         // 加载登录按钮图标
         buttonLogIn.BackgroundImageLayout = ImageLayout.Stretch;
         //add by xjt,2010-05-26,读取锁屏后,重新选择的用户ID
         if (Program.m_StrUserId != string.Empty && Program.m_StrUserId != null)
         {
             this.textBoxUserID.Text = Program.m_StrUserId;
         }
         Program.m_StrUserId = string.Empty;
         //add end,xjt
     }
     catch (System.IO.IOException ex)
     {
         m_Log.Error("加载窗口背景图失败:" + ex.Message + "");
     }
 }
Exemplo n.º 4
0
 private void FormLock_Load(object sender, EventArgs e)
 {
     try
     {
         Init();
     }
     catch (Exception ex)
     {
         m_Logger.Error(ex);
     }
 }
Exemplo n.º 5
0
        private bool CreatePlugInConfiguration()
        {
            if (!File.Exists(_configFileName))
            {
                _log.Warn("文件[" + _configFileName + "]不存在!");

                //不存在,需要自动创建XML文档,所有信息由自定制的特性得到,
                XmlTextWriter emptyXmlDoc = new XmlTextWriter(_configFileName, Encoding.Default);
                emptyXmlDoc.WriteStartDocument();
                emptyXmlDoc.WriteStartElement("config");
                emptyXmlDoc.WriteEndElement();
                emptyXmlDoc.Flush();
                emptyXmlDoc.Close();
            }

            //创建菜单的XML文档
            XmlDocument plugInDoc = new XmlDocument();

            try {
                plugInDoc.Load(_configFileName);
            }
            catch {
                _log.Error("载入菜单文档时出错!\n");
                throw;
            }

            if (_plugInLoader == null)
            {
                throw new ArgumentNullException("plugInLoader", "指定的加载域为空");
            }

            //遍历指定路径的满足条件的插件
            string[]      paths       = _assemblySetPath.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
            List <string> plugInFiles = new List <string>();

            foreach (string path in paths)
            {
                string[] plgs = Directory.GetFiles(path, "*.dll");
                plugInFiles.AddRange(plgs);
            }
            foreach (string pluginfile in plugInFiles)
            {
                //创建读取插件模块的自制特性
                try {
                    //Assembly assembly = Assembly.LoadFrom(plugInFiles[i]);
                    Assembly assembly = _plugInLoader.RemoteLoadAssembly(pluginfile);

                    if (assembly == null)
                    {
                        continue;
                    }
                    AttributesReader attrReader = new AttributesReader(assembly);

                    PluginAttribute[] attrPlugInInfo = attrReader.GetPlugInMenuInfoAttribute();
                    for (int menuIndex = 0; menuIndex < attrPlugInInfo.Length; menuIndex++)
                    {
                        if (!(attrPlugInInfo[menuIndex] is ClientPluginAttribute))
                        {
                            continue;
                        }
                        ClientPluginAttribute attrMenuPluginInfo = attrPlugInInfo[menuIndex] as ClientPluginAttribute;

                        //检查所给定的启动类是否实现了_assemblyIntfType接口
                        Type startupInterfaceType = attrMenuPluginInfo.StartupClassType.GetInterface(_assemblyInterfaceType);
                        if (startupInterfaceType == null)
                        {
                            _log.Warn("所给定的启动类没有实现[" + _assemblyInterfaceType + "]接口!");
                            break;
                        }

                        XmlNode plugInNode = plugInDoc.DocumentElement.SelectSingleNode(
                            "//plugin[@library='" + Path.GetFileName(pluginfile) + "'"
                            + " and @class='" + attrMenuPluginInfo.StartupClassType.FullName + "']");
                        if (plugInNode != null)
                        {
                            break;
                        }

                        Hashtable ht = new Hashtable();
                        ht.Add("caption", attrMenuPluginInfo.MenuNameSubsystem);
                        XmlNode subSystemRootNode = FindAndCreateXmlNode(plugInDoc, plugInDoc.DocumentElement
                                                                         , "system[@caption='" + attrMenuPluginInfo.MenuNameSubsystem + "']"
                                                                         , "system", ht);

                        ht.Clear();
                        ht.Add("caption", attrMenuPluginInfo.MenuNameParent);
                        XmlNode subSystemPlugInsNode = FindAndCreateXmlNode(plugInDoc, subSystemRootNode
                                                                            , "plugins[@caption='" + attrMenuPluginInfo.MenuNameParent + "']"
                                                                            , "plugins", ht);

                        ht.Clear();
                        ht.Add("caption", attrMenuPluginInfo.MenuNameAssembly);
                        ht.Add("library", Path.GetFileName(pluginfile));
                        ht.Add("class", attrMenuPluginInfo.StartupClassType.FullName);
                        if (!String.IsNullOrEmpty(attrMenuPluginInfo.IconName))
                        {
                            ht.Add("iconname", attrMenuPluginInfo.IconName);
                        }

                        FindAndCreateXmlNode(plugInDoc, subSystemPlugInsNode
                                             , "plugin[@library='" + Path.GetFileName(pluginfile) + "'"
                                             + " and @class='" + attrMenuPluginInfo.StartupClassType.FullName + "']"
                                             , "plugin", ht);
                    }
                }
                catch (Exception e) {
                    _log.Error(e.ToString());
                    continue;
                }
            }

            plugInDoc.Save(_configFileName);

            _log.Info("Config文件更新完成");

            return(true);
        }
Exemplo n.º 6
0
        /// <summary>
        /// 替换事件
        /// edit by Yanqiao.Cai 2012-11-06
        /// add try ... catch
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_Save_Click(object sender, EventArgs e)
        {
            try
            {
                string errorStr = CheckItem();
                if (!string.IsNullOrEmpty(errorStr))
                {
                    DrectSoft.Common.Ctrs.DLG.MyMessageBox.Show(errorStr);
                    return;
                }
                if (DrectSoft.Common.Ctrs.DLG.MyMessageBox.Show("您确定要批量替换" + (chk_Title.Checked ? "页眉" : "") + (chk_Foot.Checked ? "页脚" : "") + "吗?该操作不可恢复。", "批量替换页眉页脚", DrectSoft.Common.Ctrs.DLG.MyMessageBoxButtons.OkCancel) == DialogResult.Cancel)
                {
                    return;
                }

                SetWaitDialogCaption("正在批量替换" + (chk_Title.Checked ? "页眉" : "") + (chk_Foot.Checked ? "页脚" : "") + "...");

                GetHeaderFootEntity();

                Emrtemplet m_Emrtemplet;
                //循环替换页眉页脚
                int losecnt    = 0;
                int successcnt = 0;
                foreach (DataRow dr in ((DataTable)gridControl1.DataSource).Rows)
                {
                    try
                    {
                        m_Emrtemplet = m_SQLManger.GetTemplet(dr["ID"].ToString());

                        if (chk_Title.Checked)
                        {
                            m_Emrtemplet.XML_DOC_NEW = ReplaceTitle(m_Emrtemplet.XML_DOC_NEW);
                        }
                        if (chk_Foot.Checked)
                        {
                            m_Emrtemplet.XML_DOC_NEW = ReplaceFoot(m_Emrtemplet.XML_DOC_NEW);
                        }

                        m_SQLManger.BatchSaveTemplet(m_Emrtemplet, "2");
                    }
                    catch (Exception ex)
                    {
                        losecnt++;
                        //Log log = new Log();
                        //log.Write("模板批量替换页眉页脚错误日志:" + "\t" + "模板TempletID:" + dr["ID"] + ex.Message);
                        //(new Log()).Write("模板批量替换页眉页脚错误日志:" + "\t" + "模板TempletID:" + dr["ID"] + ex.Message);
                        m_Logger.Error("模板批量替换页眉页脚错误日志:" + "\t" + "模板TempletID:" + dr["ID"] + "\t" + ex.Message);
                        //m_Logger.Info("模板批量替换页眉页脚错误日志:" + "\t" + "模板TempletID:" + dr["ID"] + "\t" + ex.Message);
                        continue;
                    }
                    successcnt++;
                }

                HideWaitDialog();

                string mess = "";
                if (successcnt > 0)
                {
                    mess = "替换成功,成功替换了【" + successcnt.ToString() + "】记录。";
                    if (losecnt > 0)
                    {
                        mess += "\n其中有【" + losecnt + "】条记录未替换成功,\n未成功记录请查看服务器上\\Logs下日志信息。";
                    }
                    DrectSoft.Common.Ctrs.DLG.MyMessageBox.Show(mess);
                }
                else
                {
                    DrectSoft.Common.Ctrs.DLG.MyMessageBox.Show("替换失败,有【" + losecnt + "】条记录未替换成功,\n未成功记录请查看服务器上\\Logs下日志信息。");
                }
            }
            catch (Exception ex)
            {
                HideWaitDialog();
                DrectSoft.Common.Ctrs.DLG.MyMessageBox.Show(1, ex);
            }
        }