摘要:
在 Python 中,可以使用 ctypes 库来调用 Windows API,实现对 Windows 系统的底层操作。本文将以模拟按键操作(ctrl+v)为例,详细讲解如何在 Python 中调用 Windows API。 1. 导入 ctypes 库 ctypes 是 Python 的一个外部函 阅读全文
2023年12月31日 #
2023年12月28日 #
摘要:
全局热键工具类(GlobalHotkey) 【文 / 张赐荣】 1. 功能概述 全局热键工具类(GlobalHotkey)是一个用于注册全局热键的工具类。它允许你在你的应用程序中注册特定的键盘组合,以便在用户按下这些组合时触发相应的事件。此工具类提供了以下主要功能: 注册多个热键并定义每个热键的组合 阅读全文
2023年7月31日 #
摘要:
# 避免Newtonsoft.Json反序列化出现重复列表项 ## 问题描述 我们公司的项目是一个基于.NET的Web应用,它需要和一些第三方的API交互数据。为了方便地处理JSON格式的数据,我们使用了Newtonsoft.Json这个框架,它可以让我们轻松地将.NET对象序列化为JSON字符串, 阅读全文
2023年6月11日 #
摘要:
# 使用双重检查锁定技术保证多线程中单例模式的线程安全 ## 前言 单例模式是一种设计模式,保证一个类只有一个实例,并且在整个应用中共享。它适用于需要控制对共享资源的访问,例如数据库连接、配置文件或日志记录器。 但是,在多线程环境下实现单例模式可能比较棘手。如果多个线程同时尝试创建单例实例,我们可能 阅读全文
摘要:
“组合优于继承”是一个面向对象编程的设计原则,它建议我们在需要复用代码的时候,尽量使用组合(has-a)的方式,而不是继承(is-a)的方式。组合是指一个类包含另一个类的对象作为自己的属性,而继承是指一个类直接从另一个类派生出来,拥有其所有的属性和方法。 为什么要使用组合而不是继承呢?主要有以下几个 阅读全文
2023年5月27日 #
摘要:
# 如何在Windows Forms 应用程序中改善屏幕阅读器可访问性 屏幕阅读器是一种辅助技术,可以通过语音或者盲文显示器来读出屏幕上的内容,帮助视力障碍者使用计算机。Windows Forms 是一种基于.NET Framework 的桌面应用程序开发技术,提供了丰富的控件和组件,以及一些可访问 阅读全文
2023年5月26日 #
摘要:
# 解读NVDA读屏软件的设计架构和技术体系 NVDA(NonVisual Desktop Access)是一个免费开源的Windows屏幕阅读器,通过语音合成或盲文显示的方式,使视障人士能够使用计算机。它由澳大利亚的非营利组织NV Access和世界各地的贡献者共同开发。本文将尝试从技术角度介绍N 阅读全文
2023年5月8日 #
摘要:
C# 反射调用方法不按顺序按参数名传值 命名参数是C#的一个特性,它允许我们在调用方法时,通过参数名来指定参数值,而不是通过参数的位置。这样可以避免记忆参数的顺序,也可以提高代码的可读性。例如,我们有一个方法: public static void InvokeMethodWithNamedArgu 阅读全文
2023年5月5日 #
摘要:
C#中的值类型封箱、开箱与动态类型的关系 封箱和开箱是C#中两个重要的概念,它们涉及到值类型和引用类型在编译七和运行时的处理方式。动态类型是C# 4.0引入的一个新特性,它允许在编译时不指定类型,而在运行时动态绑定类型。本文将简要介绍封箱、开箱和动态类型的概念,以及装拆箱与动态类型之间的关系。 值类 阅读全文
2023年5月1日 #
摘要:
C#, 阅读全文