随笔分类 -  原创

自己辛苦敲打的文章
敏捷软件开发 原则、模式与实践 第9章的例子程序(C#版)
摘要:代码中为每个形状指定了序号,如果再来一颗子弹,让你要按类型打印的同时,还要按照序号从小到大排列怎么做呢? 1 using System; 2 using System.Collections.Generic; 3 4 namespace DesignPattern 5 { 6 class Progr 阅读全文

posted @ 2021-10-05 19:58 sPhinX 阅读(56) 评论(0) 推荐(0)

P/Invoke继续谈
摘要:上回说到封装rocketmq-client-cpp的时候会碰到内存损坏的问题,本以为能收到服务端的消息就万事大吉了,但是在深入测试的过程中,发现收到的消息会有乱码出现, 之前和服务端的研发人员讨论过字符集的问题,知道服务器回传的是UTF8的字符串,所以在接收时用下面这样的方式可以在大部分情况下得到正 阅读全文

posted @ 2020-04-25 15:15 sPhinX 阅读(608) 评论(0) 推荐(0)

dnSpy调试IIS(w3wp进程)
摘要:因为IIS属于系统进程,所以正常启动dnSpy是看不到w3wp进程的,需要用管理员权限启动dnSpy。 启动之后,必须要通过 调试->窗口->模块 来选择要调试的dll,通过这种方式可以发现要调试的dll文件真实路径类似于下面这样: C:\Windows\Microsoft.NET\Framewor 阅读全文

posted @ 2020-04-03 22:58 sPhinX 阅读(2518) 评论(0) 推荐(1)

P/Invoke今日谈
摘要:没想到10来年之后又要用到P/Invoke了,为了能用上RocketMQ,不得不用P/Invoke和rocketmq-client-cpp来打交道,花了两三天吧,把这条路彻底打通了,具体过程另外再写,这里就写一个和P/Invoke有关的小知识点。 在用.NET客户端测试的时候,已经可以接收到消费消息 阅读全文

posted @ 2020-03-14 21:22 sPhinX 阅读(326) 评论(0) 推荐(0)

“类型参数的约束”和“类型参数约束”有多大区别
摘要:虽然只相差一个字,但是区别还是挺大的。 先看看两个词的英文表述:constraints on type parameters和type parameters as constraints 其中后者最准确的翻译应该是“(用)类型参数(作为)约束”,有些人也许会说你一个搞技术的也来这些标题党的名堂,明明 阅读全文

posted @ 2019-02-13 15:36 sPhinX 阅读(391) 评论(0) 推荐(0)

Visual Studio 2013 ReportViewer Control
摘要:最近需要给学生讲报表,.NET的自然就是选择RDLC了。 因为学生比赛是用Visual Studio 2013,所以我在自己的笔记本上安装了Visual Studio 2013(平常是用2010),安装好了之后,按照官方文档的说明拖动ReportViewer控件到一个Form上,但是很奇怪没有出现官... 阅读全文

posted @ 2014-08-02 10:01 sPhinX 阅读(920) 评论(0) 推荐(0)

EasyHook实用指南
摘要:所谓实用指南就是全是干货,没那么多虚头巴脑的东西,真正要用的人会发现对自己有用的东西,浅尝辄止的人看起来会不知所云。FileMon自己实做的过程中遇到的问题:1. exe和dll文件必须强命名,对于VS2010来说在项目属性中就可以设置,无需手工用命令行产生再手工加入,位置在“项目属性”->“签名”->选中“为程序集签名”,然后在下拉框中选择“”,输入合适的名字即可。没有强命名的错误提示类似于:程序集生成失败 -- 引用的程序集“WindowsHook”没有强名称2.如果在VS2010中使用EasyHook,必须使用最新的2.7版,因为之前的2.6稳定版是基于.NET 2.0,在4 阅读全文

posted @ 2013-07-23 17:37 sPhinX 阅读(2588) 评论(0) 推荐(0)

[原创]SQL经验
摘要:作为一个SQL一般,但是做东西又不得不自己硬着头皮处理SQL问题的程序员,记录下自己的一些拙劣经验,高手请路过:1. 某表记录了某种物品的不同处理人,人员的信息都在User表里,但是怎么重复使用想了好一会,后来的方法是用多少次表,就加多少张表到视图里面,呵呵 阅读全文

posted @ 2012-07-10 10:45 sPhinX 阅读(146) 评论(0) 推荐(0)

DotNetBar技巧经验集合
摘要:1. 如何隐藏RibbonControl的最大化/最小化按钮using System.Collections;using System.Runtime.InteropServices; ArrayList items = rcMain.RibbonStrip.GetItems("", typeof(SystemCaptionItem)); foreach (SystemCaptionItem sci in items) { if (!sci.IsSystemIcon) { sci.MinimizeVisible = false; sci.RestoreMaximizeVis 阅读全文

posted @ 2012-02-13 15:12 sPhinX 阅读(564) 评论(0) 推荐(0)

DateGridView的一些技巧
摘要:如果要把某个List的内容直接绑定到DGV,需要像下面这样做,否则内容无法显示出来: struct ReportListStringItem { public string reportDate { get; set; } public string projectName { get; set; } public string taskName { get; set; } public string timeSpent { get; set; } public string activity { get; set; } } List<ReportListStringItem> r 阅读全文

posted @ 2011-10-08 16:24 sPhinX 阅读(2132) 评论(0) 推荐(0)

双声道的rmvb文件如何用最简单的方式生成新的单声道文件(即只保留某个声道的内容)
该文被密码保护。

posted @ 2011-08-15 17:13 sPhinX 阅读(4) 评论(0) 推荐(0)

关于“无法复制文件:无法读源文件或磁盘”的错误提示
摘要:无法复制文件:无法读源文件或磁盘, Cannot Copy FileName: Cannot read from the source file or disk 阅读全文

posted @ 2010-11-09 14:01 sPhinX 阅读(883) 评论(0) 推荐(0)

驱动编程学习(1)
摘要:Driver Development Part 1: Introduction to Drivershttp://www.codeproject.com/kb/system/driverdev.aspx废话不多说,上面是学习的系列文章之一,下定决心想要学习驱动编程的人看完是没问题的(当然能看懂多少,能记住/理解多少又是另外一回事了),看完之后必然会想研究下作者给的例子,于是编译问题出来了,在研究几... 阅读全文

posted @ 2010-09-15 12:50 sPhinX 阅读(1784) 评论(1) 推荐(0)

导航