存档

‘日常琐碎’ 分类的存档
529 views

Windows 系统路径环境变量

2011年1月2日
环境变量名称 实际路径
%SystemDrive% 操作系统所在的分区号。如 C:
%SystemRoot% 操作系统根目录。如 C:\WINDOWS
%windir% 操作系统根目录。如 C:\WINDOWS
%ALLUSERSPROFILE% 相当于 C:\Documents and Settings\All Users
%APPDATA% 相当于 C:\Documents and Settings\用户目录\Application Data
%ProgramFiles% 相当于 C:\Program Files
%CommonProgramFiles% 相当于 C:\Program Files\Common Files
%HOMEDRIVE% 操作系统所在的分区号。如:C:
%HOMEPATH% 相当于 C:\Documents and Settings\用户目录
%USERPROFILE% 相当于 C:\Documents and Settings\用户目录
%HOMEDRIVE% C:\ 当前启动的系统的所在分区
%system% C:\WINDOWS\SYSTEM32
%ALLUSERSPROFILE% 列出所有用户Profile文件位置。
%APPDATA% 列出应用程序数据的默认存放位置。
%CD% 列出当前目录。
%CLIENTNAME% 列出联接到终端服务会话时客户端的NETBIOS名。
%CMDCMDLINE% 列出启动当前cmd.exe所使用的命令行。
%CMDEXTVERSION% 命令出当前命令处理程序扩展版本号。
%COMPUTERNAME% 列出了计算机名。
%COMSPEC% 列出了可执行命令外壳(命令处理程序)的路径。
%DATE% 列出当前日期。
%ERRORLEVEL% 列出了最近使用的命令的错误代码。
%HOMEPATH% 列出用户主目录的完整路径。
%HOMESHARE% 列出用户共享主目录的网络路径。
%LOGONSEVER% 列出有效的当前登录会话的域名控制器名。
%NUMBER_OF_PROCESSORS% 列出了计算机安装的处理器数。
%OS% 列出操作系统的名字。(Windows XP 和 Windows 2000 列为 Windows_NT.)
%Path% 列出了可执行文件的搜索路径
%PATHEXT% 列出操作系统认为可被执行的文件扩展名。
%PROCESSOR_ARCHITECTURE% 列出了处理器的芯片架构。
%PROCESSOR_IDENTFIER% 列出了处理器的描述。
%PROCESSOR_LEVEL% 列出了计算机的处理器的型号。
%PROCESSOR_REVISION% 列出了处理器的修订号。
%PROMPT% 列出了当前命令解释器的命令提示设置。
%RANDOM% 列出界于0 和 32767之间的随机十进制数。
%SESSIONNAME% 列出连接到终端服务会话时的连接和会话名。
%TEMP% and %TMP% 列出了当前登录的用户可用应用程序的默认临时目录。
%TIME% 列出当前时间。
%USERDOMAIN% 列出了包含用户帐号的域的名字。
%USERNAME% 列出当前登录的用户的名字。
%USERPROFILE% 列出当前用户Profile文件位置。
%HOMEDRIVE% 返回连接到用户主目录的本地工作站驱动器号。基于主目录值而设置。用户主目录是在“本地用户和组”中指定的。
%HOMEPATH% 返回用户主目录的完整路径。基于主目录值而设置。用户主目录是在“本地用户和组”中指定的。
%HOMESHARE% 返回用户的共享主目录的网络路径。基于主目录值而设置。用户主目录是在“本地用户和组”中指定的。
%LOGONSERVER% 返回验证当前登录会话的域控制器的名称。
%NUMBER_OF_PROCESSORS% 指定安装在计算机上的处理器的数目。
%OS% 返回操作系统名称。Windows 2000 显示其操作系统为 Windows_NT。
%PATH% 指定可执行文件的搜索路径。
%PATHEXT% 返回操作系统认为可执行的文件扩展名的列表。
%PROCESSOR_ARCHITECTURE% 返回处理器的芯片体系结构。值:x86 或 IA64(基于 Itanium)。
%PROCESSOR_IDENTFIER% 返回处理器说明。
%PROCESSOR_LEVEL% 返回计算机上安装的处理器的型号。
%PROCESSOR_REVISION% 返回处理器的版本号。
%PROMPT% 返回当前解释程序的命令提示符设置。由 Cmd.exe 生成。
%RANDOM% 返回 0 到 32767 之间的任意十进制数字。由 Cmd.exe 生成。
%SYSTEMDRIVE% 返回包含 Windows server operating system 根目录(即系统根目录)的驱动器。
%SYSTEMROOT% 返回 Windows server operating system 根目录的位置。
%TEMP% 和 %TMP% 返回对当前登录用户可用的应用程序所使用的默认临时目录。有些应用程序需要 TEMP,而其他应用程序则需要 TMP。
%TIME% 返回当前时间。使用与 time /t 命令相同的格式。由 Cmd.exe 生成。有关 time 命令的详细信息,请参阅 Time。
%USERDOMAIN% 返回包含用户帐户的域的名称。
%USERNAME% 返回当前登录的用户的名称。
%USERPROFILE% 返回当前用户的配置文件的位置。
%WINDIR% 返回操作系统目录的位置。

