Ejemplo n.º 1
0
 /// <summary>
 /// 解压缩7-ZIP文件(加密)
 /// </summary>
 /// <param name="strZipPath">ZIP压缩文件保存位置</param>
 /// <param name="strDeCompressionPath">需要解压到的指定位置</param>
 /// <param name="strPassword">压缩文件密码</param>
 /// <returns>成功返回true,失败返回false</returns>
 public static bool DeCompression7Zip(string strZipPath, string strDeCompressionPath, string strPassword)
 {
     try
     {
         if (string.IsNullOrEmpty(strZipPath) || !File.Exists(strZipPath))
         {
             return(false);
         }
         //动态链接7ZIP类库
         SetLibraryPath7z();
         //创建目录
         if (!Directory.Exists(strDeCompressionPath))
         {
             Directory.CreateDirectory(strDeCompressionPath);
         }
         //解压数据
         SevenZipExtractor sevenZipExtractor = new SevenZipExtractor(strZipPath, strPassword);
         foreach (ArchiveFileInfo itemArchiveFileInfo in sevenZipExtractor.ArchiveFileData)
         {
             sevenZipExtractor.ExtractFiles(strDeCompressionPath, itemArchiveFileInfo.Index);
         }
         return(true);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(false);
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// DataTable分页查询
 /// </summary>
 /// <param name="dtDataSource">源数据(DataTable)</param>
 /// <param name="iPageNo">页码</param>
 /// <param name="iPageSize">每页条数</param>
 /// <returns>指定页码的DataTable数据</returns>
 public static DataTable PagingQuery(DataTable dtDataSource, int iPageNo, int iPageSize)
 {
     try
     {
         int iDataSourceCount = dtDataSource.Rows.Count;
         int iNumberPages     = (iDataSourceCount / iPageSize) + (iDataSourceCount % iPageSize > 0 ? 1 : 0);
         iPageNo = iPageNo <= 0 ? 1 : iPageNo;
         //填充数据
         DataTable dtPageData = dtDataSource.Clone();
         for (int iRows = (iPageNo - 1) * iPageSize; iRows < iPageNo * iPageSize && iRows < dtDataSource.Rows.Count; iRows++)
         {
             var newRow = dtPageData.NewRow();
             var oldRow = dtDataSource.Rows[iRows];
             foreach (DataColumn dataColumn in dtDataSource.Columns)
             {
                 newRow[dataColumn.ColumnName] = oldRow[dataColumn.ColumnName];
             }
             dtPageData.Rows.Add(newRow);
         }
         return(dtPageData);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
     }
     return(null);
 }
Ejemplo n.º 3
0
 /// <summary>
 /// 生成二维码
 /// </summary>
 /// <param name="strContent">二维码文本</param>
 /// <param name="iWidth">二维码宽度</param>
 /// <param name="iHeigth">二维码高度</param>
 /// <returns>二维码位图</returns>
 public static Bitmap GetQRCode(string strContent, int iWidth, int iHeigth)
 {
     try
     {
         //构造二维码写码器
         MultiFormatWriter writer = new MultiFormatWriter();
         Dictionary <EncodeHintType, object> hint = new Dictionary <EncodeHintType, object>();
         hint.Add(EncodeHintType.CHARACTER_SET, "UTF-8");
         hint.Add(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
         hint.Add(EncodeHintType.MARGIN, 1);
         //生成二维码
         BitMatrix     bitMatrix     = writer.encode(strContent, BarcodeFormat.QR_CODE, iWidth, iHeigth, hint);
         BarcodeWriter barcodeWriter = new BarcodeWriter();
         Bitmap        bitmapQRCode  = barcodeWriter.Write(bitMatrix);
         //获取二维码实际尺寸(去掉二维码两边空白后的实际尺寸)
         int[] rectangle = bitMatrix.getEnclosingRectangle();
         //将img转换成bmp格式,否则后面无法创建Graphics对象
         Bitmap bitmapQRCodeBMP = new Bitmap(bitmapQRCode.Width, bitmapQRCode.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
         using (Graphics g = Graphics.FromImage(bitmapQRCodeBMP))
         {
             g.InterpolationMode  = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
             g.SmoothingMode      = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
             g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
             g.DrawImage(bitmapQRCode, 0, 0);
         }
         return(bitmapQRCodeBMP);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(null);
     }
 }
Ejemplo n.º 4
0
 /// <summary>
 /// 删除 URL Protocol 协议
 /// </summary>
 /// <param name="strName">键值名称</param>
 /// <returns>成功返回true,失败返回false</returns>
 public static bool DeleteURLProtocol(string strName)
 {
     try
     {
         if (string.IsNullOrEmpty(strName))
         {
             return(false);
         }
         RegistryKey registryKey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(strName, true);
         if (registryKey == null)
         {
             return(false);
         }
         else
         {
             registryKey = Microsoft.Win32.Registry.ClassesRoot;
             registryKey.DeleteSubKeyTree(strName);
         }
         registryKey.Close();
         return(true);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(false);
     }
 }
Ejemplo n.º 5
0
 /// <summary>
 /// 读取网卡MAC地址
 /// </summary>
 /// <returns>成功返回网卡MAC地址,失败返回NULL</returns>
 public static List <string> MAC()
 {
     try
     {
         // 虚拟网卡标识
         List <string> listFictitious = new List <string>
         {
             "vmnetadapter",
             "ppoe",
             "bthpan",
             "tapvpn",
             "ndisip",
             "sinforvnic"
         };
         // 获取并过滤网卡Mac信息
         List <string> listMAC = new List <string>();
         foreach (ManagementObject mo in new ManagementClass("Win32_NetworkAdapterConfiguration").GetInstances())
         {
             if ((bool)mo["IPEnabled"] && !listFictitious.Contains(mo["ServiceName"].ToString().ToLower()))
             {
                 listMAC.Add(mo["MacAddress"].ToString());
             }
         }
         return(listMAC);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(null);
     }
 }
Ejemplo n.º 6
0
 /// <summary>
 /// 文件DES加密
 /// </summary>
 /// <param name="strFilePath">文件路径</param>
 /// <param name="strSaveFilePath">加密文件目录</param>
 /// <param name="strKey">秘钥(8位)</param>
 /// <param name="strIV">向量(8位)</param>
 /// <returns>成功返回true,失败返回false</returns>
 public static bool FileDESEncrypt(string strFilePath, string strSaveFilePath, string strKey, string strIV)
 {
     try
     {
         DESCryptoServiceProvider desCrypto = new DESCryptoServiceProvider();
         desCrypto.Key = UTF8Encoding.Default.GetBytes(strKey);
         desCrypto.IV  = UTF8Encoding.UTF8.GetBytes(strIV);
         FileStream fileStream     = File.OpenRead(strFilePath);
         byte[]     byteFileStream = new byte[fileStream.Length];
         fileStream.Read(byteFileStream, 0, (int)fileStream.Length);
         fileStream.Close();
         using (var memoryStream = new MemoryStream())
         {
             using (var cryptoStream = new CryptoStream(memoryStream, desCrypto.CreateEncryptor(), CryptoStreamMode.Write))
             {
                 cryptoStream.Write(byteFileStream, 0, byteFileStream.Length);
                 cryptoStream.FlushFinalBlock();
                 fileStream = File.OpenWrite(strSaveFilePath);
                 foreach (byte byteMemoryStream in memoryStream.ToArray())
                 {
                     fileStream.WriteByte(byteMemoryStream);
                 }
                 fileStream.Close();
                 cryptoStream.Close();
                 memoryStream.Close();
                 return(true);
             }
         }
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(false);
     }
 }
Ejemplo n.º 7
0
 /// <summary>
 /// 获得指定路径下文件的路径和文件名(限定后缀名)
 /// </summary>
 /// <param name="strPath">文件夹路径</param>
 /// <param name="strSuffixName">限定后缀名,如:"*.txt"、"*.xml"</param>
 /// <returns>成功返回文件全路径或文件名,失败返回NULL</returns>
 public static List <string> GetSpecifiedDirectoryFiles(string strPath, string strSuffixName)
 {
     try
     {
         List <string> listAllFiles = new List <string>();
         DirectoryInfo TheFolder    = new DirectoryInfo(strPath);
         FileInfo[]    TheFile;
         if (string.IsNullOrEmpty(strSuffixName))
         {
             TheFile = TheFolder.GetFiles();
         }
         else
         {
             TheFile = TheFolder.GetFiles(strSuffixName);
         }
         foreach (FileInfo NextFile in TheFile)
         {
             listAllFiles.Add(NextFile.FullName);
         }
         return(listAllFiles);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(null);
     }
 }
Ejemplo n.º 8
0
 /// <summary>
 /// 创建Get请求
 /// </summary>
 /// <param name="url">Api访问地址</param>
 /// <param name="requestUrl">详细方法路径</param>
 /// <param name="parameters">请求参数</param>
 /// <returns>Api返回值</returns>
 public static string CreateGetHttpClient(string url, string requestUrl, IDictionary <string, string> parameters)
 {
     try
     {
         StringBuilder builder = new StringBuilder();
         builder.Append(url);
         builder.Append(requestUrl);
         if (parameters != null && parameters.Count >= 1)
         {
             builder.Append("?");
             int i = 0;
             foreach (var item in parameters)
             {
                 if (i > 0)
                 {
                     builder.Append("&");
                 }
                 builder.AppendFormat("{0}={1}", item.Key, item.Value);
                 i++;
             }
         }
         HttpClient httpClient = new HttpClient();
         httpClient.BaseAddress = new Uri(url);
         var result = httpClient.GetAsync(builder.ToString()).Result;
         return(result.Content.ReadAsStringAsync().Result);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return("");
     }
 }
Ejemplo n.º 9
0
 /// <summary>
 /// 获得EntityList类型数据
 /// </summary>
 /// <typeparam name="T">数据模型</typeparam>
 /// <param name="strTableName">表名</param>
 /// <param name="strWhere">过滤条件</param>
 /// <returns>成功返回ListT,失败返回null</returns>
 public static List <T> GetEntityList <T>(string strTableName, string strWhere) where T : class, new()
 {
     try
     {
         List <T>     listT     = new List <T>();
         SQLiteHelper sqlHelper = new SQLiteHelper();
         sqlHelper.SQLiteConnectionString(strSQLiteConn);
         sqlHelper.Open();
         if (string.IsNullOrEmpty(strWhere))
         {
             listT = DataProcessing.ConvertToList <T>(sqlHelper.GetDataTable(string.Format("SELECT * FROM {0}", strTableName)));
         }
         else
         {
             listT = DataProcessing.ConvertToList <T>(sqlHelper.GetDataTable(string.Format("SELECT * FROM {0} WHERE {1}", strTableName, strWhere)));
         }
         sqlHelper.Close();
         return(listT);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(null);
     }
 }
Ejemplo n.º 10
0
 /// <summary>
 /// 匹配替换标签
 /// </summary>
 /// <param name="strText">需要匹配的文本</param>
 /// <param name="strStartSymbol">起始符号</param>
 /// <param name="strStopSymbol">终止符号</param>
 /// <returns>匹配成功的标签(带标签,不带标签)</returns>
 public static Dictionary <string, string> MatchingReplaceLabel(string strText, string strStartSymbol, string strStopSymbol)
 {
     try
     {
         if (string.IsNullOrEmpty(strText))
         {
             return(null);
         }
         Dictionary <string, string> dicMatchingLabel = new Dictionary <string, string>();
         string strRegularExpression = string.Format(@"[^{0}]+(?=\{1})", strStartSymbol, strStopSymbol);
         foreach (Match matchText in Regex.Matches(strText, strRegularExpression))
         {
             if (!dicMatchingLabel.ContainsKey(matchText.Value))
             {
                 dicMatchingLabel.Add(string.Format("{0}{1}{2}", strStartSymbol, matchText.Value, strStopSymbol), string.Format("{0}", matchText.Value));
             }
         }
         return(dicMatchingLabel);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(null);
     }
 }
Ejemplo n.º 11
0
 /// <summary>
 /// 获取文件CRC32值(8位小写)
 /// </summary>
 /// <param name="strFilePath">文件路径</param>
 /// <returns>文件CRC32值(8位小写)</returns>
 public static string FileCRC32Encrypt_8Lower(string strFilePath)
 {
     try
     {
         String hashCRC32 = String.Empty;
         //检查文件是否存在,如果文件存在则进行计算,否则返回空值
         if (System.IO.File.Exists(strFilePath))
         {
             using (System.IO.FileStream fileStream = new System.IO.FileStream(strFilePath, System.IO.FileMode.Open, System.IO.FileAccess.Read))
             {
                 //计算文件的CSC32值
                 Crc32  calculator = new Crc32();
                 Byte[] buffer     = calculator.ComputeHash(fileStream);
                 calculator.Clear();
                 //将字节数组转换成十六进制的字符串形式
                 StringBuilder stringBuilder = new StringBuilder();
                 for (int i = 0; i < buffer.Length; i++)
                 {
                     stringBuilder.Append(buffer[i].ToString("x2"));
                 }
                 hashCRC32 = stringBuilder.ToString();
             }
         }
         return(hashCRC32);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(string.Empty);
     }
 }
Ejemplo n.º 12
0
 /// <summary>
 /// 获得Word文档中所有替换标签('{标签}','#标签#')
 /// </summary>
 /// <param name="strDataSourcePath">Word文件路径</param>
 /// <returns>替换标签Dictionary(带标签,不带标签)</returns>
 public static Dictionary <string, string> GetWordAllLable(string strDataSourcePath)
 {
     try
     {
         if (string.IsNullOrEmpty(strDataSourcePath) || !File.Exists(strDataSourcePath))
         {
             return(null);
         }
         Dictionary <string, string> dicAllLabel = new Dictionary <string, string>();
         List <string> listAllText = GetWordAllText(strDataSourcePath);
         foreach (string strAllText in listAllText)
         {
             Dictionary <string, string> dicMatchingLabelK = MatchingReplaceLabel(strAllText, "{", "}");
             Dictionary <string, string> dicMatchingLabelS = MatchingReplaceLabel(strAllText, "#", "#");
             if (dicMatchingLabelK != null && dicMatchingLabelK.Count >= 1)
             {
                 dicAllLabel = dicAllLabel.Union(dicMatchingLabelK).ToDictionary(k => k.Key, v => v.Value);
             }
             if (dicMatchingLabelS != null && dicMatchingLabelS.Count >= 1)
             {
                 dicAllLabel = dicAllLabel.Union(dicMatchingLabelS).ToDictionary(k => k.Key, v => v.Value);
             }
         }
         return(dicAllLabel);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(null);
     }
 }
Ejemplo n.º 13
0
 /// <summary>
 /// 获得Word文档中所有文本
 /// </summary>
 /// <param name="strDataSourcePath">Word文件路径</param>
 /// <returns>所有文本List</returns>
 public static List <string> GetWordAllText(string strDataSourcePath)
 {
     try
     {
         if (string.IsNullOrEmpty(strDataSourcePath) || !File.Exists(strDataSourcePath))
         {
             return(null);
         }
         List <string> listAllText       = new List <string>();
         List <string> listParagraphText = GetWordParagraphText(strDataSourcePath);
         List <string> listTableText     = GetWordTableText(strDataSourcePath);
         if (listParagraphText != null && listParagraphText.Count >= 1)
         {
             listAllText = listAllText.Union(listParagraphText).ToList <string>();
         }
         if (listTableText != null && listTableText.Count >= 1)
         {
             listAllText = listAllText.Union(listTableText).ToList <string>();
         }
         return(listAllText);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(null);
     }
 }
Ejemplo n.º 14
0
 /// <summary>
 /// 获得Word文档中所有表格
 /// </summary>
 /// <param name="strDataSourcePath">Word文件路径</param>
 /// <returns>段落标签List</returns>
 public static List <string> GetWordTableText(string strDataSourcePath)
 {
     try
     {
         if (string.IsNullOrEmpty(strDataSourcePath) || !File.Exists(strDataSourcePath))
         {
             return(null);
         }
         List <string> listTableText = new List <string>();
         FileStream    fileStream    = new FileStream(strDataSourcePath, FileMode.Open, FileAccess.Read);
         XWPFDocument  wordDocument  = new XWPFDocument(fileStream);
         foreach (XWPFTable wordTable in wordDocument.Tables)
         {
             foreach (XWPFTableRow wordTableRow in wordTable.Rows)
             {
                 foreach (XWPFTableCell wordTableCell in wordTableRow.GetTableCells())
                 {
                     foreach (XWPFParagraph wordParagraph in wordTableCell.Paragraphs)
                     {
                         listTableText.Add(wordParagraph.ParagraphText);
                     }
                 }
             }
         }
         return(listTableText);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(null);
     }
 }
Ejemplo n.º 15
0
 /// <summary>
 /// DataSet转换为Json
 /// </summary>
 /// <param name="dsSourceData">DataTable数据</param>
 /// <param name="diclistFieldNameType">数据库表字段名和字段类型</param>
 /// <returns>对象的JSON字符串表示形式</returns>
 public static string DataSetConversionJson(DataSet dsSourceData, Dictionary <string, Dictionary <string, string> > diclistFieldNameType)
 {
     try
     {
         if (dsSourceData == null || dsSourceData.Tables.Count < 1)
         {
             //dtSourceData是基础数据,名称和字段类型可以为空
             return(string.Empty);
         }
         List <DataTableModel> listDataTableModel = new List <DataTableModel>();
         foreach (DataTable dtSourceData in dsSourceData.Tables)
         {
             DataTableModel dtmValue = new DataTableModel();
             dtmValue.TableName        = dtSourceData.TableName;
             dtmValue.dicFieldNameType = diclistFieldNameType[dtSourceData.TableName];
             dtmValue.dtSourceData     = dtSourceData;
             listDataTableModel.Add(dtmValue);
         }
         return(JsonConvert.SerializeObject(listDataTableModel));
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(string.Empty);
     }
 }
Ejemplo n.º 16
0
 /// <summary>
 /// 解压缩GZIP数据
 /// </summary>
 /// <param name="bytesSourceData">源数据</param>
 /// <returns>解压缩数据</returns>
 public static byte[] DeCompressionGZIP(byte[] bytesSourceData)
 {
     try
     {
         MemoryStream memoryStream        = new MemoryStream(bytesSourceData);
         GZipStream   compressedzipStream = new GZipStream(memoryStream, CompressionMode.Decompress);
         MemoryStream outBuffer           = new MemoryStream();
         byte[]       block = new byte[1024];
         while (true)
         {
             int bytesRead = compressedzipStream.Read(block, 0, block.Length);
             if (bytesRead <= 0)
             {
                 break;
             }
             else
             {
                 outBuffer.Write(block, 0, bytesRead);
             }
         }
         compressedzipStream.Close();
         return(outBuffer.ToArray());
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(null);
     }
 }
Ejemplo n.º 17
0
 /// <summary>
 /// DES解密
 /// </summary>
 /// <param name="strCiphertext">DES密文</param>
 /// <param name="strKey">秘钥(8位)</param>
 /// <param name="strIV">向量(8位)</param>
 /// <returns>明文</returns>
 public static string DESDecrypt(string strCiphertext, string strKey, string strIV)
 {
     try
     {
         DESCryptoServiceProvider desCrypto = new DESCryptoServiceProvider();
         desCrypto.Key = UTF8Encoding.Default.GetBytes(strKey);
         desCrypto.IV  = UTF8Encoding.UTF8.GetBytes(strIV);
         using (ICryptoTransform cryptoTransform = desCrypto.CreateDecryptor())
         {
             byte[] byteBase64 = Convert.FromBase64String(strCiphertext);
             using (var memoryStream = new MemoryStream())
             {
                 using (var cryptoStream = new CryptoStream(memoryStream, cryptoTransform, CryptoStreamMode.Write))
                 {
                     cryptoStream.Write(byteBase64, 0, byteBase64.Length);
                     cryptoStream.FlushFinalBlock();
                 }
                 return(Encoding.UTF8.GetString(memoryStream.ToArray()));
             }
         }
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(string.Empty);
     }
 }
Ejemplo n.º 18
0
 /// <summary>
 /// 获得指定路径下所有文件的路径和文件名
 /// </summary>
 /// <param name="strPath">文件夹路径</param>
 /// <returns>成功返回文件全路径或文件名,失败返回NULL</returns>
 public static List <string> GetSpecifiedDirectoryAllFiles(string strPath)
 {
     try
     {
         List <string> listAllFiles = new List <string>();
         DirectoryInfo TheFolder    = new DirectoryInfo(strPath);
         foreach (FileInfo NextFile in TheFolder.GetFiles())
         {
             listAllFiles.Add(NextFile.FullName);
         }
         foreach (DirectoryInfo NextFolder in TheFolder.GetDirectories())
         {
             foreach (string strLayer in GetSpecifiedDirectoryAllFiles(NextFolder.FullName))
             {
                 listAllFiles.Add(strLayer);
             }
         }
         return(listAllFiles);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(null);
     }
 }
Ejemplo n.º 19
0
 /// <summary>
 /// 通过二进制文件保存文件到指定路径
 /// </summary>
 /// <param name="BinaryData">二进制文件</param>
 /// <param name="strFilePath">文件路径</param>
 /// <returns>成功返回true,失败返回false</returns>
 public static bool GetFilePathFromBinaryData(Byte[] BinaryData, string strFilePath)
 {
     try
     {
         if (BinaryData.Length < 1 || string.IsNullOrEmpty(strFilePath))
         {
             return(false);
         }
         if (!Directory.Exists(System.IO.Path.GetDirectoryName(strFilePath)))
         {
             Directory.CreateDirectory(System.IO.Path.GetDirectoryName(strFilePath));
         }
         FileStream   fileStream    = new FileStream(strFilePath, FileMode.Create);
         BinaryWriter pBinaryWriter = new BinaryWriter(fileStream);
         pBinaryWriter.Write(BinaryData, 0, BinaryData.Length);
         pBinaryWriter.Close();
         fileStream.Close();
         return(true);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(false);
     }
 }
Ejemplo n.º 20
0
 /// <summary>
 /// 全屏幕截图
 /// </summary>
 /// <returns>截图Bitmap</returns>
 public static Bitmap ScreenshotFullScreen()
 {
     try
     {
         //得到屏幕工作区域宽度
         //double x = SystemParameters.WorkArea.Width;
         //得到屏幕工作区域高度
         //double y = SystemParameters.WorkArea.Height;
         //得到屏幕整体宽度
         double dPrimaryScreenWidth = SystemParameters.PrimaryScreenWidth;
         //得到屏幕整体高度
         double dPrimaryScreenHeight = SystemParameters.PrimaryScreenHeight;
         //初始化使用指定的大小(屏幕大小)的 System.Drawing.Bitmap 类的新实例.
         Bitmap bitmapScreenshot = new Bitmap((int)dPrimaryScreenWidth, (int)dPrimaryScreenHeight);
         //从指定的载入原创建新的 System.Drawing.Graphics.
         Graphics graphicsScreenshot = Graphics.FromImage(bitmapScreenshot);
         //获取或设置绘制到此 System.Drawing.Graphics 的渲染质量:高质量 低速度合成.
         graphicsScreenshot.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
         //截取电脑屏幕:从屏幕到 System.Drawing.Graphics 的绘图图面.
         graphicsScreenshot.CopyFromScreen((int)0, (int)0, (int)0, (int)0, new System.Drawing.Size((int)dPrimaryScreenWidth, (int)dPrimaryScreenHeight));
         return(bitmapScreenshot);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(null);
     }
 }
Ejemplo n.º 21
0
 /// <summary>
 /// 执行CMD命令
 /// </summary>
 /// <param name="cmd">cmd命令</param>
 /// <returns>cmd窗口的输出信息</returns>
 private static string ImplementationCMD(string cmd)
 {
     try
     {
         //使用cmd命令对文件共享进行操作
         System.Diagnostics.Process p = new System.Diagnostics.Process();
         p.StartInfo.FileName = "cmd.exe";
         //是否使用操作系统shell启动
         p.StartInfo.UseShellExecute = false;
         //接受来自调用程序的输入信息
         p.StartInfo.RedirectStandardInput = true;
         //由调用程序获取输出信息
         p.StartInfo.RedirectStandardOutput = true;
         //重定向标准错误输出
         p.StartInfo.RedirectStandardError = true;
         //不显示程序窗口
         p.StartInfo.CreateNoWindow = true;
         //启动程序
         p.Start();
         //执行CMD命令
         p.StandardInput.WriteLine(cmd);
         p.StandardInput.AutoFlush = true;
         p.StandardInput.WriteLine("exit");
         //获取cmd窗口的输出信息
         string strOutput = p.StandardOutput.ReadToEnd();
         p.WaitForExit();//等待程序执行完退出进程
         p.Close();
         return(strOutput);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(null);
     }
 }
Ejemplo n.º 22
0
 /// <summary>
 /// 保存二进制文件到数据库中
 /// </summary>
 /// <param name="strTableName">表名</param>
 /// <param name="strSaveField">保存列名</param>
 /// <param name="strSaveFilePath">文件路径</param>
 /// <param name="strWhere">查询Where条件</param>
 /// <returns>成功返回true,失败返回false</returns>
 public static bool SaveByteArray(string strTableName, string strSaveField, string strSaveFilePath, string strWhere)
 {
     try
     {
         //读取文件为Byte[]
         FileStream fileStream = new FileStream(strSaveFilePath, FileMode.Open);
         byte[]     byteFile   = new byte[(int)fileStream.Length];
         fileStream.Read(byteFile, 0, byteFile.Length);
         fileStream.Close();
         //保存到数据库
         SQLiteConnection SQLConnection = new SQLiteConnection(strSQLiteConn);
         SQLConnection.Open();
         string        strSQL     = string.Format("UPDATE {0} SET {1} = @file where {2}", strTableName, strSaveField, strWhere);
         SQLiteCommand SQLCommand = new SQLiteCommand(strSQL, SQLConnection);
         SQLCommand.Parameters.Add("@file", DbType.Binary, byteFile.Length);
         SQLCommand.Parameters["@file"].Value = byteFile;
         SQLCommand.ExecuteNonQuery();
         SQLConnection.Close();
         return(true);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(false);
     }
 }
Ejemplo n.º 23
0
 /// <summary>
 /// 读取BIOS序列号
 /// </summary>
 /// <returns>成功返回BIOS序列号,失败返回NULL</returns>
 public static List <string> BIOS()
 {
     try
     {
         List <string>              listBIOS = new List <string>();
         string                     strMac   = "";
         ManagementClass            mc       = new ManagementClass("Win32_BIOS");
         ManagementObjectCollection moc      = mc.GetInstances();
         foreach (ManagementObject mo in moc)
         {
             //Manufacturer = BIOS制造商名称
             //SerialNumber = BIOS序列号
             //ReleaseDate = 出厂日期
             //Version = 版本号
             strMac = mo["SerialNumber"].ToString();
             listBIOS.Add(strMac);
         }
         return(listBIOS);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(null);
     }
 }
Ejemplo n.º 24
0
 /// <summary>
 /// DataTable转换为XML(同步保存字段类型)
 /// </summary>
 /// <param name="strSource">XML文件路径</param>
 /// <param name="dtSourceData">DataTable数据</param>
 /// <param name="dicFieldNameType">数据库表字段名和字段类型</param>
 /// <returns>成功返回true,失败返回false</returns>
 public static bool DataTableConversionXML(string strSource, DataTable dtSourceData, Dictionary <string, string> dicFieldNameType)
 {
     try
     {
         if (string.IsNullOrEmpty(strSource) || dtSourceData.Rows.Count < 1)
         {
             return(false);
         }
         //创建并保存数据
         XmlDocument Document = new XmlDocument();
         XmlNode     Node     = Document.CreateXmlDeclaration("1.0", "utf-8", "");
         Document.AppendChild(Node);
         //整体XML是一个DataSet
         XmlNode nodeDataSet = Document.CreateElement("DataSet");
         Document.AppendChild(nodeDataSet);
         //DataSet中包含若干个DataTable
         XmlNode nodeDataTablet = Document.CreateElement("DataTable");
         nodeDataSet.AppendChild(nodeDataTablet);
         //DataTable中包含DataTableName、DataTableField、DataTable
         XmlNode nodeDataTableName = Document.CreateNode(XmlNodeType.Element, "DataTableName", null);
         nodeDataTableName.InnerText = dtSourceData.TableName;
         nodeDataTablet.AppendChild(nodeDataTableName);
         XmlNode nodeDataTableField = Document.CreateNode(XmlNodeType.Element, "DataTableField", null);
         nodeDataTablet.AppendChild(nodeDataTableField);
         foreach (var item in dtSourceData.Columns)
         {
             //DataTableField中包含Field
             XmlNode nodeField = Document.CreateNode(XmlNodeType.Element, "Field", null);
             nodeDataTableField.AppendChild(nodeField);
             //Field中包含FieldName、FieldType
             XmlNode nodeFieldName = Document.CreateNode(XmlNodeType.Element, "FieldName", null);
             nodeFieldName.InnerText = item.ToString();
             nodeField.AppendChild(nodeFieldName);
             XmlNode nodeFieldType = Document.CreateNode(XmlNodeType.Element, "FieldType", null);
             nodeFieldType.InnerText = dicFieldNameType != null && dicFieldNameType.ContainsKey(item.ToString()) ? dicFieldNameType[item.ToString()].ToString() : "";
             nodeField.AppendChild(nodeFieldType);
         }
         XmlNode nodeDataTableData = Document.CreateNode(XmlNodeType.Element, "DataTableData", null);
         nodeDataTablet.AppendChild(nodeDataTableData);
         foreach (DataRow drSourceData in dtSourceData.Rows)
         {
             //DataTableData中包含DataRow
             XmlNode nodeDataRow = Document.CreateNode(XmlNodeType.Element, "DataRow", null);
             nodeDataTableData.AppendChild(nodeDataRow);
             foreach (var item in dtSourceData.Columns)
             {
                 XmlNode nodeData = Document.CreateNode(XmlNodeType.Element, item.ToString(), null);
                 nodeData.InnerText = drSourceData[item.ToString()].ToString();
                 nodeDataRow.AppendChild(nodeData);
             }
         }
         Document.Save(strSource);
         return(true);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(false);
     }
 }
Ejemplo n.º 25
0
 /// <summary>
 /// List转换为DataTable
 /// </summary>
 /// <param name="listDataSource">源数据</param>
 /// <returns>成功返回DataTable,失败返回null</returns>
 public static DataTable ConvertDataTable(IList listDataSource)
 {
     try
     {
         DataTable dataTable = new DataTable();
         if (listDataSource.Count > 0)
         {
             PropertyInfo[] propertyInfos = listDataSource[0].GetType().GetProperties();
             foreach (PropertyInfo propertyInfo in propertyInfos)
             {
                 dataTable.Columns.Add(propertyInfo.Name, propertyInfo.PropertyType);
             }
             foreach (var vDataSource in listDataSource)
             {
                 ArrayList arrayList = new ArrayList();
                 foreach (PropertyInfo propertyInfo in propertyInfos)
                 {
                     arrayList.Add(propertyInfo.GetValue(vDataSource, null));
                 }
                 dataTable.LoadDataRow(arrayList.ToArray(), true);
             }
         }
         return(dataTable);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
     }
     return(null);
 }
Ejemplo n.º 26
0
 /// <summary>
 /// AES解密
 /// </summary>
 /// <param name="strCiphertext">AES密文</param>
 /// <param name="strKey">秘钥</param>
 /// <returns>明文</returns>
 public static string AESDecrypt(string strCiphertext, string strKey)
 {
     try
     {
         if (string.IsNullOrEmpty(strCiphertext))
         {
             return(string.Empty);
         }
         strKey = strKey.Length < 32 ? strKey.PadRight(32, '0') : strKey.Substring(0, 32);
         Byte[]          toEncryptArray  = Convert.FromBase64String(strCiphertext);
         RijndaelManaged rijndaelManaged = new RijndaelManaged
         {
             Key     = Encoding.UTF8.GetBytes(strKey),
             Mode    = CipherMode.ECB,
             Padding = PaddingMode.PKCS7
         };
         ICryptoTransform pCryptoTransform = rijndaelManaged.CreateDecryptor();
         Byte[]           resultArray      = pCryptoTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
         return(Encoding.UTF8.GetString(resultArray));
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(string.Empty);
     }
 }
Ejemplo n.º 27
0
 /// <summary>
 /// 删除DataTable中的空行
 /// 弱引用,可直接修改参数
 /// </summary>
 /// <param name="dtDataSource">源数据(DataTable)</param>
 /// <returns>删除空行后的DataTable</returns>
 public static DataTable RemoveEmpty(DataTable dtDataSource)
 {
     try
     {
         List <DataRow> listRemove = new List <DataRow>();
         for (int i = 0; i < dtDataSource.Rows.Count; i++)
         {
             bool IsNull = true;
             for (int j = 0; j < dtDataSource.Columns.Count; j++)
             {
                 if (!string.IsNullOrEmpty(dtDataSource.Rows[i][j].ToString().Trim()))
                 {
                     IsNull = false;
                 }
             }
             if (IsNull)
             {
                 listRemove.Add(dtDataSource.Rows[i]);
             }
         }
         for (int i = 0; i < listRemove.Count; i++)
         {
             dtDataSource.Rows.Remove(listRemove[i]);
         }
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
     }
     return(dtDataSource);
 }
Ejemplo n.º 28
0
 /// <summary>
 /// Json转换为DataSet
 /// </summary>
 /// <param name="strJson">反序列化对象</param>
 /// <param name="diclistFieldNameType">返回Json的数据库表字段名和字段类型</param>
 /// <returns>成功返回Json的DataSet,失败返回NULL</returns>
 public static DataSet JsonConversionDataSet(string strJson, out Dictionary <string, Dictionary <string, string> > diclistFieldNameType)
 {
     diclistFieldNameType = new Dictionary <string, Dictionary <string, string> >();
     try
     {
         if (string.IsNullOrEmpty(strJson))
         {
             return(null);
         }
         List <DataTableModel> listDtmValue = JsonConvert.DeserializeObject <List <DataTableModel> >(strJson);
         DataSet dsSourceData = new DataSet();
         foreach (DataTableModel dtmValue in listDtmValue)
         {
             DataTable dtSourceData = dtmValue.dtSourceData;
             dtSourceData.TableName = dtmValue.TableName;
             dsSourceData.Tables.Add(dtSourceData);
             diclistFieldNameType.Add(dtmValue.TableName, dtmValue.dicFieldNameType);
         }
         return(dsSourceData);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(null);
     }
 }
Ejemplo n.º 29
0
 /// <summary>
 /// 创建Get请求
 /// </summary>
 /// <param name="url">Api访问地址</param>
 /// <param name="requestUrl">详细方法路径</param>
 /// <param name="parameters">请求参数</param>
 /// <param name="encoding">字符编码</param>
 /// <param name="timout ">请求超时前等待的毫秒数,默认值是 100,000 毫秒(100 秒)</param>
 /// <returns>Api返回值</returns>
 public static string CreateGetHttpWebRequest(string url, string requestUrl, IDictionary <string, string> parameters, Encoding encoding, int timout)
 {
     try
     {
         StringBuilder builder = new StringBuilder();
         builder.Append(url);
         builder.Append(requestUrl);
         if (parameters != null && parameters.Count >= 1)
         {
             builder.Append("?");
             int i = 0;
             foreach (var item in parameters)
             {
                 if (i > 0)
                 {
                     builder.Append("&");
                 }
                 builder.AppendFormat("{0}={1}", item.Key, item.Value);
                 i++;
             }
         }
         HttpWebRequest request = (HttpWebRequest)WebRequest.Create(builder.ToString());
         request.Method      = "GET";
         request.ContentType = "application/x-www-form-urlencoded";
         request.Timeout     = timout;
         StreamReader reader = new StreamReader(request.GetResponse().GetResponseStream(), encoding);
         return(reader.ReadToEnd());
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return("");
     }
 }
Ejemplo n.º 30
0
 /// <summary>
 /// 获得URL路径下文件列表
 /// </summary>
 /// <returns>文件列表List</returns>
 public List <string> GetFilesDetailList()
 {
     try
     {
         List <string> listAllFiles = new List <string>();
         Request             = (FtpWebRequest)FtpWebRequest.Create(new Uri(strFTPServerURL));
         Request.Credentials = new NetworkCredential(strFTPServerUserID, strFTPServerPassword);
         Request.Method      = WebRequestMethods.Ftp.ListDirectoryDetails;
         WebResponse  Response = Request.GetResponse();
         StreamReader Reader   = new StreamReader(Response.GetResponseStream());
         string       strLine  = Reader.ReadLine();
         while (strLine != null)
         {
             if (AnalysisLISTCommand(strLine).FileType == "-")
             {
                 listAllFiles.Add(AnalysisLISTCommand(strLine).FileName);
             }
             strLine = Reader.ReadLine();
         }
         Reader.Close();
         Response.Close();
         return(listAllFiles);
     }
     catch (Exception ex)
     {
         TXTHelper.Logs(ex.ToString());
         return(null);
     }
 }