2007年7月22日
#
2006年12月23日
#
摘要: 实现四舍六入逢五奇进偶不进的ACCESS VBA函数
阅读全文
2006年12月13日
#
摘要: 有的时候我们使用RC4来编码数据,但产生的字符串已经不是正常的字符串,在存储过程中会造成混乱,以致于无法用RC4来还原原来的数据。
解决问题办法就是将这个不正常的字符串进行转换后存储,取出时再转换回来。
阅读全文
2006年10月4日
#
今天一朋友的笔记本Windows XP出现“SPOOLSV.EXE 长期 CPU 占用 99% ”故障,造成系统运行极慢。
排查:
在系统盘里搜索“SPOOLSV.EXE”,位于 C:\Windows\system32 文件夹下,查看文件属性,该文件为“Spooler SubSystem App”,为 Windows 系统文件,即:Print Spooler 服务
spoolsv.exe 简介
进程文件: spoolsv or spoolsv.exe
进程名称: Printer Spooler Service
描 述: Windows打印任务控制程序,用以打印机就绪。
介 绍: 缓冲(spooler)服务是管理缓冲池中的打印和传真作业。
从互联网上找到三篇关于 Spoolsv.exe 的文章:
spoolsv.exe占cpu 99%的解决方法
spoolsv.exe系统进程介绍
Windows 2000 后台打印程序没有删除打印作业后台文件
清空C:\WINDOWS\system32\spool\PRINTERS 目录下所有的文件。问题解决。
当然也要考虑到可能是病毒所为。
目前常见的病毒是:Backdoor/Byshell(又叫隐形大盗、隐形杀手、西门庆病毒)。
病毒危害:
1. 生成病毒文件
2. 插入正常系统文件中
3. 修改系统注册表
4. 可被黑客远程控制
5. 躲避反病毒软件的查杀
简单的后门木马,发作会删除自身程序,但将自身程序套入可执行程序内(如:exe),并与计算机的通口(TCP端口138)挂钩,监控计算机的信息、密码,甚至是键盘操作,作为回传的信息,并不时驱动端口,以等候传进的命令,由于该木马不能判别何者是正确的端口,所以负责输出的列表机也是其驱动对象,以致Spoolsv.exe的使用异常频繁......
Backdoor.Win32.Plutor
破坏方法:感染PE文件的后门程序
病毒采用VC编写。
病毒运行后有以下行为:
1、将病毒文件复制到%WINDIR%目录下,文件名为";Spoolsv.exe";,并该病毒文件运行。";Spoolsv.exe";文件运行后释放文件名为";mscheck.exe";的文件到%SYSDIR%目录下,该文件的主要功能是每次激活时运行";Spoolsv.exe";文件。如果所运行的文件是感染了正常文件的病毒文件,病毒将会把该文件恢复并将其运行。
2、修改注册表以下键值:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Currentversion\Run
增加数据项:";Microsoft Script Checker"; 数据为:";MSCHECK.EXE /START";
修改该项注册表使";MSCHECK.EXE";文件每次系统激活时都将被运行,而";MSCHECK.EXE";用于运行";Spoolsv.exe";文件,从而达到病毒自激活的目的。
3、创建一个线程用于感染C盘下的PE文件,但是文件路径中包含"winnt"、"Windows"字符串的文件不感染。另外,该病毒还会枚举局域网中的共享目录并试图对这些目录下的文件进行感染。该病毒感染文件方法比较简单,将正常文件的前0x16000个字节替换为病毒文件中的数据,并将原来0x16000个字节的数据插入所感染的文件尾部。
4、试图与局域网内名为"admin"的邮槽联系,创建名为"client"的邮槽用于接收其控制端所发送的命令,为其控制端提供以下远程控制服务:
显示或隐藏指定窗口、屏幕截取、控制CDROM、关闭计算器、注销、破坏硬盘数据。
2006年8月27日
#
摘要: 在以前的 Office 版本应用程序中,可以通过 Alt + "" 快捷键来访问系统主菜单上的命令,而在 2007 Office 中访问快捷键的方法有所改变。现在,使用二至五个键就可以访问 Ribbon 上的大多数命令。
阅读全文
2006年8月25日
#
Access 12 中自定义 Ribbon (四)—— 应用自定义的 Ribbon
作者:朱亦文
日期:2006年8月25日
前面三讲均是为应用自定义的 Ribbon 作准备,本文讲述如何应用自定义的 Ribbon。
在 Access 2007 中文版中,自定义 Ribbon 称为“自定义功能区”,其 ID 对应于 USysRibbons 表中的 RibbonName,它在这个表中是唯一不可重复的。
一、设置为启动应用程序时加载自定义的 Ribbon
在 Access 的选项设置中,设置其工具栏选项的自定义功能区ID,即可在应用程序启动时加载自定义的 Ribbon。
点击 Access 文件按钮-[Access 选项]-[启动],在右侧的工具栏选项下的[自定义功能区ID]的下拉列表中选择“Main”:

二、设置关联窗体或报表的自定义 Ribbon
每个窗体和报表均可以有自己的 Ribbon。在窗体和报表的设计状态,设置窗体或报表的“自定义功能区ID”,即可。

这个窗体运行时,就会打开属于自己的 Ribbon,如下图。