例如:%windir%\drives 的实际路径就是 C:\WINDOWS\drives 目录。
所谓变量,就是指一个在不同环境中会有相对不同的值的、但在所有环境中都有相同约定的含义的量。
这些变量,可以在开始菜单-运行中输入,如输入%SystemRoot% ,系统会直接打开 C:\WINDOWS 目录。
如果你当前的系统是装在D盘的2000的话,上边这个变量的执行结果就是打开 D:\WINNT 目录了。

日常琐碎

854 views

从盘符得到设备名称(QueryDosDevice)

2010年12月14日
#include <string.h>
#include <Windows.h>
#include <tchar.h>
#include <stdio.h> 

void _tmain()
{
    TCHAR drv = 0;
    TCHAR cDiskSymbol[] = _T("C:"); 

    for(drv=_T('C'); drv <= _T('Z'); drv++)
    {
        cDiskSymbol[0] = drv;
        if (GetDriveType(cDiskSymbol)==DRIVE_CDROM ||
            GetDriveType(cDiskSymbol)==DRIVE_FIXED ||
            GetDriveType(cDiskSymbol)==DRIVE_REMOVABLE ||
            GetDriveType(cDiskSymbol)==DRIVE_REMOTE)
        {
            TCHAR szBuf[MAX_PATH] = { 0 };
            QueryDosDevice(cDiskSymbol, szBuf, MAX_PATH);
            _tprintf(_T("==== %s === %s  ===\n"), cDiskSymbol, szBuf);
        }
    }
}

延伸阅读:
Displaying Volume Paths
QueryDosDevice Function
Local File Systems

日常琐碎

1,087 views

在 Windows下用 Visual studio 编译 OpenSSL (VC6 VS2003-VS2010)

2010年12月11日

我下载的 openssl 的源代码包是 openssl-1.0.0c.tar.gz, 版本 1.0.0c.

1. 安装 ActivePerl, 因为初始化的时候, 需要用到 perl 解释器

2. 使用 VS2005 下的 Visual Studio 2005 Command Prompt 进入控制台模式 (这个模式会自动设置各种环境变量)

3. 解压缩 openssl 源代码包, 进入 openssl 的根目录, 如 c:\openssl-1.0.0c

4. perl configure VC-WIN32
必须在 c:\openssl-1.0.0c 目录下执行该命令, 否则找不到 Configure 文件, 这时就必须指定完整的 Configure 文件路径.

5. ms\do_ms
在 c:\openssl-1.0.0c 目录下执行 ms\do_ms 命令

6. 在正式编译之前,
(1). 找到 c:\openssl-1.0.0c\ms\ntdll.mak 文件, 用记事本打开, 搜索 “/MD” 字符串, 替换成 “/MT”, 这将导致静态链接 C 运行时, 省却你要在目标机器上安装 VC 再发行包等等让人抓狂的事.

(2) 找到 c:\openssl-1.0.0c\e_os.h 文件, 用记事本打开, 找到

#  if !defined(OPENSSL_USE_IPV6)
#    if defined(AF_INET6) && !defined(OPENSSL_SYS_BEOS_BONE) && !defined(NETWARE_CLIB)
#      define OPENSSL_USE_IPV6 1
#    else
#      define OPENSSL_USE_IPV6 0
#    endif
#  endif

替换成

