C#
我假发呢丶
这个作者很懒,什么都没留下…
展开
-
阻止点击触摸屏将鼠标移至触摸的地方
方案来源 internal sealed class DisableTouchConversionToMouse : IDisposable { static readonly LowLevelMouseProc hookCallback = HookCallback; static IntPtr hookId = IntPtr.Zero; private bool _disposed=false; public Disable转载 2021-08-06 09:23:40 · 301 阅读 · 0 评论 -
C# 后台线程与前台线程
static void Main(string[] args){ string path = $"./write.txt"; Stream writeStream = new FileStream(path, FileMode.Create); //旧文件将被覆盖 Console.WriteLine("Startup..."); st...原创 2020-03-11 13:52:11 · 365 阅读 · 0 评论 -
C#文件保存后,系统突然断电,重启后文件丢失情况
// 在文件数据保存之后// 调用[DllImport("kernel32.dll")] static extern bool FlushFileBuffers(IntPtr hFile);原创 2020-03-05 16:29:50 · 3775 阅读 · 6 评论 -
DeviceIoControl弹出U盘时,驱动盘中有错误卷
DeviceIoControl(handle, FSCTL_LOCK_VOLUME, IntPtr.Zero, 0, IntPtr.Zero, 0, out byteReturned, IntPtr.Zero);DeviceIoControl(handle, FSCTL_DISMOUNT_VOLUME, IntPtr.Zero, 0, IntPtr.Zero, 0, out byteRetur...原创 2019-12-13 16:42:12 · 695 阅读 · 0 评论 -
C# 获取所有屏幕分辨率
[StructLayout(LayoutKind.Sequential)] public struct DEVMODE { private const int CCHDEVICENAME = 0x20; private const int CCHFORMNAME = 0x20; [MarshalAs(UnmanagedType.By...原创 2019-11-25 10:19:58 · 1929 阅读 · 1 评论 -
请确保在应用程序全部完成 RuntimeCallableWrapper (表示其内部的 COM 组件)之前,所有 COM 上下文/单元/线程都保持活动状态并可用于上下文转换
在插入U盘的时候,然后通过ManagementClass去查找到当前所有的移动硬盘信息报错。其他信息: 针对此 RuntimeCallableWrapper 向 COM 上下文 0xc7e110 的转换失败,错误如下: 因为应用程序正在发送一个输入同步呼叫,所以无法执行传出的呼叫。 (异常来自 HRESULT:0x8001010D (RPC_E_CANTCALLOUT_ININPUTSYNC...原创 2019-11-08 16:04:39 · 2338 阅读 · 1 评论 -
C# 实时复制屏幕固定区域
private const Int32 CURSOR_SHOWING = 0x00000001;[DllImport("User32.dll")]public static extern IntPtr GetDC(IntPtr hwnd);[DllImport("User32.dll")]public static extern void ReleaseDC(IntPtr hwnd, ...原创 2019-10-24 16:24:32 · 957 阅读 · 0 评论 -
XML序列化与反序列化
文章目录将Object序列化为XML文件将XML文件转反序列化成Object对象XML文件的序列化和反序列化SerializableConfig类将Object序列化为XML文件[Serializable]public class Person{ public string Name{get;set;} public bool Sex{get;set;}}class...原创 2018-09-25 20:19:01 · 204 阅读 · 1 评论 -
[转载]C# Xml的使用学习(一)
本文属于转载,原文地址请点击XML 可扩展标记语言,有着严格的格式要求,要求元素是一对对显示的,通用性比较高。对于一些配置文件需要本地存储的,可以用它来代替数据库。但有一个缺点,就是在加载XML文件的时候是会把整个文件加载进内存之中。流模式很好的解决了这个问题,在对XML文件访问采用流模式,任何时候在内存中只有当前接口,不足的地方是它是只读的,仅向前的,不能再文档中去向后编辑增加。...转载 2018-09-10 18:01:05 · 655 阅读 · 0 评论 -
C#扩展方法
扩展方法   扩展方法能够向现有类型添加方法,而无需创建新的派生类型、重新编译或以其他的方式修改原始类型。扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例一样调用。   扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的。它们的第一个参数指定该方法作用于哪个类型,并且该参数以this修饰符为前缀。当使用using原创 2018-09-12 10:57:39 · 174 阅读 · 0 评论 -
C# interface的使用
接口内部只包含方法、属性、事件或索引器的签名。继承接口的类必须实现接口中定义的接口成员。 接口可以用来实现多继承。示例class Program{ static void Main(string[] args) { Student stu = new Student(); stu.Sex = "Male"; O...原创 2018-08-25 14:58:44 · 859 阅读 · 0 评论 -
C# 打印机使用PrintDialog、PrintTicket、PrintQueue
获取本地打印机 获取本地打印机方式有好几种,这里主要列举两种方式。// 第一种List<string> PrinterList = new List<string>();var printers = PrinterSettings.InstalledPrinters;foreach (var c in printers){ PrinterLi...原创 2018-08-28 20:30:00 · 9759 阅读 · 0 评论 -
C#中overrid和new 的区别
public class A{ public void c() { Console.ReadKey(); }}public class B{ public override void c() { //override只能重写声明为virtual、abstract、override. } public ...原创 2018-08-24 09:17:26 · 284 阅读 · 0 评论 -
C#委托、Func、Action、匿名
委托的定义FuncAction匿名方法委托委托的定义delegate void MyDelegate(int x); //加参数 在本示例中,定义了一个委托MyDelegate,并指定该委托的每一个实例都可以包含一个方法的引用,该方法带有一个int参数,并且返回值为void。使用代码如下:class Program{ delegat...原创 2018-07-27 14:09:59 · 1019 阅读 · 0 评论