
C#
jiushidt
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
在虚拟机中截图
参考了一下源码,CopyFromScreen方法中,会通过GetDC获取屏幕句柄,但虚拟机中获取会出错。推测是虚拟机中屏幕出于非激活状态,就无法通过句柄获取,导致出错。但是在虚拟机后台运行时中,会出现无效句柄的异常(远程桌面操作没有问题)。,通过获取窗口句柄,打印窗体的方式,来生成截图,来达到效果。有一个需求,程序运行过程中,定时进行一次截图。开始的时候,采用的全屏截图的方式。原创 2023-09-20 18:25:05 · 1420 阅读 · 0 评论 -
关于Pro addin中,控制dockpane的状态
在pro的addin中,初始化时控制控件状态原创 2023-05-12 18:08:11 · 203 阅读 · 0 评论 -
使用ProWindow时,控制按钮状态的说明
使用ProWindow时,控制按钮状态的说明。原创 2022-12-21 14:41:26 · 165 阅读 · 0 评论 -
解决Your project does not reference问题
解决编译时报错Your project does not reference ".NETFramework,Version=v##" framework. Add a reference to ".原创 2022-12-15 18:48:08 · 2175 阅读 · 0 评论 -
Uri的解析
//最基本的划分[scheme:]scheme-specific-part[#fragment] //对scheme-specific-part进一步划分[scheme:][//authority][path][?query][#fragment] //对authority再次划分, 这是最细分的结构[scheme:][//host:port][path][?query][#fragment]Uri uri = new Uri("https://user:password@www..原创 2022-01-24 18:54:36 · 728 阅读 · 0 评论 -
WPF下,控件未响应鼠标属性触发器
WPF下,控件未响应鼠标属性触发器记一次自定义控件调试问题现象问题分析解决方式记一次自定义控件调试使用WPF写了个自定义控件,其中有个Button按钮,重写了样式模板<Button Width="50" Height="25" Foreground="Black"> <Button.Template> <ControlTemplate> <Border x:Name="clearborder" SnapsToDe原创 2020-06-19 20:33:02 · 484 阅读 · 0 评论 -
关于Popup的小坑坑
在做一个自定义的输入搜索框,用textbox+popup来实现。其中有一个小需求,当textbox激活并且没有文本输入的时候,也要显示popup。很自然的想到了使用IsKeyboardFocusedChanged事件 private void input_IsKeyboardFocusedChanged(object sender, DependencyPropertyChangedEventArgs e) { if (e.NewValue.Equ原创 2020-05-17 17:25:09 · 708 阅读 · 0 评论 -
关于文件权限的一个小坑
使用File.Copy将指定文件写入用户文档文件夹中的程序目录是,发生了access to the path is denied的错误。一般来说,是由于文件夹权限受限的问题,于是检查了对应文件夹的控制权限,也使用了管理员权限启动了程序,发现问题依然存在。很疑惑的是,当前用户拥有该文件夹的完全控制权限,而我尝试添加Everyone账户的完全控制权限时,被拒绝了。尝试使用了一些工具获取管理权限也是...原创 2020-03-24 08:25:57 · 544 阅读 · 0 评论 -
C# 获取系统盘符
1、使用.net管理对象(引入System.Management) public static List<string> getDisk() { WqlObjectQuery wmiquery = new WqlObjectQuery("select * from Win32_LogiCalDisk"); ...原创 2020-03-19 12:09:24 · 1044 阅读 · 0 评论 -
无法获取注册表中的项
想通过注册表,获取ArcGISPro的安装路径 RegistryKey registryKey2 = Registry.LocalMachine.OpenSubKey(string.Format("SOFTWARE\\ESRI\\ArcGISPro")); if (registryKey2 != null) { ...原创 2020-02-07 14:26:44 · 932 阅读 · 0 评论 -
win10下,更改程序磁贴图标
win8.1后,Windows支持程序图标的定制显示。一般我们制作win程序时,会给程序设定一个标准的icon,不过这个图标不能满足win10的图标显示需求了,现在我们就用qq为例,定制一下程序图标。我们先看一下默认的qq图标在开始菜单中的显示这个图标的样式,是通过开始项里的lnk找到程序获取的。1、我们找到qq的启动程序,新建一个新的可视化元素声明的xml文件。这个文...原创 2019-12-26 16:31:49 · 4083 阅读 · 1 评论 -
接雨水问题
问题来源于leetcode.42。问题描述:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。解题过程:1、最开始,尝试了遍历寻找左右边界,然后累计体积的方式。从左侧开始,依次进行遍历...原创 2019-01-07 16:54:49 · 972 阅读 · 0 评论 -
生成泰森多边形
void ConvexHull(Point[] pts) { int[][] temp = new int[pts.Length][]; for (int i = 0; i < pts.Length; i++) { temp[i] = new int[2];原创 2018-01-08 14:34:11 · 3127 阅读 · 2 评论 -
获取当前程序路径
//获取部件所在位置。//如果其所在的dll在GAC中,那返回的就是gac中的路径。str=this.GetType().Assembly.Location;//获取新的Process组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名)。str=System.Diagnostics.Process.GetCurrentProcess().MainModule.FileN原创 2017-12-08 10:52:47 · 417 阅读 · 0 评论 -
在C#中调用EVAL函数方法,通过字符串计算
一、用 MSScriptControl 在 C# 中执行 JavaScript 代码 javascript 中有个eval方法,用过的人都知道他的方便和强大之处。在C#中,我们也可以通过Com组件来执行一段javascript代码。下面的代码展示了如何用MSScriptControl 组件执行一段数学表达式: MSScriptControl.ScriptContro转载 2017-05-22 17:03:32 · 2930 阅读 · 0 评论 -
调试
1、Encountered multiple versions of the assembly with GUID Try pre-importing one of these assemblies 异常vs2008 开发的 winform程序 迁移到 vs2010后编译发生错误。 “Encountered multiple versions of the assembly原创 2015-09-22 13:03:09 · 1716 阅读 · 0 评论 -
字符串匹配度计算
/// /// 字符串相似度算法-编辑距离法 /// /// /// /// 返回的值越大相似度越高 public static double StringSimilarDegree_LD(string srcString, string matchString) {原创 2016-01-14 13:10:14 · 2943 阅读 · 0 评论 -
CMYK与RGB参数转换公式及转换方法
1. RGB色彩模式 自然界中绝大部分的可见光谱可以用红、绿和蓝三色光按不同比例和强度的混合来表示。RGB分别代表着3种颜色:R代表红色,G代表绿色、B代表蓝色。RGB模型也称为加色模型,如图5所示。RGB模型通常用于光照、视频和屏幕图像编辑。RGB色彩模式使用RGB模型为图像中每一个像素的RGB分量分配一个0~255范围内的强度值。例如:纯红色R值为255,G值为0,B值为0转载 2015-01-30 17:05:22 · 43994 阅读 · 2 评论 -
利用smtp发邮件
小功能,备忘 MailMessage objMailMessage = new MailMessage();//引入System.Net objMailMessage.From = new MailAddress("**@sina.com");//源邮件地址 (发件人地址) objMailMessage.To.Add(new MailAdd原创 2015-02-06 13:41:36 · 635 阅读 · 0 评论 -
sql分页查询
想用sql做简单的分页查询,但是用rownum的时候,会出现问题。select * from ( select t.*,rownum from ( select * from tablename where condition order by columnname) t ) where rownum>(pagecount-1)*5 and rownum(表名,原创 2015-03-24 17:23:26 · 335 阅读 · 0 评论 -
真彩色转换灰度图
计算机常用的彩色空间为RGB,分为红绿蓝三色,通过调配三个分量的比例来组成各种颜色。一般可采用1、2、4、8、16、24、32位来存储。不过现在一个分量最大用8位表示,最大值为255,对32位颜色,高8位是用来表示通透度。彩色图一般指16位以上的图。灰度图的特殊之处在于三个分量相等,而一般灰度图是8位以下。在彩色电视机系统中,通常使用YUV彩色空间,Y为亮度信号。对人眼来说,亮度信号最敏感原创 2015-05-13 17:28:31 · 942 阅读 · 0 评论 -
文件简易批量编号
DirectoryInfo theFolder = new DirectoryInfo(@"H:\图片\");DirectoryInfo[] dirInfo = theFolder.GetDirectories();//遍历文件夹foreach (DirectoryInfo NextFolder in dirInfo){ if(NextFolder .Name=="目标文件夹")原创 2015-05-13 17:34:51 · 622 阅读 · 0 评论 -
regsvr32.exe使用
regsvr32.exe使用详解: regsvr32.exe是32位系统下使用的DLL注册和反注册工具,使用它必须通过命令行的方式使用,格式是: regsvr32 [/u] [/s] [/n] [/i[:cmdline]] DLL文件名 命令可以在“开始→运行”的文本框中,也可以事先在bat批处理文档中编写好命令。 未带任何参数是注册DLL文件功能,其它参数对应转载 2015-05-19 09:52:57 · 656 阅读 · 0 评论 -
c#正则表达式用法
c#正则表达式用法大全 只能输入数字:"^[0-9]*$"。只能输入n位的数字:"^\d{n}$"。只能输入至少n位的数字:"^\d{n,}$"。只能输入m~n位的数字:。"^\d{m,n}$"只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"。只能输入转载 2015-05-19 17:58:46 · 822 阅读 · 0 评论 -
获取n级父目录名称
DirectoryInfo GetPrant(DirectoryInfo path, int level){ DirectoryInfo temp = null; if (level > 1) { level--; temp = GetPrant(path.Parent, level); } else te原创 2015-06-08 14:35:50 · 550 阅读 · 0 评论 -
Ftp操作
using System;using System.Collections.Generic;using System.Text;using System.Net;using System.IO;using System.Windows.Forms;namespace ConvertData{ class FtpUpDow转载 2015-07-29 16:02:46 · 299 阅读 · 0 评论 -
事件绑定的简化
this.button1.Click += new System.EventHandler(delegate(object sender, System.EventArgs e) { this.Close(); });void button1_Click(object sender, EventArgs e){this.Close();}事件的绑定一般是这样,用委托和lambert表达式,原创 2015-09-09 16:18:01 · 360 阅读 · 0 评论 -
C# 内存操作
c#对内存的操作~~最近一直不务正,老打算用C#写个外挂出来。这方面对C#来说是个弱项,但并不表示无法做到。下面写个简单的例子,和大家交流一下。以windows中的扫雷为例,比如说读取雷的数量。1.首先导入API(对底层的操作都要用API):[DllImport("kernel32.dll")]private static extern IntPtr OpenProce转载 2015-09-19 09:08:52 · 889 阅读 · 0 评论 -
excel操作类
public class ExcelOper { private Application _excelApp = null; public ExcelOper() { } #region 读取Excel的内容 /// /// 获取Excel的内容 ///原创 2015-09-24 12:26:03 · 741 阅读 · 0 评论 -
word操作类
public class WordUtility { private _Application wordApp = null; private _Document wordDoc = null; public _Application Application { get {原创 2015-11-17 09:15:53 · 1682 阅读 · 0 评论 -
下载
/// /// Http下载文件 /// public static string HttpDownloadFile(string url, string path) { // 设置参数 HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; //发送请求并获取相应回应数据原创 2015-11-25 17:15:20 · 348 阅读 · 0 评论 -
C# 匿名方法和拉姆达表达式
匿名方法本质上是一传递给委托的代码块,是使用委托的另一种方法。规则:1、匿名方法中不能使用跳转语句跳至次匿名方法的外部,反之亦然;匿名方法外部的跳转语句也不能跳转到匿名方法的内部;2、在匿名方法的内部不能访问不安全的代码。另外,也不能访问在匿名方法外部定义的ref和out参数。3、可以使用在匿名方法外部定义的其他变量。拉姆达表达式:就转载 2014-11-10 11:47:13 · 1072 阅读 · 0 评论 -
调用非托管dll常出现的bug及解决办法
转自http://www.51testing.com/html/00/n-832200.html C和C++有很多好的类库的沉淀,在.NET中,完全抛弃它们而重头再来是非常不明智的、也是不现实的,所以,我们经常需要通过Pinvoke来使用以前遗留下来的非托管的dll。就.NET中使用非托管的dll经验而言,经常碰到的问题至少有两个,它们都是通过在运行时抛出异常来体现的。 1转载 2015-01-27 11:42:30 · 759 阅读 · 0 评论