#if !defined(_MSC_VER) || (defined(_MSC_VER) && _MSC_VER > 1200 )
#  if !defined(OPENSSL_USE_IPV6)
#    if defined(AF_INET6) && !defined(OPENSSL_SYS_BEOS_BONE) && !defined(NETWARE_CLIB)
#      define OPENSSL_USE_IPV6 1
#    else
#      define OPENSSL_USE_IPV6 0
#    endif
#  endif
#else
#  if !defined(OPENSSL_USE_IPV6)
#      define OPENSSL_USE_IPV6 0
#  endif
#endif

这一步的目的是, 在 VC6 下编译时, 避免使用 IPv6 特性, 因为 VC6 不支持.

(3). 找到 c:\openssl-1.0.0c\crypto\mem.c 文件, 在文件靠近顶部包含文件语句的下面, 添加如下代码

#ifndef OPENSSL_CPUID_OBJ
extern unsigned char cleanse_ctr;
#endif

7. 编译动态链接库版本
nmake -f ms\ntdll.mak

8. 编译静态链接库版本
nmake -f ms\nt.mak

完成编译后, 输出的动态链接库版本文件在 out32dll 里面, 包括应用程序的可执行文件, lib 文件和 dll 文件;
静态链接库版本文件在 out32 里面, 包括应用程序的可执行文件和 lib 文件.

技术心得, 日常琐碎

980 views

2010 中国软件百强

2010年11月13日

CNET科技资讯网 6月4日 ZDNET至顶网专稿(文/蒋湘辉):今年发布的软件百强企业共实现软件业务收入2448.7亿元,根据当前汇率计算,已经超过了360亿美元,但仍然不如微软一家公司的收入。

5月28日,第9届中国软件业务收入前百家企业名单在沈阳发布。华为以725.68亿元软件收入连续9年位居榜首,中兴与神州数码分列二、三位,软件收入分别为 270.66亿元及130.4亿元。而浪潮集团、南京南瑞、浙大网新、上海宝信、用友软件、杭州恒生电子、东软集团、珠海金山软件、金蝶软件和山东中创软件等十家企业入选“2010中国自主品牌软件产品收入前十家企业”。

今年发布的软件百强企业共实现软件业务收入2448.7亿元,根据当前汇率计算,已经超过了360亿美元,但仍然不如微软一家公司的收入。(2009财年微软收入584亿美元,其中软件和互联网业务超过500亿美元)这表明,我们软件产业虽然保持了多年的高速增长(9年来,我国百家企业的软件业务总收入增长了5.3倍,年均增长23%),但在自主品牌软件的做大做强方面,仍有很长的路要走。在本届的软件百强中,收入超过50亿元的企业有6家,与上届持平。

以下为2010年中国软件百强名单:

阅读全文…

日常琐碎

1,923 views

VS 2010 远程调试

2010年9月13日
945 views

RSS 2.0 规范[翻译]

2010年8月31日

RSS 2.0 规范
译者:Tony Qu
原文地址:http://blogs.law.harvard.edu/tech/rss
    RSS是一种网页内容联合格式(web content sydication format)。
    它的名字是 Really Simple Syndication 的缩写。

什么是 RSS?

    RSS 是 XML 的一种。所有的 RSS 文档都遵循 XML 1.0 规范,该规范发布在 W3C 网站上。
   
在一个 RSS 文档的开头是一个 <rss> 节点和一个规定的属性 version,该属性规定了该文档将以 RSS 的哪个版本表示。如果该文档以这个规范来表示,那么它的 version 属性就必须等于 2.0。
   
在 <rss> 节点的下一级是一个独立的 <channel> 节点,该节点包含关于 channel 的信息和内容。
    
关于本文档    
    该文档是在 2002 年秋天撰写的,当时的 RSS 版本为 2.0.1。
   
它包含从 RSS 0.91 规范(2000年)开始的所有的修改和添加,以及包含在RSS 0.92(2000年12月)和 RSS 0.94(2002年8月)中的新的特性。
   
必需的频道节点   
下面有一份必须包含的频道 (channel) 节点的列表,每一个都有一个简单的描述、一个例子、应该出现的位置和更详细描述的超链接。

元素 描述 范例
title 频道(channel)名称。它可以告诉别人如何访问你的服务。如果你有一个与你的RSS文件内容一致的HTML网站,你的title元素值应该与你的网站的标题相同。 GoUpstate.com News Headings
link 响应该频道的网站的URL http://www.goupstate.com/
description 关于该频道的描述 The latest news from GoUpstate.com, a Spartanburg Herald-Joural Web
Site

