Example #1
0
        public void CheckUpdate(long build)
        {
            Soft soft = null;

            try {
                text = "正在连接服务器...";
                soft = NetApi.GetSoft(2);
            } catch (System.Net.WebException ex) {
                text = "获取数据时发生异常:" + ex.Message;
            }

            if (soft == null || soft.Build <= build)
            {
                text     = "未找到相关数据";
                overFlag = true;
                return;
            }

            text = "发现新版本!";
            Tools.AppConfigHelper.RootPath = Application.ExecutablePath;
            Tools.AppConfigHelper.SetAppSettingsValue("UpdateFlag", "true");
            Tools.AppConfigHelper.SetAppSettingsValue("Ver", soft.Version);
            Tools.AppConfigHelper.SetAppSettingsValue("UpdatePackageFileName", soft.Packages[0].Name);
            Tools.AppConfigHelper.SetAppSettingsValue("UpdatePackagePassword", soft.Packages[0].Password);

            String host = AppConfigHelper.GetAppSettingsValue("domain");
            String url  = String.Format("{0}/api/product/service/download_package/{1}?access_token=123", host, soft.Packages[0].Id);

            text = "正在下载更新包...";
            DownloadFile(url, soft.Packages[0].Name + ".zip", null);
        }
Example #2
0
        public void CheckUpdate(long build)
        {
            String  softID = ConfigurationManager.AppSettings["SoftID"];
            IniFile file   = new IniFile(String.Format("{0}/application.cache", Application.StartupPath));

            Soft soft = null;

            try {
                Callback?.Invoke("正在连接服务器...", -1);
                soft = NetApi.GetSoft(Convert.ToInt32(softID), file.IniReadValue("AccessToken", "token"));
            } catch (System.Net.WebException ex) {
                Callback?.Invoke("获取数据时发生异常:" + ex.Message, 1);
                return;
            }

            if (soft == null || soft.Build <= build)
            {
                Callback?.Invoke("未发现新版本", 0);
                return;
            }

            Callback?.Invoke("发现新版本!", -1);
            Tools.AppConfigHelper.RootPath = Application.ExecutablePath;
            Tools.AppConfigHelper.SetAppSettingsValue("UpdateFlag", "true");
            Tools.AppConfigHelper.SetAppSettingsValue("Ver", soft.Version);
            Tools.AppConfigHelper.SetAppSettingsValue("UpdatePackageFileName", soft.Packages[0].Name);
            Tools.AppConfigHelper.SetAppSettingsValue("UpdatePackagePassword", soft.Packages[0].Password);

            String host = AppConfigHelper.GetAppSettingsValue("domain");
            String url  = String.Format("{0}/api/product/download/{1}?access_token={2}", host, soft.Packages[0].Id, file.IniReadValue("AccessToken", "token"));

            Callback?.Invoke("正在下载更新包...", -1);
            DownloadFile(url, soft.Packages[0].Name + ".zip", null);
        }
Example #3
0
        /// <summary>
        /// 检测是否有新版本
        /// </summary>
        /// <param name="build">当前版本</param>
        /// <returns>有新版本则返回软件信息,无新版本时则返回null</returns>
        public Soft checkUpdate(long build)
        {
            String  softID = ConfigurationManager.AppSettings["SoftID"];
            IniFile file   = new IniFile(String.Format("{0}/application.cache", Application.StartupPath));

            Soft soft = null;

            try
            {
                UpdateStatusCallback?.Invoke("正在连接服务器...", -1);
                soft = NetApi.GetSoft(Convert.ToInt32(softID), file.IniReadValue("AccessToken", "token"));
            }
            catch (System.Net.WebException ex)
            {
                UpdateStatusCallback?.Invoke("获取数据时发生异常:" + ex.Message, 1);
                return(null);
            }

            if (soft == null || soft.Build <= build)
            {
                UpdateStatusCallback?.Invoke("未发现新版本", 0);
                return(null);
            }

            UpdateStatusCallback?.Invoke("发现新版本!", -1);

            return(soft);
        }
Example #4
0
        internal static string getDomainName()
        {
            IntPtr zero = IntPtr.Zero;

            NetApi.DsGetDcName(null, null, null, null, 0, out zero);
            NetApi.DOMAIN_CONTROLLER_INFO domain_controller_info = (NetApi.DOMAIN_CONTROLLER_INFO)Marshal.PtrToStructure(zero, typeof(NetApi.DOMAIN_CONTROLLER_INFO));
            NetApi.NetApiBufferFree(zero);
            zero = IntPtr.Zero;
            return(domain_controller_info.DomainName);
        }
Example #5
0
        public static String[] GetAccessToken(String appId, String appSecret)
        {
            NetResult result = NetApi.GetAccessToken(appId, appSecret);

            if (result == null || result.Status == "err")
            {
                return(null);
            }
            JObject item = result.Data as JObject;

            return(new String[] { item["access_token"].ToString(), item["access_expired"].ToString() });
        }
Example #6
0
        /// <summary>
        /// Retrieves entropy from sources which are relatively slower than those from
        /// the FastAddEntropy function.
        /// </summary>
        public byte[] GetSlowEntropy()
        {
            List <byte> result = new List <byte>();

            //NetAPI statistics
            byte[] netApiStats = NetApi.NetStatisticsGet(null, NetApiService.Workstation, 0, 0);
            if (netApiStats != null)
            {
                result.AddRange(netApiStats);
            }

            foreach (VolumeInfo info in VolumeInfo.Volumes)
            {
                if (info.IsReady && info.VolumeType != DriveType.Removable)
                {
                    try
                    {
                        DiskPerformanceInfo performance = info.Performance;
                        if (performance == null)
                        {
                            continue;
                        }

                        result.AddRange(StructToBuffer(performance.BytesRead));
                        result.AddRange(StructToBuffer(performance.BytesWritten));
                        result.AddRange(StructToBuffer(performance.IdleTime));
                        result.AddRange(StructToBuffer(performance.QueryTime));
                        result.AddRange(StructToBuffer(performance.QueueDepth));
                        result.AddRange(StructToBuffer(performance.ReadCount));
                        result.AddRange(StructToBuffer(performance.ReadTime));
                        result.AddRange(StructToBuffer(performance.SplitCount));
                        result.AddRange(StructToBuffer(performance.WriteCount));
                        result.AddRange(StructToBuffer(performance.WriteTime));
                    }
                    catch (FileNotFoundException)
                    {
                        //This happens if a drive is ejected while the loop is running.
                    }
                    catch (NotSupportedException)
                    {
                        //Don't bother if this drive doesn't count statistics.
                    }
                }
            }

            return(result.ToArray());
        }