关于 Access 自定义 Ribbon 的开发和使用已全部讲完。
资源:
http://blogs.msdn.com/access/
http://msdn.microsoft.com/office/tool/ribbon/default.aspx
http://msdn2.microsoft.com/en-us/ms406046(office.12).aspx
Access 12 中自定义 Ribbon (三)—— 创建 Ribbon 系统数据表
作者:朱亦文
日期:2006年8月25日
在第一篇文章,讲述了如何创建 Ribbon XML,那么这个 XML 如何使用呢?
对于 Access 2007 来说,要将这个 XML 的内容存储在一个名为 USysRibbons 的系统表中,才能使用。
一、创建 USysRibbons 表
在上一讲中,建立了Ribbon.accdb 数据库,打开这个数据库,在系统的功能面板上选择[插入]面板,在[表和列表]上点击[表]按钮,创建新表。

新加两个字段:RibbonName 和 RibbonXML,其中,RibbonName 为“文本”类型,RibbonXML 为“备注”类型,将其保存为 USysRibbons:

二、设置 Access 选项
由于这个以 USys 开头的系统表,在默认设置的情况下,在导航面板中是看不到的,因此,要设置 Access 的选项才能将其显示在导航面板中。点击 Access 的文件菜单按钮,即 Access 左上角的图标,再点击[Access 选项]按钮:

选择左侧的[启动],然后在右侧点击[Navigation Options...]按钮:

在“导航选项”对话框中,勾选“显示系统对象”:

三、输入 XML
从[导航面板]打开 USysRibbons 表,插入一条新记录,在 RibbonName 中输入“Main”,在 RibbonXML 字段中输入第一讲编写的 XML 的内容:

这样,就将 XML 保存到了 USysRibbons 表中。在一个应用程序中可以设计多个 Ribbon,每个 Ribbon 对应一条记录。它们可以应用在应用启动时、关联窗体和报表。
下一讲,如何设置应用自定义的 Ribbon 的属性,应用 Ribbon。
Access 12 中自定义 Ribbon (一)—— 建立 Ribbon XML
作者:朱亦文
日期:2006年8月25日
一、XML
首先,要确定 Ribbon 要包含的内容,本文假设,要建立如下图所示的 Ribbon。
其中:
- 打开罗斯文商贸(Access 2007 示例数据库中的 Home 窗体)
- 压缩和修复数据库(Access 2007 系统功能)
- 关闭数据库(调用回调函数,实现关闭当前数据库)
并且在数据库打开时就加载这个 Ribbon。
为了实现上述功能,需要建立如下的 XML 内容:
1
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="onLoadRibbon">
2
<ribbon startFromScratch="true">
3
<fileMenu>
4
<button idMso="OpenDatabase" visible="false"/>
5
<button idMso="CloseDatabase" visible="false"/>
6
<button idMso="NewDatabase" visible="false"/>
7
<button idMso="SaveAs" visible="false"/>
8
<splitButton idMso="AccessSaveAsMenu" visible="false"/>
9
</fileMenu>
10
<tabs>
11
<tab id="tabMain" label="Ribbon 测试程序">
12
<group id="grpHome" label="Home">
13
<button id="cmdHome" label="打开罗斯文商贸" imageMso="MeetingsWorkspace" size="large" onAction="onOpenFormEdit" tag="Home"/>
14
<button idMso="CompactDatabase" size="large"/>
15
<button id="cmdClose" label="关闭数据库" imageMso="CloseDatabase" size="large" onAction="onCloseDatabase"/>
16
</group>
17
</tab>
18
</tabs>
19
</ribbon>
20
</customUI>
在第一行指明自定义 Ribbon 的架构为 http://schemas.microsoft.com/office/2006/01/customui。
第二行的“startFromScrath="true"”表示关闭原来的 Ribbon。
<fileMenu>节点描述 Access 文件菜单。
<tabs>节点描述自定义 Ribbon 的分组和分组中的按钮等。
二、编写 XML
可以使用任意的本文编辑器来编写 XML,但是使用 Visual Studio 2005 或者 Visual Web Developer 2005 速成版这样的工具来得更为方便快捷,并且在指定 customUI Ribbon 架构后,能够方便使用智能提示功能方便快捷的书写 Ribbon XML,下面以 Visual Studio 2005 为例来说明如何编写 Ribbon XML。
首先,从 http://officeblogs.net/UI/customUI.xsd 下载 customUI 的架构文件。然后打开 Visual Studio 2005,然后文件菜单上点击[新建文件],选择[XML 文件],点击[打开],如下图:
然后,删除文件中的“<?xml version="1.0" encoding="utf-8"?>” 。
打开 XML 文档属性,选择[架构]如下图:

在 XSD 架构对话框中,添加上面下载回来的 customUI.xsd。

这样就能使用智能提示功能,快速地编写 Ribbon XML。

下次,讲述“编写回调函数”
2006年8月22日
#
在 Access 2007 中自定义 Ribbon,需要五个步骤:
- 建立 Ribbon XML:通过一个 XML 文件来定义 Ribbon。可以任意的文本编辑来实现,但使用 Visual Studio 来得更为方便一些。
- 编写回调函数:创建实现 Ribbon 功能的 VBA 子程序,例如,点击 Ribbon 中一个按钮或从 Ribbon 一个下拉列表中选取一项所要执行的程序。
- 创建存储 Ribbon XML 文件内容的数据表:在数据库中创建存储第一步中产生的定义 Ribbon 的 XML 文件的内容,其表名为 USysRibbons。
- 将 Ribbon 定义添加到表中:为每个自定义的 Ribbon 在表中创建一条记录,并为之命名和写入定义 Ribbon 的 XML。
- 设置应用自定义的 Ribbon 的属性:例如,应用程序启动时装载 Ribbon,报表或窗体关联的 Ribbon。
如果要在 VBA 中使用 Ribbon 对象,则需引用 Microsoft Office 12 Object Library。
附:Ribbon XML 构架文件:customUI.xsd