阅读全文…

日常琐碎

1,210 views

搭建 Android 软件开发平台

2010年8月22日

1. 下载 JDK, 安装. 设定环境变量.
JAVA_HOME = C:\Program Files\Java\jdk1.6.0_21
Path = %JAVA_HOME%\bin;%SystemRoot%\system32;%SystemRoot%; …

2. 下载 eclipse 软件, Eclipse IDE for Java Developers, 解压到一个目录, 如
d:\eclipse

3. 下载 Android Developer Tools(这个网址可能需要翻墙, 感谢党感谢国家感谢政府), 解压到一个文件夹, 如 D:\android-sdk-windows, 执行 SDK Setup.exe 文件, 按照图形界面提示, 到 ADT 服务器下载你需要的版本的 API.
这个过程相当漫长, 因为使用 https 协议连接 Google 服务器, 还可能出现连不上服务器的情况(由于 GFW 的存在, 这在大陆是肯定的), 可以在 settings 页面, 勾选 “Force https://… sources to be fetched using http://…” 复选框. 然再到 Available packages 页面选你需要的 API 包, 点击 “Install Selected” 按钮开始下载.

阅读全文…

日常琐碎

3,243 views

HTC Desire 或者 Motorola Milestone 手机 Android 3G Modem上網

2010年8月22日

參考前人文章,手機在今天到手後試了一整個晚上,最後終於成功. 因為弄到很晚很累可能會寫的有點亂,汗,請各位多多包涵.
使用的軟體是 azilink, Http 及 Https 都可正常連線 (PDANet 免付費版不能用 Https 連線), 速度很快, 穩定性則還有待觀察, 因為我只用了一个晚上, 目前是沒有斷線的狀況.

環境是 Windows 7 64位元, 我簡化了一些步驟, 過程會比較簡單易用. 跟各位分享.

1. 首先先下載 OpenVPN 2.1.1 並安裝至 PC 電腦端
OpenVPN 2.1.1

2.下載 azilink.apk 並安裝到手機端
azilink-2.0.2

3.设定手机
3.1 先將手機 USB 連接模式設定為 USB deugging (設定→應用程式→開發→USB除錯中(勾選)」 )
在設定裡的 Applications

Development

將USB Debugging打勾

3.2 於手機端允許非市場應用程式,「設定→應用程式→未知的來源(勾選)」

阅读全文…

日常琐碎

6,818 views

Android 手机翻墙使用 Twitter

2010年8月6日

翻墙方法是有时效性的, 本篇所述在 2010.12.10 全面失效, 因为 GFW 发威, AppSpot.com 全线被封锁. 原因嘛, 你懂的.

Android 系统优秀的第三方软件 twidroid 支持 app 接口,这样我们就可以通过 Google App Engine 自己搭建一个 birdnest 代理,然后使用 twidroid 通过这个代理来上 twitter。明白了原理,我们就开始付诸行动吧。

【软件准备】
1. 第三方上传工具 SDUpload
2. gae 源码 gae
3. twitter Android 手机端软件 twidroid (推荐自己用手机到 “电子市场” 下载安装 Twidroyd)

【解决方案】
1. 注册 Google App Engine 以及创建新应用
打开 Google App Engine,如果有google账户,直接登录即可。之后我们需要创建一个应用,需要输入手机号码,以便系统发送一个验证码,为保证中国手机用户的正常接收短信,最好在手机号码前加上+86,如+8613912345678。很快便会得到短信回复,输入七位验证码,即可开始创建应用。

阅读全文…

日常琐碎 ,

1,645 views

Windows 7:”我的电脑” -> “管理” 打不开的解决方法

2010年7月26日

问题:
装好win7系统,当去掉桌面快捷方式小箭头后,在桌面计算机的管理打不开,出现“该文件没有与之关联的程序来执行操作,请执行安装程序,或者,如果已安装程序,请在‘默认程序’控制面板中创建关联”。”这样对话框,打不开,需要从控制面板中创建关联”。
解决办法:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Manage\command]
@=hex(2):6d,00,6d,00,63,00,2e,00,65,00,78,00,65,00,20,00,63,00,6f,00,6d,00,70,\
  00,6d,00,67,00,6d,00,74,00,2e,00,6d,00,73,00,63,00,00,00

日常琐碎