C#一行代码实现整数取反函数
摘要:题目很简单,完成函数reverse,要求实现把给定的一个整数取其相反数的功能,举两个例子如下: x = 123, return 321 x = -123, return -321请注意,下面真是一行代码,只有一个分号的。不知道大家能否看懂:private int reverse(int i){return int.Parse((i > 0 ? "" : "-") + new string((new Stack<char>((IEnumerable<char>)Math.Abs(i).ToString())).ToArray(
阅读全文
posted @
2013-06-09 11:51
柠檬隐士
阅读(4228)
推荐(0) 编辑
Win8下使用Ctrl加空格来切换输入法
摘要:win8非常恶心的一个地方是切换键盘是Win+空格(或者Ctrl+Shift),使用Ctrl+空格切换输入法。 然而美式键盘和中文键盘是分开的,如果你需要默认为美式键盘,而想Ctrl+空格切换到拼音输入法,则毫无办法。 反正我是折腾了好久,百度+Google无果之下,发回程序员本色,自己写了个程序来解决此问题。运行SendKeyForIME.exe就可以了,他会在后台运行。原理是注册了Ctrl+空格为热键,捕获后发送Ctrl+Shift。/Files/lemony/SendKeyForIMEV2.zip
阅读全文
posted @
2012-10-12 15:18
柠檬隐士
阅读(16410)
推荐(5) 编辑
(C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
摘要:活动桌面引入一项新特性,当你在某些特定对象上旋停鼠标时,工具提示将显示它们的描述。我们可以使用 QueryInfo 扩展为Shell中的其它对象提供自定义的工具提示。
阅读全文
posted @
2008-09-03 16:35
柠檬隐士
阅读(6395)
推荐(0) 编辑
(C#)Windows Shell 外壳编程系列8 - 同后缀名不同图标?
摘要:
![](http://images.cnblogs.com/cnblogs_com/lemony/shell8-1.GIF)
如果是以前,我会对这句话十分吃惊。但现在这种现象比比皆是。除了我们的例子外,.NET 程序员最熟悉的莫过于 Sln 解决方案文件了。不同版本的 Sln 图标不同,上面有个小版本号提示。
阅读全文
posted @
2008-09-01 09:38
柠檬隐士
阅读(9015)
推荐(1) 编辑
(C#)Windows Shell 外壳编程系列7 - ContextMenu 注册文件右键菜单
摘要:从本节起,我所要讲述的是对 Windows 系统的“Shell 扩展”。“Shell 扩展”从字面上分两个部分:Shell 与 Extension。Shell 指 Windows Explorer,而Extension 则指由你编写的当某一预先约定好的事件(如在以. doc 为后缀的文件图标上单击右键)发生时由 Explorer 调用执行的代码。因此一个“Shell 扩展”就是一个为 Explorer 添加功能的 COM 对象。
阅读全文
posted @
2008-08-29 17:17
柠檬隐士
阅读(18702)
推荐(4) 编辑
.NET 异常处理
摘要:
(好久没写过技术文章了,之前遭受了严重的打击,曾经沮丧不已;现已慢慢恢复过来^_^,因此不能荒废了自己的技术。)
从不出错的软件从某种程度上讲是不可能的!
和普通人的观念相反,创造可信赖的,健壮的软件并不是一件不可能的事情。大部分的商业软件,在长时间可以无重大故障的工作,但它们并非没有任何的错误,只是拥有低出错率,你可以迅速理解出错原因然后快速搞定它,并且,它不会因为外部错误而毁坏数据。软件中有错误是可以原谅的,甚至是可以预料到的;不可原谅的是您无法解决一个复发的错误,仅仅是因为您没用足够的信息。
另外,如果希望成功避免发生错误,就必须要求开发人员正确对待错误。
阅读全文
posted @
2008-07-22 12:50
柠檬隐士
阅读(4698)
推荐(2) 编辑
悲壮的一天,记华为核心网面试经历
摘要:10月13日,我和同事一起到华为核心网面试。那鸟部门很早就天天打电话烦我们了,不来不行啊。不过华为核心网貌似真的挺不错,搞搞3G技术,混上2年出去,以后也可以号称“牛人”一个了,嘻嘻……。 这的确是悲壮的一天,从早上9点一直折磨到晚上7点,从笔试到五轮面试,无一不让人饱受煎熬。 笔试我才得60分,但足够我进行后面的面试。说实在,题目难度一般,但没考好...
阅读全文
posted @
2007-10-17 10:00
柠檬隐士
阅读(9950)
推荐(3) 编辑
(JavaScript)实现在客户端动态改变Treeview节点的选中状态
摘要:Asp.net 2.0 中的 Treeview 非常好用,而且轻便。但在使用过程中,往往会发现一些不够人性化的地方。例如您要设计一棵树,里面放置了一些收藏的网址。在这棵树中,节点的 SelectAction 只有 Expand 和 NavigateUrl 状态,也就是说没有回调节点。这个时候您会发现一个严重的问题:点击节点后,节点不会显示为选中状态(背景颜色没改变),哪怕你已经设置了 SelectedNodeStyle ......
阅读全文
posted @
2007-05-18 09:28
柠檬隐士
阅读(4217)
推荐(0) 编辑
(C#)用固定的字符集进行字符串加密的函数
摘要:这个函数是我从 VB 翻译过来的,加密后的字符串字符固定在字符集里面,可以用于很多地方......
阅读全文
posted @
2007-04-30 15:20
柠檬隐士
阅读(3209)
推荐(0) 编辑
(C#)Windows Shell 外壳编程系列6 - 执行
摘要:许多人都知道 ShellExecute ,用于执行一个外部命令。但对于 IShellFoloder 对象来说,它的执行命令,都在它的 ContextMenu 里面了。记得前几节说过如何直接调用 ContextMenu 里的项,因此,执行一个 IShellFoloder,也无非是调用它的 ContextMenu 里默认的项而已
阅读全文
posted @
2007-04-27 12:57
柠檬隐士
阅读(11172)
推荐(1) 编辑
(C#)Windows Shell 外壳编程系列5 - 获取图标
摘要:本节讲述如何获取绝对 PIDL,以及图标索引。离资源管理器越来越近了。
阅读全文
posted @
2007-04-25 10:16
柠檬隐士
阅读(11555)
推荐(1) 编辑
(C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令
摘要:上一节说到如何弹出 IShellFolder 的上下文菜单,也就是 IContextMenu。有时候我们需要在这个菜单上面,加入一些属于自己的菜单项。举个例子,你打开资源管理器,查看左边目录树的右键菜单,会发现顶层多了一个折叠/展开的菜单项。好,我们也动手来加入这个菜单项。
阅读全文
posted @
2007-04-18 16:13
柠檬隐士
阅读(10801)
推荐(0) 编辑
在C#中实现截获shell程序的输出
摘要:在Windows环境下的所谓shell程序就是dos命令行程序,比如VC的CL.exe命令行编译器,JDK的javac编译器,启动java程序用的java.exe都是标准的shell程序。截获一个shell程序的输出是很有用的,比如说您可以自己编写一个IDE(集成开发环境),当用户发出编译指令时候,你可以在后台启动shell 调用编译器并截获它们的输出,对这些输出信息进行分析后在更为友好的用户界面上显示出来。
阅读全文
posted @
2007-04-17 14:10
柠檬隐士
阅读(2724)
推荐(0) 编辑
[转帖]外壳命名空间扩展
摘要:一般介绍 很多人一定用过ZipMagic,对它能把一个压缩文件映射成文件夹感到很奇怪,不知道它使用了什么技术,实际上它用到的技术就是实现了一个外壳的命名空间扩展(Shell Namespace Extention)。 文件夹和视图:资源管理器的基本结构 资源管理器的界面显示为两部分:左边显示的是对象在外壳命名空间的位置,它们是以树结构显示的,通常认为左边显示的应该是文件目录树,但事...
阅读全文
posted @
2007-04-17 11:14
柠檬隐士
阅读(1892)
推荐(0) 编辑
(C#)Windows Shell 外壳编程系列3 - 上下文菜单(iContextMenu)(一)右键菜单
摘要:对象的上下文菜单相关的接口是IContextMenu,通过对象的父文件夹的IShellFolder.GetUIObjectOf方法可得到该接口。得到该接口后,可以用IContextMenu.QueryContextMenu方法来生成上下文菜单的菜单项,用IContextMenu.InvokeCommand调用相应的命令。
阅读全文
posted @
2007-04-17 10:56
柠檬隐士
阅读(14237)
推荐(0) 编辑
(C#)Windows Shell 外壳编程系列2 - 解释,从“桌面”开始展开
摘要:让我们详细解释一下 Shell 编程中最基本的一些函数、结构体和枚举。并创建一个这样的例子,它允许你从“桌面”开始,一直展开到最深层的对象。
阅读全文
posted @
2007-04-17 01:02
柠檬隐士
阅读(14054)
推荐(0) 编辑
(C#)Windows Shell 外壳编程系列1 - 基础,浏览一个文件夹
摘要:Windows Shell 编程,即 Windows 外壳编程。我们所看到的资源管理器以及整个桌面,都是一个 Shell。
关于 Windows 外壳的基本概念,我这里不做详细介绍,不了解的朋友,可以看看 姜伟华 的 Windows外壳名字空间的浏览。
好,现在让我们从基础学起,早日做出一个强大的资源管理器软件。(偶也是初学者,多多指教)
阅读全文
posted @
2007-04-16 20:33
柠檬隐士
阅读(20284)
推荐(4) 编辑
走在爱情的边缘
摘要:千万不要轻易说你已经掉进爱情的漩涡,其实,你我走在爱情的边缘。我们就像被绑在爱情柱子上绕着走圈圈,绳子越来越短,我们也越来越靠拢。也许直到死,我们才相聚在爱情的中心。现在我还年轻,因此,我还爱情的边缘漫步着。请记住一句话:难舍难分几月,是激情、共同生活数载,是感情,不离不弃百年,才是爱情。
阅读全文
posted @
2007-04-14 22:48
柠檬隐士
阅读(648)
推荐(0) 编辑
(C#)把磁盘目录树加载在窗体菜单中
摘要:这又是一个没有技术含量的代码。写出来只是玩玩,所以也不敢放在首页。
这里有个问题,是获取文件/文件夹的图标。使用 System.Drawing.Icon.ExtractAssociatedIcon 只能获取大图标(不知道有没有高手能做到取小图标)。所以只能使用API了。设计一个这样的 ExtractIcon 类,提供一个静态方法 GetIcon ,用于获取小图标......
阅读全文
posted @
2007-04-13 08:43
柠檬隐士
阅读(4140)
推荐(0) 编辑
.NET 中的对象序列化
摘要:为什么要使用序列化?最重要的两个原因是:将对象的状态保存在存储媒体中以便可以在以后重新创建出完全相同的副本;按值将对象从一个应用程序域发送至另一个应用程序域。例如,序列化可用于在 ASP.NET 中保存会话状态,以及将对象复制到 Windows 窗体的剪贴板中。它还可用于按值将对象从一个应用程序域远程传递至另一个应用程序域。本文简要介绍了 Microsoft .NET 中使用的序列化。
阅读全文
posted @
2007-04-11 15:53
柠檬隐士
阅读(729)
推荐(0) 编辑