feel的向往

天行健,君子以自强不息!

<2015年2月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
1234567

2014年12月3日 #

获取当前目录对于.net来说很简单,在此不用多说了。C/C++来说挺也简单,但容易掉进MS的陷阱。在此仅作为笔记记录一下方法,以便以后备查,高手请路过。 若是VC MS 封装了好几个方法 1、最常用的GetCurrentDirectory,查一下它的原型: DWORD GetCurrentDirectory( DWORD nBufferLength, // size, in characters, of directory buffer LPTSTR lpBuffer // pointer to buffer for current directory ); 很好理解,两个参数一个长度,一个目标指针Buffer,如:可以定义一个char path[MAX_PATH],也可以直接用CString path; 2、用GetModuleFileName 如: HMODULE module = GetModuleHandle(0); CHAR buf[MAX_PATH]; GetModuleFileName(module, buf, sizeof buf); 不过以上两种目录路径碰到文件夹带有“.”就完蛋了,如当前程序放在 D:\\myproject\\test-1.0\\win-app\\目录下,要想通过GetCurrentDiretory或GetModuleFileName来获取当前目录(想要得到:D:\\myproject\\test-1.0\\win-app), 永远不正确,每次都是:D:\\myproject\\test-1.0 目录,去掉"1.0"之后,就能正确得到D:\\myproject\\test-1.0\\win-app目录。我不知道这两个函数对于这种情况是BUG还是Ms有意为之。 为了这个问题,我折腾了半天的时间,在开发的时候根本不会想那么多,直接用上上面函数来获取当前程序运行的目录了,结果也都正确,谁知发布的时候我自作聪明在文件夹名称加上版本号,结果死得很惨,上线一用永远得不到正常的结果。。找了半天不知道原因在哪? 最后尝试去文件的"1.0"字样结果就正常了。真是悲剧呀。。。 最后,我决定还是用回标准C++的写法。不相信MS那斯。 其实标准C++的写法更加简单,也有库函数可以调用,_getcwd;
posted @ 2014-12-03 22:30 雨天 阅读(4163)

2014年7月11日 #



posted @ 2014-07-11 13:34 雨天 阅读(69)

2014年6月20日 #

用户在安装软件时,将光盘放入光驱内,光盘会自动运行,进行安装操作,该功能是如何实现的呢?本例介绍如何制作“自动安装的光盘程序”。其实,实现光盘的自动运行非常简单,当用户打开自动运行的光盘时,会发现光盘中有几个特殊的文件,分别为“autorun.exe”、“autorun.ico”和“autorun.inf”,其中“autorun.exe”是光盘自动播放时执行的可执行文件,“autorun.ico”是光盘的图标,“autorun.inf”是一个INI文件。只要光盘中包含这些文件,那么在将光盘放入光驱时,就会自动运行。开发过程:(1)创建一个项目,将其命名为AutoRun,控制台应用程序。(2)主
posted @ 2014-06-20 17:17 雨天 阅读(458)

2014年5月11日 #

(一) 常用p2p协议 1、napster:世界上第一个大型的p2p应用网络;中央集中式,倒闭了。napster,这是当时很火的一种共享服务,主要用于查找mp3,它有一个服务器用于存储mp3文件的链接位置并提供检索,而真正的mp3文件则存放在千千万万的个人电脑上,搜索到的文件通过p2p方式直接在个人电脑间传播共享。这种方式的缺点就是需要一台服务器,在mp3文件版权之争火热的年代,napster很快就成为众矢之的,被众多唱片公司诉讼侵犯版权而被迫关闭。当然服务器一关napster也就不复存在。 2、gnutella和gnutella2(gnutella2是对gnutella的改进和扩展):开..
posted @ 2014-05-11 14:26 雨天 阅读(2126)

2014年2月23日 #

一、向提示框中添加图标在开发程序时,为了让用户熟悉操作,经常使用一些提示框,显示提示信息。默认情况下,提示信息框只包含提示信息,未免有些单调,如果在提示信息框中显示一个图标,程序或许就别具风格了。本实例实现了在提示框中添加图标的功能。技术要点要修改提示信息框的风格,首先需要了解C#中提示信息框的设计原理。在C#中,提示信息框是用ToolTip控件来实现的。ToolTip控件的ToolTipIcon属性可以设置提示时显示的图片,下面详细介绍一下该属性。ToolTip.ToolTipIcon属性用来获取或设置一个值,该值定义要在工具提示文本旁显示的图标的类型。属性值:System.Windows.阅读全文
posted @ 2014-02-23 23:36 雨天 阅读(830)

2014年2月22日 #

一、改变窗体的大小Windows窗体是可以随意改变大小的,然而对于一些要求严格的窗体,开发人员不希望用户随意的改变其大小,例如,定位准确的地图和游戏软件等。遇到这种情况必须对窗口的大小进行一些限制。本例设计一个限制了大小的窗体,用户虽然可以改变其大小,但是,大小的范围是受到限制的。技术要点在此C#中实现限制大小非常方便,只要设置窗体的最大和最小范围即可。下面介绍一下相关属性。Form.MinimumSize属性用来获取或设置窗体可调整到的最小大小,其语法格式如下:public override Size MinimumSize { get; set; }属性值:Size,表示该窗体的最小大小。
posted @ 2014-02-22 14:22 雨天 阅读(2662)