![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c#
jiayp004
知之者不如好之者,好之者不如乐之者
展开
-
C#Form多线程处理
public partial class Form1 : Form { private byte[] sampleBt; private TaskScheduler m_msgTask; public Form1() { InitializeComponent(); m_msg原创 2017-03-07 16:39:35 · 1946 阅读 · 0 评论 -
c#中用默认浏览器打开页面
RegistryKey key = Registry.ClassesRoot.OpenSubKey(@"http\shell\open\command\"); string s = key.GetValue("").ToString(); int index = s.IndexOf(".exe"); string bro原创 2013-11-07 16:33:37 · 865 阅读 · 0 评论 -
向Mapcontrol中增加栅格图层
IRasterLayer pOutRasLayer = new RasterLayer(); pOutRasLayer.CreateFromFilePath(@"E:\Jellyfish.jpg"); m_displayTransformation.Map.AddLayer(pOutRasLayer);原创 2013-09-03 16:07:27 · 1134 阅读 · 0 评论 -
Java 日期转化到c#日期
private DateTime FromJava2CSDate(long time_JAVA_Long) { DateTime dt_1970 = new DateTime(1970, 1, 1); long tricks_1970 = dt_1970.Ticks;//1970年1月1日刻度转载 2013-09-03 15:09:38 · 665 阅读 · 0 评论 -
.net下解析json
.net下解析json第一步:加入引用System.web.Extensions第二步:using System.Web.Script.Serialization;第三步:解析 public class LoInfo { public Result result { get; set; } pu原创 2013-09-09 10:03:47 · 663 阅读 · 0 评论 -
基于c#的Discuz密码加密
static public string Encrypt(string strPwd) { MD5 md5 = new MD5CryptoServiceProvider(); byte[] data = System.Text.Encoding.Default.GetBytes(strPwd); //将原创 2013-09-01 15:38:50 · 763 阅读 · 1 评论 -
c# 下的List和Dictionary性能比较
如果textBoxNumber.Text的值大于10000的时候,下面两个函数执行的性能会差很多,所有在处理比较大的数据的时候尽量使用Dictionary. private void button1_Click(object sender, EventArgs e) { DateTime dt = System.DateTime.Now;原创 2013-07-17 16:36:27 · 6035 阅读 · 2 评论 -
支持异步事件的 EventHelper
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;using System.ComponentModel;namespace xj.utility{ public class EventHelp转载 2013-05-23 16:28:41 · 679 阅读 · 0 评论 -
C#事件辅助类
public class EventHelper { private static SynchronizationContext m_sc; public static void Init() { SC = SynchronizationContext.Current; }原创 2013-05-22 17:05:00 · 719 阅读 · 0 评论 -
用SynchronizationContext解决界面的更新线程数据问题
class MySingleton { private System.Timers.Timer m_timer; int m_ticker = 0; private MySingleton() { m_timer = new System.Timers.Timer();原创 2013-02-21 12:32:12 · 723 阅读 · 0 评论 -
C#如何在资源管理器中打开文件夹并定位文件
private void OpenFolderAndSelectFile(String fileFullName){ System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo("Explorer.exe"); psi.Arguments = "/e,/select,"转载 2014-02-17 11:58:30 · 6236 阅读 · 0 评论 -
c#应用程序 自己重新启动自己
private void button1_Click(object sender, EventArgs e) { Application.ExitThread(); Application.Exit(); Application.Restart(); Process.GetCu转载 2014-03-06 14:30:18 · 9991 阅读 · 1 评论 -
重新启动服务
ServiceController sc = new ServiceController(""); if (sc.Status == ServiceControllerStatus.Running) { sc.Stop(); sc.WaitForStatus(ServiceControllerStatus.Stopped); //等待服务停止 if (sc.Status转载 2014-03-06 14:56:27 · 694 阅读 · 1 评论 -
c# 获取逻辑磁盘信息
private void button1_Click(object sender, EventArgs e) { SelectQuery sq = new SelectQuery("select * from win32_logicaldisk"); System.Management.ManagementObjectSearc转载 2016-01-15 10:59:26 · 1564 阅读 · 0 评论 -
基于C#的两种图片旋转方法
/// /// 根据角度旋转图标 /// /// public Image RotateImg(Image img, float angle) { //通过Png图片设置图片透明,修改旋转图片变黑问题。 int width = img.Width;原创 2016-01-14 15:59:57 · 17494 阅读 · 4 评论 -
采用扩展方法实现数组中数据类型转换(c#)
private void button1_Click(object sender, EventArgs e) { IList iLst = new List(30); iLst.Add(1); iLst.Add(2); //函数定义方法 //Conve原创 2014-09-16 15:32:58 · 708 阅读 · 1 评论 -
无法验证发布者
微软为了软件的安全性,要求在WINDOWS平台上运行的软件,都要通过认证,当然这样会给你更好的支持,有些软件公司为了节约成本,就没有去认证。如果你确定这个软件没有病毒的话,不用管提示,运行就是了。如果你觉得它烦,在你要运行的软件上面点击鼠标右键,找到属性,将那个解除锁定去掉后,在运行就没有提示了!如何关闭附件管理器检查?关闭的方法也很简单,就是配置上面的策略。有两种方法:原创 2014-08-22 15:31:25 · 3658 阅读 · 0 评论 -
加载网络映射盘中的assembly失败
错误症状:1.{"未能加载文件或程序集“file://*****”或它的某一个依赖项。不支持操作。 (异常来自 HRESULT:0x80131515)":"file://****"};2.{"尝试从一个网络位置加载程序集,在早期版本的 .NET Framework 中,这会导致对该程序集进行沙盒处理。此发行版的 .NET Framework 默认情况下不启用 CAS 策略,因此,此加载可能转载 2014-07-04 16:32:53 · 8710 阅读 · 0 评论 -
app.manifest
如果要更改 Windows 用户帐户控制级别,请用以下节点之一替换 requestedExecutionLevel 节点。 指定 requestedExecutionLevel 节点将会禁用文件和注册表虚拟化。 如果要利用文件和注册表虚拟化实现转载 2014-06-25 13:06:57 · 1552 阅读 · 0 评论 -
C#程序如何以管理员身份自动运行
VISTA 和 Windows 7 都使用了UAC来控制程序访问,对于一些需要使用管理员身份运行的程序就得右键以管理员身份运行。C# 编程中可以使程序自动使用管理员身份运行,也就是我们常常看到一些程序的图标上会冒出个盾牌。方法:在源码的Properties目录中找到 app.manifest,将其中level="asInvoker" 改成 level="requireAdministr转载 2014-06-25 13:04:35 · 657 阅读 · 0 评论 -
C#创建xml文件
XmlDocument doc = new XmlDocument(); XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null); doc.AppendChild(dec); //根节点 XmlNode root原创 2014-05-17 14:01:16 · 612 阅读 · 0 评论 -
SOCKET各种模型下并发数量
转载自:http://fpcfjf.blog.163.com/blog/static/5546979320108230035670/今天在公司认真的看了一下SOCKET的编程,对其中一些编程模型的并发数量原来一直是半清不明,正好趁着做当前项目的机会把他理清,目前在SOCKET上的编程模型主要有以下几种(WIN为主,LINUX和UNIX用得较少):1、普通的阻塞和非阻塞编程。利用线程转载 2014-04-16 13:15:13 · 4245 阅读 · 0 评论 -
c#中正确实现单例
方法一:class MySingleton { private MySingleton() { } private static object s_lock; private static MySingleton s_single = null; public static MySingleton Singlet转载 2013-02-18 16:58:51 · 471 阅读 · 0 评论 -
只允许程序运行一次的代码
using System;using System.Collections.Generic;using System.Linq;using System.Windows.Forms;using System.Threading;namespace RunOnce{ static class Program { ///原创 2013-02-18 14:53:13 · 610 阅读 · 0 评论 -
异步编程模型(APM,Asynchronous Programming Model)
异步编程模型(APM,Asynchronous Programming Model)优点:1. 将资源使用率降低,因为如果是同步的话,会发生阻塞而导致在线程池中启动多个线程,而CLR线程占用资源是很多的。2. 因为减少了线程,从而也减少了上下文的切换。3. 垃圾回收器的速度加快,因为,每次垃圾回收都会将进程内的所有线程挂起,线程变少,挂起和恢复的就快,垃圾回收器查找线程的栈的速度也原创 2013-02-17 10:22:27 · 1131 阅读 · 0 评论 -
获取本机ipv4网卡地址
if (NetworkInterface.GetIsNetworkAvailable()) { String ipv4Address = ""; NetworkInterface[] nic = NetworkInterface.GetAllNetworkInterfaces(); fo原创 2011-06-28 10:46:00 · 3163 阅读 · 0 评论 -
win7问题
<br />因为win7是64位的,System.Data.CTP.dll and System.Data.Entity.dll这两个dll是引用的系统的(MS上说这两个是混合形的,也就是说它可以在32位-x86上运行也可以在64位上运行,win7中默认是64),那么你可以在Win7中装个vs看看你这里的代码改一种方式写应该可以。如: <br />public static bool IsWindowsXP() <br /> { <br /> System.Opera原创 2010-09-15 13:32:00 · 589 阅读 · 0 评论 -
C•CURE 9000英文介绍
C·CURE 9000英文介绍Software House Helping protect people and property with our world-leading access control systems, digital video solutions, intrusion alarm systems, fire detection, and more. Delive转载 2010-01-07 13:50:00 · 1357 阅读 · 0 评论 -
博世Vidos 自动化接口调用源码
using System;using System.Windows.Forms;using System.Net;using System.Net.Sockets;using System.IO;using log4net;using jn.utils;namespace jn.bosch.vidos{ /// /// 本类对Vidos的自动化接口命令进行封装,主要是进行编解码器的动态组织。 /原创 2009-12-10 15:04:00 · 1502 阅读 · 0 评论 -
自定义异常
创建自定义异常应该从ApplicationException 类派生而来.应该有一个Exception结尾的类名,应该定义3个构造函数:一个默认构造函数,一个接收字符串(错误消息)构造函数,一个接收字符串参数和异常参数(错误消息和内部异常对象)的构造函数.例子:msdnC# public class NewException :ApplicationException, ISerializable转载 2009-12-09 16:16:00 · 459 阅读 · 0 评论 -
利用SynchronizationContext解决界面要素的线程同步问题
代码如下: private Thread m_thread; private SynchronizationContext m_context; public Form1() { InitializeComponent(); } private void Form1_Load(object sende原创 2009-12-09 16:06:00 · 843 阅读 · 0 评论 -
STAThread
STAThread:单线程套间,简单来说所有对于单线程套间中对象的访问都是通过消息来传递的,所以同一时间只有一个线程能够访问单线程套间中的对象。转载 2009-12-09 16:00:00 · 664 阅读 · 0 评论 -
C#正确实现IDisposable接口
.NET中用于释放对象资源的接口是IDisposable,但是这个接口的实现还是比较有讲究的,此外还有Finalize和Close两个函数。 public class Foo: IDisposable{ public void Dispose() { Dispose(true); GC.SuppressFinalize(this); }原创 2010-01-20 16:56:00 · 1557 阅读 · 0 评论 -
文件过滤器写法
OpenFileDialog ofd = new OpenFileDialog(); sFileType = "网页(*.htm;*.html)|*.htm;*.html|图片(*.jpg;*.gif;*.bmp)|*.jpg;*.gif;*.bmp|演示文稿(*.ppt;*.pps)|*.ppt;*.pps|文档(*.doc;*.txt)|*.doc;*.txt|所有文件转载 2009-11-26 09:27:00 · 774 阅读 · 0 评论 -
通过c#访问海康DVR
利用海康提供的网络sdk,采用P/Invoke的方式可以实现访问海康DVR的各种功能。下面是采用C#进行sdk封装的方法和结构体。 源代码地址:http://download.csdn.net/source/3407206using System;using System.Collections.Generic;using System.Linq;using System.Text;u原创 2011-06-30 14:09:00 · 10266 阅读 · 0 评论 -
查看主机网络是否正常的c#代码
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Net.Network原创 2011-06-30 14:35:00 · 770 阅读 · 0 评论 -
C# 组件全屏
在WinForm环境下,可以让任意组件全屏显示,仍然需要借助于P/Invoke,如下: [DllImport("user32.dll", SetLastError = true)] static extern IntPtr SetParent(IntPtr hWnd原创 2011-07-13 16:26:31 · 1884 阅读 · 0 评论 -
关于线程
在一个线程生存期中,任何时候都可以在前台和后台之间进行切换。线程池线程默认为后台线程。由进入托管执行环境的本地(native)代码创建的任何线程都被标记为后台线程。要尽量避免使用前台线程。原创 2013-02-06 10:21:08 · 297 阅读 · 0 评论 -
执行异步计算的理由:
在GUI应用程序中保持UI的可响应性。用多个CPU缩短一个耗时计算所需的时间。原创 2013-02-06 10:28:33 · 399 阅读 · 0 评论 -
写XML文件
public static void SaveMapping() { string file = AppDomain.CurrentDomain.BaseDirectory + MAPPING_FILE; var document = new XmlDocument(); XmlDecl原创 2013-01-30 09:57:14 · 449 阅读 · 0 评论