<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>老魏的博客, Wiz, CyberArticle作者官方网站</title>
	<atom:link href="http://weishijun.com/feed" rel="self" type="application/rss+xml" />
	<link>http://weishijun.com</link>
	<description>Wiz, CyberArticle开发手记</description>
	<lastBuildDate>Sat, 08 Jan 2011 12:16:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Wiz助手插件开发(9)</title>
		<link>http://weishijun.com/p/1113</link>
		<comments>http://weishijun.com/p/1113#comments</comments>
		<pubDate>Sat, 08 Jan 2011 12:08:52 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz二次开发]]></category>
		<category><![CDATA[Wiz插件]]></category>
		<category><![CDATA[知识管理]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/1113</guid>
		<description><![CDATA[本次Wiz助手插件主要增加的功能：

批注功能改进，批注窗口可以自动显示和隐藏，编辑批注后不需要点击确认就可以进行保存，同时批注窗口，避免出现在窗口外边。
增加标记功能，可以给选中的文字快速增加黄色，红色，绿色背景
增加清除背景色功能
选中部分作为关键字修改成选中部分添加到关键字
点击颜色标记，清除背景色后，smart tag窗口自动关闭。


目前这个插件已经比较完善了，欢迎大家使用，同时开放源代码，大家可以任意修改，欢迎提供各种改版插件。
&#160;
另外，最近会整理一下插件源代码，尽可能增加一些注释。
&#160;
一些预览：
&#160;

&#160;
Published by Wiz

附件列表

km.zip


&#160;
]]></description>
		<wfw:commentRss>http://weishijun.com/p/1113/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Wiz助手插件开发(8)</title>
		<link>http://weishijun.com/p/1105</link>
		<comments>http://weishijun.com/p/1105#comments</comments>
		<pubDate>Fri, 07 Jan 2011 10:54:59 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz二次开发]]></category>
		<category><![CDATA[Wiz插件]]></category>
		<category><![CDATA[知识管理]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/1105</guid>
		<description><![CDATA[本次Wiz助手插件主要增加的功能：

批注功能。在浏览的时候选中文字，可以增加注释。&#160;在浏览文档的时候，选中文档中的文字，然后会出现一个msart tag工具条，选择第二个按钮就可以添加批注了。
注意：阅读模式，如果需要编辑已经存在的批注，则需要点击一下。否则鼠标移动，批注将会自动消失。


修改了一个bug
&#160;
致谢

该功能参考了PKM2的功能，在此致谢。
网友sapjax进行了批注自动隐藏的改进，同时帮忙解决了一个bug。

&#160;
一些预览：
&#160;

Published by Wiz
]]></description>
		<wfw:commentRss>http://weishijun.com/p/1105/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Wiz助手插件开发(7)</title>
		<link>http://weishijun.com/p/1082</link>
		<comments>http://weishijun.com/p/1082#comments</comments>
		<pubDate>Thu, 06 Jan 2011 14:28:44 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz二次开发]]></category>
		<category><![CDATA[Wiz插件]]></category>
		<category><![CDATA[知识管理]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/1082</guid>
		<description><![CDATA[本次Wiz助手插件主要增加的功能：

星标（评价）允许取消
文档阅读的时候，选中一些文字，将会出现一个Wiz助手图标（类似IE的smart tag功能），点击后可以快速执行一些命令，例如选中部分作为标题，标签，关键字，作者等等。以后将会加入注释功能，利用这种方式添加自己的标注。
标签云增加复选框，可以选择多个标签，进行and方式过滤。


从这些功能可以看出Wiz插件功能的强大，同时希望html+js高手多多参与。插件本身也都是开源的，可以多多参与。
&#160;
一些预览：
&#160;
smart tag功能：


标签云多选

&#160;
本次开发文档以后补充，现提供插件下载，喜欢的朋友可以下载使用。
&#160;
Wiz二次开发，知识管理
&#160;
Published by Wiz
]]></description>
		<wfw:commentRss>http://weishijun.com/p/1082/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Wiz和google同步插件源代码</title>
		<link>http://weishijun.com/p/1078</link>
		<comments>http://weishijun.com/p/1078#comments</comments>
		<pubDate>Wed, 05 Jan 2011 13:40:05 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/1078</guid>
		<description><![CDATA[Wiz和Google 文档/日历 同步插件源代码(C#)
&#160;
提供有需要的朋友查看。注意需要先下载安装google api(.net版本)。
http://code.google.com/p/google-gdata/downloads/list
&#160;
&#160;

通过Wiz发布


附件列表

Google.zip


&#160;
]]></description>
		<wfw:commentRss>http://weishijun.com/p/1078/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wiz插件文档-对象索引</title>
		<link>http://weishijun.com/p/1071</link>
		<comments>http://weishijun.com/p/1071#comments</comments>
		<pubDate>Wed, 05 Jan 2011 04:05:52 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz插件文档]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/1071</guid>
		<description><![CDATA[Wiz内部公开的对象列表：
&#160;









接口
ProgID
GUID
所在文件








IWizBatchDownloader
WizKMControls.WizBatchDownloader
8C43A23A-11CD-4BFA-A3FA-CBC4A586F666
WizKMControls.dll


IWizCommonUI
WizKMControls.WizCommonUI
5EABDAD8-A056-4445-AC98-E66885B0935F
WizKMControls.dll


IWizProgressWindow
WizKMControls.WizProgressWindow
E132C3B7-DA0C-4946-9332-D3D1822FC52C
WizKMControls.dll


IWizSyncProgressDlg
WizKMControls.WizSyncProgressDlg
CDEF75C2-9494-4336-AF33-66980EB65E29
WizKMControls.dll








IWizDatabase
WizKMCore.WizDatabase
AB45C39E-7793-4DCE-8C3E-3DA52B07AD68
WizKMCore.dll


IWizDeletedGUID
WizKMCore.WizDeletedGUID
CDC8B878-61C3-4ECA-AC3B-7B7D8091A89B
WizKMCore.dll


IWizDeletedGUIDCollection
WizKMCore.WizDeletedGUIDCollection
D69D50B6-9A9D-4BD9-AA38-2DDD05579C26
WizKMCore.dll


IWizDocument
WizKMCore.WizDocument
ED406C6B-C584-4029-B1A9-7FAE0A575C2B
WizKMCore.dll


IWizDocumentAttachment
WizKMCore.WizDocumentAttachment
8D95BA68-C8E1-42C2-9287-CC8231C95E7F
WizKMCore.dll


IWizDocumentAttachmentCollection
WizKMCore.WizDocumentAttachmentCollection
C06B06EA-6E58-4761-BCB0-725EA6A3804D
WizKMCore.dll


IWizDocumentCollection
WizKMCore.WizDocumentCollection
6A94B47D-FD36-452D-952D-E4D550F10628
WizKMCore.dll


IWizDocumentParam
WizKMCore.WizDocumentParam
8F4F05F7-D3FC-4656-8D3B-B849DA3FB6A6
WizKMCore.dll


IWizDocumentParamCollection
WizKMCore.WizDocumentParamCollection
1B211802-4E90-440D-905E-BF6DD322B135
WizKMCore.dll


IWizEvent
WizKMCore.WizEvent
45BC1CC7-4BDD-4D17-A8F3-DC4CE48FE584
WizKMCore.dll


IWizEventCollection
WizKMCore.WizEventCollection
83287FD4-35C9-4E6D-83BC-BE341E339B0D
WizKMCore.dll


IWizFolder
WizKMCore.WizFolder
2DE89910-4C9B-4252-9D30-751915121E24
WizKMCore.dll


IWizFolderCollection
WizKMCore.WizFolderCollection
150F936F-26A4-474D-8DD3-811A88F0CB96
WizKMCore.dll


IWizKMTools
WizKMCore.WizKMTools
0862A44D-A591-4FAF-950C-EB81BE4AC372
WizKMCore.dll


IWizMeta
WizKMCore.WizMeta
0DC1C265-7695-45F4-8B97-4A4B06C4DE2E
WizKMCore.dll


IWizMetaCollection
WizKMCore.WizMetaCollection
212C4E5C-88B0-477B-B399-A4F7FD3BC034
WizKMCore.dll


IWizRowset
WizKMCore.WizRowset
4D55D9D6-11EF-4816-9079-5C077D8EE864
WizKMCore.dll


IWizSettings
WizKMCore.WizSettings
8BC0154C-BE01-45A6-949D-A4D8E5A0D8AA
WizKMCore.dll


IWizSettingsSection
WizKMCore.WizSettingsSection
A6FFBEDF-C292-4CD7-83DC-CB2779D77483
WizKMCore.dll


IWizSQLiteDatabase
WizKMCore.WizSQLiteDatabase
CD91B37A-6B51-46D1-BC7E-06C0F9F8539D
WizKMCore.dll


IWizStyle
WizKMCore.WizStyle
872DD0F4-D6B6-4730-9087-757B5F66054C
WizKMCore.dll


IWizStyleCollection
WizKMCore.WizStyleCollection
B8B402D3-DE9E-42E5-838B-9BA0B923C16E
WizKMCore.dll


IWizTag
WizKMCore.WizTag
972019A8-D393-4EB3-B271-65E0BBBE2A2E
WizKMCore.dll


IWizTagCollection
WizKMCore.WizTagCollection
95985FE1-9F9E-4F66-8A7D-4CBAEDCF5936
WizKMCore.dll


IWizTagGroup
WizKMCore.WizTagGroup
BA585B1C-9291-49BB-9216-AFDDE648F278
WizKMCore.dll


IWizTagGroupCollection
WizKMCore.WizTagGroupCollection
A9352C86-E046-4868-92B5-D5C84162A69A
WizKMCore.dll


IWizTodoItem
WizKMCore.WizTodoItem
AF6ADB0C-D5CB-4B83-88E8-2CA45BE7873F
WizKMCore.dll


IWizTodoItemCollection
WizKMCore.WizTodoItemCollection
465102EA-EB28-4758-BA63-C8E177F4F3F2
WizKMCore.dll








IWizIECapture
WizWebCapture.WizIECapture
ED20B72B-C691-4331-A8D0-FBBB231A5DD4
NPWizWebCapture.dll








IWizExplorerApp
WizExplorer.WizExplorerApp
BB2A9D7C-459A-486e-90EC-A8C80727FDD9
WizExplorer.exe


IWizExplorerWindow
WizExplorer.WizExplorerWindow
C428B079-7D18-4ca3-BE64-E3F4A25300C5
WizExplorer.exe





&#160;
&#160;
&#160;

通过Wiz发布

]]></description>
		<wfw:commentRss>http://weishijun.com/p/1071/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wiz插件文档-IWizDatabase, IWizRowset</title>
		<link>http://weishijun.com/p/1045</link>
		<comments>http://weishijun.com/p/1045#comments</comments>
		<pubDate>Wed, 05 Jan 2011 02:00:00 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz插件文档]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/1045</guid>
		<description><![CDATA[IWizDatabase&#160;是WizKMCore.dll包含的一个COM对象。您可以直接创建这个对象，然后打开一个用户数据库。或者通过IWizExplorerApp.Database属性来获得用户正在WizExplorer打开的数据库。
通过IWizDatabase，可以获得数据库的信息，包括各种用户信息，文档信息，文件夹，标签，样式等等。同时，也可以使用这个对象，来修改数据库，文档信息等等。

&#160;
用户数据库，保存在用户数据目录下面的Data\Deault或者其它的子目录中，例如

&#160;
数据库文件夹中，包含index.db文件，该文件非常重要，用户的标签，标签组，样式，文档索引信息，附件索引信息，都保存在这个文件里面。程序会在退出的时候，自动生成一个备份文件，例如：
&#160;

.index.db文件是一个SQLite数据库，您可以使用相关的软件来打开这个文件，获得数据库结构以及相关的数据。
&#160;

ProgID：WizKMCore.WizDatabase
文件：WizKMCore.dll

[&#160;&#160;&#160;&#160;object,&#160;&#160;&#160;&#160;uuid(66EDABF2-D4D0-4B63-BFFA-EB7C53A9372A),&#160;&#160;&#160;&#160;dual,&#160;&#160;&#160;&#160;nonextensible,&#160;&#160;&#160;&#160;helpstring("IWizDatabase Interface"),&#160;&#160;&#160;&#160;pointer_default(unique)]interface IWizDatabase : IDispatch{
&#160;&#160;&#160;&#160;//打开一个数据库。bstrDatabasePath：指定一个数据库文件夹路径，该文件夹下面，必须有index.db文件。可以传入一个空字符串（&#8221;"），如果没有默认数据库，该方法会可能显示一个对话框，让用户选择数据库。&#160;&#160;&#160;&#160;[id(1), helpstring("method Open")] HRESULT Open([in] BSTR bstrDatabasePath);
&#160;&#160;&#160;&#160;//关闭数据库&#160;&#160;&#160;&#160;[id(2), helpstring("method Close")] HRESULT Close(void);
&#160;&#160;&#160;&#160;//获得数据库路径。&#160;&#160;&#160;&#160;[propget, id(3), helpstring("property DatabasePath")] HRESULT DatabasePath([out, retval] BSTR* pVal);
&#160;&#160;&#160;&#160;//获得数据库文件夹集合。类型为IWizFolderCollection&#160;&#160;&#160;&#160;[propget, id(4), helpstring("property Folders")] HRESULT Folders([out, retval] IDispatch** pVal);
&#160;&#160;&#160;&#160;//获得标签组集合，类型为IWizTagGroupCollection&#160;&#160;&#160;&#160;[propget, id(5), helpstring("property TagGroups")] HRESULT TagGroups([out, retval] IDispatch** pVal);
&#160;&#160;&#160;&#160;//获得所有标签集合，类型为IWizTagCollection&#160;&#160;&#160;&#160;[propget, id(6), helpstring("property Tags")] HRESULT Tags([out, retval] IDispatch** pVal);
&#160;&#160;&#160;&#160;//获得所有样式集合，类型为IWizStyleCollection&#160;&#160;&#160;&#160;[propget, id(7), helpstring("property Styles")] HRESULT Styles([out, retval] IDispatch** pVal);
&#160;&#160;&#160;&#160;//获得所有附件集合，类型为IWizDocumentAttachmentCollection&#160;&#160;&#160;&#160;[propget, [...]]]></description>
		<wfw:commentRss>http://weishijun.com/p/1045/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wiz插件文档-IWizFolder, IWizFolderCollection</title>
		<link>http://weishijun.com/p/1042</link>
		<comments>http://weishijun.com/p/1042#comments</comments>
		<pubDate>Wed, 05 Jan 2011 02:00:00 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz插件文档]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/1042</guid>
		<description><![CDATA[IWizFolder是WizKMCore.dll包含的一个COM对象。文件夹对象必须隶属于一个数据库，因此您不能直接创建这个对象，而是需要通过IWizDatabase对象来获得数据库中的文件夹对象。
通过IWizDatabase.Folders，可以获得数据库的所有根文件夹，进而获得其它的子文件夹信息。
&#160;
IWizFolderCollection是文件夹对象IWizFolder的一个集合（数据），当需要返回一个IWizFolder集合的时候，会返回这个对象，例如IWizDatabase.Folders属性，就会返回这个对象。

这个对象实现了IEnumXXXX&#160;接口，这样在某些语言内，可以通过fore_each来枚举集合内的每一个对象。
&#160;
每一个IWizFolder对象，都对应于用户数据库文件夹下面的一个子文件夹，如下图：
&#160;

&#160;
用户可以自行在数据库文件夹内建立新的文件夹，或者删除空的文件夹，WizKnowledge会自动显示。但是请不要删除包含文档的文件夹，否则会引起数据不一致，因为WizKnowledge对文档进行了索引。

文件：WizKMCore.dll

IWizFolderCollection是一个IWizFolder对象的集合。
[&#160;&#160;&#160;&#160;object,&#160;&#160;&#160;&#160;uuid(6A7B925B-14C7-434B-80E9-2165CD059A79),&#160;&#160;&#160;&#160;dual,&#160;&#160;&#160;&#160;nonextensible,&#160;&#160;&#160;&#160;helpstring("IWizFolderCollection Interface"),&#160;&#160;&#160;&#160;pointer_default(unique)]interface IWizFolderCollection : IDispatch{
&#160;&#160;&#160;&#160;//生成一个新的IEnumXXXX类型的接口，可以在某些语言内使用for_each类型的语法。&#160;&#160;&#160;&#160;[id(DISPID_NEWENUM), propget] HRESULT _NewEnum([out, retval] IUnknown** ppUnk);
&#160;&#160;&#160;&#160;//获得某一个对象。Index：索引值，以0开始；返回值：IWizFolder对象&#160;&#160;&#160;&#160;[id(DISPID_VALUE), propget] HRESULT Item([in] long Index, [out, retval] IDispatch** pVal);
&#160;&#160;&#160;&#160;//获得集合内元素的数量&#160;&#160;&#160;&#160;[id(1), propget] HRESULT Count([out, retval] long * pVal);};
IWizFolder对象
&#160;
[&#160;&#160;&#160;&#160;object,&#160;&#160;&#160;&#160;uuid(B0E49F7C-CF4B-4DD4-A3F3-432F628C3A31),&#160;&#160;&#160;&#160;dual,&#160;&#160;&#160;&#160;nonextensible,&#160;&#160;&#160;&#160;helpstring("IWizFolder Interface"),&#160;&#160;&#160;&#160;pointer_default(unique)]interface IWizFolder : IDispatch{
&#160;&#160;&#160;&#160;//获得或者设置文件夹名称，直接对应于磁盘文件夹的名称。&#160;&#160;&#160;&#160;[propget, id(1), helpstring("property Name")] HRESULT Name([out, retval] BSTR* pVal);&#160;&#160;&#160;&#160;[propput, id(1), helpstring("property Name")] HRESULT Name([in] BSTR newVal);
&#160;&#160;&#160;&#160;//获得或者设置文件夹是否需要和网络同步。仅针对根文件夹有效。&#160;&#160;&#160;&#160;[propget, id(2), helpstring("property Sync")] HRESULT Sync([out, retval] VARIANT_BOOL* pVal);&#160;&#160;&#160;&#160;[propput, id(2), [...]]]></description>
		<wfw:commentRss>http://weishijun.com/p/1042/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wiz插件文档-IWizDocument, IWizDocumentCollection</title>
		<link>http://weishijun.com/p/1040</link>
		<comments>http://weishijun.com/p/1040#comments</comments>
		<pubDate>Wed, 05 Jan 2011 02:00:00 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz插件文档]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/1040</guid>
		<description><![CDATA[IWizDocument是WizKMCore.dll包含的一个COM对象。文档对象必须隶属于一个数据库，因此您不能直接创建这个对象，而是需要通过IWizDatabase对象来获得数据库中的文档对象。
通过IWizDatabase.GetAllDocuments，获得IWizFolder.Documents等等方法，可以获得数据库的文档信息。
&#160;

IWizDocumenCollection是文件夹对象IWizDocumen的一个集合（数据），当需要返回一个IWizDocumen集合的时候，会返回这个对象，例如IWizFolder.Documents属性，就会返回这个对象。
这个对象实现了IEnumXXXX&#160;接口，这样在某些语言内，可以通过fore_each来枚举集合内的每一个对象。
&#160;
每一个IWizDocument对象，都在索引数据库(index.db)里面，包含一条记录，记录了文档的元数据，同时，还有一个磁盘文件(*.ziw)，保存了文档的数据。ziw是一个zip文件，即使没有安装WizKnowledge，您也可以用压缩软件来打开ziw文件，查看完整的html内容。因为使用了zip方式压缩，不但可以减少磁盘占用，还可以保持磁盘整洁，减少磁盘碎片，而且，即使以后您不再使用WizKnowledge文件，您的文档也不会因为没有安装WizKnowledge而无法打开。
&#160;
WizKnowledge提供了WizViewer.exe，专门用来直接查看ziw文件。在我的电脑里面，直接双击一个ziw文件，就可以用WizViewer.exe来打开文件。另外，WizKnowledge提供了Windows Search的IFilter插件和Google Desktop的插件，可以用来对WizKnowledge来建立索引，提供桌面全文检索。
&#160;

请不要直接删除ziw文件，因为这样会破坏数据完整性。


文档可以包含任意数量的附件。每一个附件，都对应于一个磁盘文件。附件保存在文档数据文件夹下面的XXX_Attachments文件夹内。
&#160;
文档可以包含任意数量的自定义参数，自定义参数，主要是用来扩展WizKnowledge的功能。
&#160;



文件：WizKMCore.dll


IWizDocumentCollection是一个IWizDocument对象的集合。
[&#160;&#160;&#160;&#160;object,&#160;&#160;&#160;&#160;uuid(F8AE7F18-3C30-47D1-8902-947E5676895C),&#160;&#160;&#160;&#160;dual,&#160;&#160;&#160;&#160;nonextensible,&#160;&#160;&#160;&#160;helpstring("IWizDocumentCollection Interface"),&#160;&#160;&#160;&#160;pointer_default(unique)]interface IWizDocumentCollection : IDispatch{
&#160;&#160;&#160;&#160;//生成一个新的IEnumXXXX类型的接口，可以在某些语言内使用for_each类型的语法。&#160;&#160;&#160;&#160;[id(DISPID_NEWENUM), propget] HRESULT _NewEnum([out, retval] IUnknown** ppUnk);
&#160;&#160;&#160;&#160;//获得某一个对象。Index：索引值，以0开始；返回值：IWizDocument对象&#160;&#160;&#160;&#160;[id(DISPID_VALUE), propget] HRESULT Item([in] long Index, [out, retval] IDispatch** pVal);
&#160;&#160;&#160;&#160;//获得集合内元素的数量&#160;&#160;&#160;&#160;[id(1), propget] HRESULT Count([out, retval] long * pVal);
&#160;&#160;&#160;&#160;//添加一个文档，类型必须为IWizDocument&#160;&#160;&#160;&#160;[id(2), helpstring("method Add")] HRESULT Add([in] IDispatch* pDocumentDisp);};
&#160;
IWizDocument对象
&#160;
[&#160;&#160;&#160;&#160;object,&#160;&#160;&#160;&#160;uuid(5B78A65E-6EE8-41C7-B1DA-8ECBF9D917B0),&#160;&#160;&#160;&#160;dual,&#160;&#160;&#160;&#160;nonextensible,&#160;&#160;&#160;&#160;helpstring("IWizDocument Interface"),&#160;&#160;&#160;&#160;pointer_default(unique)]interface IWizDocument : IDispatch{
&#160;&#160;&#160;&#160;//获得文档的GUID&#160;&#160;&#160;&#160;[propget, id(1), helpstring("property GUID")] HRESULT GUID([out, retval] BSTR* pVal);
&#160;&#160;&#160;&#160;//获得/设置文档的标题&#160;&#160;&#160;&#160;[propget, id(2), helpstring("property Title")] HRESULT Title([out, retval] BSTR* pVal);&#160;&#160;&#160;&#160;[propput, [...]]]></description>
		<wfw:commentRss>http://weishijun.com/p/1040/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wiz插件文档-IWizTag, IWizTagGroup, IWizTagCollection, IWizTagGroupCollection</title>
		<link>http://weishijun.com/p/1039</link>
		<comments>http://weishijun.com/p/1039#comments</comments>
		<pubDate>Wed, 05 Jan 2011 02:00:00 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz插件文档]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/1039</guid>
		<description><![CDATA[

IWizTag，IWizTagGroup是WizKMCore.dll包含的COM对象。标签/标签组对象必须隶属于一个数据库，因此您不能直接创建标签/标签组对象，而是需要通过IWizDatabase对象来获得数据库中的标签/标签组对象。
通过IWizDatabase.Tags，可以获得数据库的标签信息，通过IWizDatabase.TagGroups，可以获得数据库中的标签组信息。

&#160;

IWizTagCollection是标签对象IWizTag的一个集合（数据），当需要返回一个IWizTag集合的时候，会返回这个对象，例如IWizDocument.Tags属性，就会返回这个对象。
这个对象实现了IEnumXXXX&#160;接口，这样在某些语言内，可以通过fore_each来枚举集合内的每一个对象。
&#160;
IWizTagGroupCollection是标签对象IWizTagGroup的一个集合（数据），当需要返回一个IWizTagGroup集合的时候，会返回这个对象，例如IWizDatabase.TagGroups属性，就会返回这个对象。这个对象实现了IEnumXXXX 接口，这样在某些语言内，可以通过fore_each来枚举集合内的每一个对象。


文件：WizKMCore.dll


&#160;
IWizTagGroupCollection
[&#160;&#160;&#160;&#160;object,&#160;&#160;&#160;&#160;uuid(E102B2BE-C790-4EFA-ABE4-8421E8DD714C),&#160;&#160;&#160;&#160;dual,&#160;&#160;&#160;&#160;nonextensible,&#160;&#160;&#160;&#160;helpstring("IWizTagGroupCollection Interface"),&#160;&#160;&#160;&#160;pointer_default(unique)]interface IWizTagGroupCollection : IDispatch{
&#160;&#160;&#160;&#160;//生成一个新的IEnumXXXX类型的接口，可以在某些语言内使用for_each类型的语法。&#160;&#160;&#160;&#160;[id(DISPID_NEWENUM), propget] HRESULT _NewEnum([out, retval] IUnknown** ppUnk);
&#160;&#160;&#160;&#160;//获得某一个对象。Index：索引值，以0开始；返回值：IWizTagGroup对象&#160;&#160;&#160;&#160;[id(DISPID_VALUE), propget] HRESULT Item([in] long Index, [out, retval] IDispatch** pVal);
&#160;&#160;&#160;&#160;//获得集合内元素的数量&#160;&#160;&#160;&#160;[id(1), propget] HRESULT Count([out, retval] long * pVal);};
&#160;
IWizTagGroup
[&#160;&#160;&#160;&#160;object,&#160;&#160;&#160;&#160;uuid(1081064D-39AA-4225-8D6D-CB856C7F3ED5),&#160;&#160;&#160;&#160;dual,&#160;&#160;&#160;&#160;nonextensible,&#160;&#160;&#160;&#160;helpstring("IWizTagGroup Interface"),&#160;&#160;&#160;&#160;pointer_default(unique)]interface IWizTagGroup : IDispatch{
&#160;&#160;&#160;&#160;//获得标签组的GUID&#160;&#160;&#160;&#160;[propget, id(1), helpstring("property GUID")] HRESULT GUID([out, retval] BSTR* pVal);
&#160;&#160;&#160;&#160;//获得/设置标签组的名称&#160;&#160;&#160;&#160;[propget, id(2), helpstring("property Name")] HRESULT Name([out, retval] BSTR* pVal);&#160;&#160;&#160;&#160;[propput, id(2), helpstring("property Name")] HRESULT Name([in] BSTR newVal);
&#160;&#160;&#160;&#160;//获得/设置标签组的描述&#160;&#160;&#160;&#160;[propget, [...]]]></description>
		<wfw:commentRss>http://weishijun.com/p/1039/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wiz插件文档-IWizStyle, IWizStyleCollection</title>
		<link>http://weishijun.com/p/1038</link>
		<comments>http://weishijun.com/p/1038#comments</comments>
		<pubDate>Wed, 05 Jan 2011 02:00:00 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz插件文档]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/1038</guid>
		<description><![CDATA[IWizStyle是WizKMCore.dll包含的一个COM对象。样式对象必须隶属于一个数据库，因此您不能直接创建这个对象，而是需要通过IWizDatabase对象来获得数据库中的样式对象。
通过IWizDatabase.Styles，可以获得数据库的样式信息。
&#160;
IWizStyleCollection是文件夹对象IWizStyle的一个集合（数据），当需要返回一个IWizStyle集合的时候，会返回这个对象，例如IWizDatabase.Styles属性，就会返回这个对象。

这个对象实现了IEnumXXXX&#160;接口，这样在某些语言内，可以通过fore_each来枚举集合内的每一个对象。
&#160;
一个文档只能有一个样式，或者没有。样式主要用来突出显示某些特殊的文档，可以用来给文档进行分类。当点击某一个样式的时候，会列出所有具有这个样式的文档。

文件：WizKMCore.dll

&#160;
IWizStyleCollection 对象

[&#160;&#160;&#160;&#160;object,&#160;&#160;&#160;&#160;uuid(E6A5A90D-5766-428F-BE25-AFC9D641CB88),&#160;&#160;&#160;&#160;dual,&#160;&#160;&#160;&#160;nonextensible,&#160;&#160;&#160;&#160;helpstring("IWizStyleCollection Interface"),&#160;&#160;&#160;&#160;pointer_default(unique)]interface IWizStyleCollection : IDispatch{
&#160;&#160;&#160;&#160;//生成一个新的IEnumXXXX类型的接口，可以在某些语言内使用for_each类型的语法。&#160;&#160;&#160;&#160;[id(DISPID_NEWENUM), propget] HRESULT _NewEnum([out, retval] IUnknown** ppUnk);
&#160;&#160;&#160;&#160;//获得某一个对象。Index：索引值，以0开始；返回值：IWizStyle对象&#160;&#160;&#160;&#160;[id(DISPID_VALUE), propget] HRESULT Item([in] long Index, [out, retval] IDispatch** pVal);
&#160;&#160;&#160;&#160;//获得集合内元素的数量&#160;&#160;&#160;&#160;[id(1), propget] HRESULT Count([out, retval] long * pVal);};

&#160;
&#160;
IWizStyle对象
&#160;

[&#160;&#160;&#160;&#160;object,&#160;&#160;&#160;&#160;uuid(77C6F00C-6A41-4A14-B3E6-986401D5A5D5),&#160;&#160;&#160;&#160;dual,&#160;&#160;&#160;&#160;nonextensible,&#160;&#160;&#160;&#160;helpstring("IWizStyle Interface"),&#160;&#160;&#160;&#160;pointer_default(unique)]interface IWizStyle : IDispatch{
&#160;&#160;&#160;&#160;//获得样式的GUID&#160;&#160;&#160;&#160;[propget, id(1), helpstring("property GUID")] HRESULT GUID([out, retval] BSTR* pVal);
&#160;&#160;&#160;&#160;//获得/设置样式的名称&#160;&#160;&#160;&#160;[propget, id(2), helpstring("property Name")] HRESULT Name([out, retval] BSTR* pVal);&#160;&#160;&#160;&#160;[propput, id(2), helpstring("property Name")] HRESULT Name([in] BSTR newVal);
&#160;&#160;&#160;&#160;//获得/设置样式的样式&#160;&#160;&#160;&#160;[propget, [...]]]></description>
		<wfw:commentRss>http://weishijun.com/p/1038/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wiz插件文档-IWizMeta, IWizMetaCollection</title>
		<link>http://weishijun.com/p/1037</link>
		<comments>http://weishijun.com/p/1037#comments</comments>
		<pubDate>Wed, 05 Jan 2011 02:00:00 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz插件文档]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/1037</guid>
		<description><![CDATA[
IWizMeta是WizKMCore.dll包含的一个COM对象。Meta对象必须隶属于一个数据库，因此您不能直接创建这个对象，而是需要通过IWizDatabase对象来获得数据库中的Meta对象。
通过IWizDatabase.Metas，可以获得数据库的所有Meta信息。
&#160;

Meta，就像ini文件里面的一个记录。Meta信息保存在数据库中，不和服务器同步。利用meta信息，您可以像利用ini文件那样，存储一些用户信息。在WizKnowledge自带的博客发布插件里面，就利用了Meta对象来存储用户数据。
&#160;

&#160;&#160;&#160;&#160;var objApp = new ActiveXObject(&#8220;WizExplorer.WizExplorerApp&#8221;);&#160;&#160;&#160;&#160;var database = objApp.Database;&#160;&#160;&#160;&#160;var settings_meta = &#8220;PublishHtml&#8221;;&#160;&#160;&#160;&#160;//&#160;&#160;&#160;&#160;&#8230;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;settings_meta = &#8220;PublishHtml_&#8221; + selected_documents.Item(0).Parent.RootFolder.Name;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//从数据库获得用户设置信息，来进行初始化&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;textAddress.value = database.Meta(settings_meta, &#8220;Address&#8221;);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;textPort.value = database.Meta(settings_meta, &#8220;Port&#8221;);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;textUserName.value = database.Meta(settings_meta, &#8220;UserName&#8221;);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;textPassword.value = database.Meta(settings_meta, &#8220;Password&#8221;);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;textImageWidth.value = database.Meta(settings_meta, &#8220;ImageWidth&#8221;);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;checkAutoAddMoreTag.checked = database.Meta(settings_meta, &#8220;AutoAddMoreTag&#8221;) == &#8220;1&#8243;;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;textCategory.value = database.Meta(settings_meta, &#8220;Category&#8221;);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//&#160;&#160;&#160;&#160;
&#160;&#160;&#160;&#160;&#8230;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//将用户数据保存到数据库里面&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;database.Meta(settings_meta, &#8220;Address&#8221;) = address;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;database.Meta(settings_meta, &#8220;Port&#8221;) = port;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;database.Meta(settings_meta, &#8220;UserName&#8221;) = username;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;database.Meta(settings_meta, &#8220;Password&#8221;) = password;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;database.Meta(settings_meta, &#8220;ImageWidth&#8221;) = textImageWidth.value;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;database.Meta(settings_meta, &#8220;AutoAddMoreTag&#8221;) = [...]]]></description>
		<wfw:commentRss>http://weishijun.com/p/1037/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wiz插件文档-IWizSettings, IWizSettingsSection</title>
		<link>http://weishijun.com/p/1036</link>
		<comments>http://weishijun.com/p/1036#comments</comments>
		<pubDate>Wed, 05 Jan 2011 02:00:00 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz插件文档]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/1036</guid>
		<description><![CDATA[

IWizSettings是WizKMCore.dll包含的一个COM对象。IWizSettings对象独立于数据库，因此您可以直接创建这个对象。
&#160;
IWizSettings主要用来操作WizKnowledge用户存储目录的WizKM.xml文件中，该文件名，可以通过WizExploer.WizExploerApp对象来获得这个文件名

&#160;
和IWizMeta不同，IWizSettings是保存在独立的Xml文件中，和数据库无关，是全局的设置。
&#160;
在WizKnowledge自带的朗读插件里面，有这个对象的使用方法：
&#160;

&#160;&#160;&#160;&#160;var objApp = new ActiveXObject(&#8220;WizExplorer.WizExplorerApp&#8221;);&#160;&#160;&#160;&#160;var objSettings = new ActiveXObject(&#8220;WizKMCore.WizSettings&#8221;);&#160;&#160;&#160;&#160;objSettings.Open(objApp.SettingsFileName);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//打开用户设置文件&#160;&#160;&#160;&#160;&#8230;&#160;&#160;&#160;&#160;var initName = objSettings.StringValue(&#8220;Plugin_Speech&#8221;, &#8220;VocieName&#8221;);&#160;&#160;&#160;&#160;//从设置里面获得用户信息&#160;&#160;&#160;&#160;&#8230;&#160;&#160;&#160;&#160;objSettings.StringValue(&#8220;Plugin_Speech&#8221;, &#8220;VocieName&#8221;) = selectVoiceName.value;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//保存用户信息到设置文件里面

&#160;

ProgID：WizKMCore.WizSettings
文件：WizKMCore.dll

IWizSettings对象
&#160;

[&#160;&#160;&#160;&#160;object,&#160;&#160;&#160;&#160;uuid(E3C896AD-3E1F-453E-800C-07A1837E2F23),&#160;&#160;&#160;&#160;dual,&#160;&#160;&#160;&#160;nonextensible,&#160;&#160;&#160;&#160;helpstring("IWizSettings Interface"),&#160;&#160;&#160;&#160;pointer_default(unique)]interface IWizSettings : IDispatch{
&#160;&#160;&#160;&#160;//打开设置文件&#160;&#160;&#160;&#160;[id(1), helpstring("method Open")] HRESULT Open([in] BSTR bstrFileName);
&#160;&#160;&#160;&#160;//关闭设置文件&#160;&#160;&#160;&#160;[id(2), helpstring("method Close")] HRESULT Close(void);
&#160;&#160;&#160;&#160;//判断设置文件是否已经修改了&#160;&#160;&#160;&#160;[propget, id(3), helpstring("property IsDirty")] HRESULT IsDirty([out, retval] VARIANT_BOOL* pVal);
&#160;&#160;&#160;&#160;//获得/设置一个字符串信息&#160;&#160;&#160;&#160;[propget, id(4), helpstring("property StringValue")] HRESULT StringValue([in] BSTR bstrSection, [in] BSTR bstrKey, [out, retval] BSTR* pVal);&#160;&#160;&#160;&#160;[propput, id(4), helpstring("property StringValue")] [...]]]></description>
		<wfw:commentRss>http://weishijun.com/p/1036/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wiz插件文档-IWizCommonUI</title>
		<link>http://weishijun.com/p/1035</link>
		<comments>http://weishijun.com/p/1035#comments</comments>
		<pubDate>Wed, 05 Jan 2011 02:00:00 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz插件文档]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/1035</guid>
		<description><![CDATA[IWizCommonUI是WizKMControls.dll包含的一个COM对象。IWizCommonUI主要提供了一些常用的对话框，界面操作，二次开发中常用的功能等等。
&#160;
IWizCommonUI提供了一些WizKnowledge的一些常用的对话框，例如获得用户信息，添加文档到日历对话框，选项对话框，新建/编辑日历事件对话框，关于对话框等等。

&#160;
IWizCommonUI还提供了一些通用的对话框，例如提示用户输入一个整数，输入一段文字，选择一个文件夹或者文件等等。
IWizCommonUI还提供了一些常用的操作，例如获得一个文件夹下面的文件或者子文件夹，注册表操作等等。
&#160;
&#160;

ProgID：WizKMControls.WizCommonUI
文件：WizKMControls.dll

&#160;
&#160;

[&#160;&#160;&#160;&#160;object,&#160;&#160;&#160;&#160;uuid(B671315F-B6FE-4799-AE50-AEA0848FBA05),&#160;&#160;&#160;&#160;dual,&#160;&#160;&#160;&#160;nonextensible,&#160;&#160;&#160;&#160;helpstring("IWizCommonUI Interface"),&#160;&#160;&#160;&#160;pointer_default(unique)]interface IWizCommonUI : IDispatch{
&#160;&#160;&#160;&#160;//显示一个对话框，请求用户输入用户名和密码。hWnd：当前窗口；pbstrUserName：返回用户输入的用户名；pbstrPassword：返回用户输入的密码&#160;&#160;&#160;&#160;[id(1), helpstring("method QueryUserAccount")] HRESULT QueryUserAccount([in] LONGLONG hWnd, [in, out] BSTR* pbstrUserName, [in, out] BSTR* pbstrPassword);
&#160;&#160;&#160;&#160;//添加文档到日历中。这个方法会出现一个对话框，提示用户输入参数。pDocumentDisp：文档对象，类型为IWizDocument；pbRet：用户是否点击了确定按钮&#160;&#160;&#160;&#160;[id(2), helpstring("method AddDocumentToCalendar")] HRESULT AddDocumentToCalendar([in] IDispatch* pDocumentDisp, [out,retval] VARIANT_BOOL* pbRet);
&#160;&#160;&#160;&#160;//创建一个日历事件。显示一个对话框，提示用户输入某些参数。pDatabaseDisp：数据库对象；dtEvent：事件开始时间；ppDocumentDisp：成功创建事件后，自动生成的文档&#160;&#160;&#160;&#160;[id(3), helpstring("method CreateCalendarEvent")] HRESULT CreateCalendarEvent([in] IDispatch* pDatabaseDisp, [in] DATE dtEvent, [out,retval] IDispatch** ppDocumentDisp);
&#160;&#160;&#160;&#160;//编辑日历事件。显示一个对话框，提示用户编辑。pDocumentDisp：文档对象，类型为IWizDocument；pbRet：用户是否点击了确定按钮&#160;&#160;&#160;&#160;[id(4), helpstring("method EditCalendarEvent")] HRESULT EditCalendarEvent([in] IDispatch* pDocumentDisp, [out,retval] VARIANT_BOOL* pbRet);
&#160;&#160;&#160;&#160;//显示关于对话框。bstrModuleName：EXE文件名&#160;&#160;&#160;&#160;[id(5), helpstring("method AboutBox")] HRESULT AboutBox([in] BSTR bstrModuleName);
&#160;&#160;&#160;&#160;//显示选项对话框。nFlags：保留，必须为0&#160;&#160;&#160;&#160;[id(6), [...]]]></description>
		<wfw:commentRss>http://weishijun.com/p/1035/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wiz插件文档-IWizBatchDownloader</title>
		<link>http://weishijun.com/p/1034</link>
		<comments>http://weishijun.com/p/1034#comments</comments>
		<pubDate>Wed, 05 Jan 2011 02:00:00 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz插件文档]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/1034</guid>
		<description><![CDATA[
IWizBatchDownloader是WizKMControls.dll包含的一个COM对象。IWizBatchDownloader主要用来进行批量下载网页或者导入文档。
&#160;
IWizBatchDownloader可以批量下载网页，或者导入文件，并且允许在导入后合并文档。在WizKnowledge自带的博客下载插件以及导入文件插件中，都使用了这个对象，您可以直接查看插件的源代码，获得一些使用的例子。

&#160;

ProgID：WizKMControls.WizBatchDownloader
文件：WizKMControls.dll

&#160;
&#160;

[&#160;&#160;&#160;&#160;object,&#160;&#160;&#160;&#160;uuid(49C2236A-6DA1-4AA9-BAD7-BF0DA94535A4),&#160;&#160;&#160;&#160;dual,&#160;&#160;&#160;&#160;nonextensible,&#160;&#160;&#160;&#160;helpstring("IWizBatchDownloader Interface"),&#160;&#160;&#160;&#160;pointer_default(unique)]interface IWizBatchDownloader : IDispatch{
&#160;&#160;&#160;&#160;//添加一个下载任务。&#160;&#160;&#160;&#160;//bstrDatabasePath：数据库路径&#160;&#160;&#160;&#160;//bstrLocation：文档保存位置&#160;&#160;&#160;&#160;//bstrURL：需要下载的网页URL或者需要导入的文件名。可以是doc/text/ppt/xls/jpg/bmp/png等等文件&#160;&#160;&#160;&#160;//bstrLinkText：链接文字，可以为空字符串&#160;&#160;&#160;&#160;//nUpdateDocumentFlags：更新文档的选项，请参看IWizDocument.UpdateDocument方法&#160;&#160;&#160;&#160;//vbLinkTextAsTitle：是否将链接文字作为文档标题&#160;&#160;&#160;&#160;//vbExecuteScript：是否执行html里面的代码&#160;&#160;&#160;&#160;[id(1), helpstring("method AddJob")] HRESULT AddJob([in] BSTR bstrDatabasePath, [in] BSTR bstrLocation, [in] BSTR bstrURL, [in] BSTR bstrLinkText, [in] LONG nUpdateDocumentFlags, [in] VARIANT_BOOL vbLinkTextAsTitle, [in] VARIANT_BOOL vbExecuteScript);
&#160;&#160;&#160;&#160;//从text文件添加链接。text文件里面，每行一个链接。&#160;&#160;&#160;&#160;//bstrTextFileName：text文件名。&#160;&#160;&#160;&#160;//其它参数同AddJob方法&#160;&#160;&#160;&#160;[id(2), helpstring("method AddJobsFromTextFile")] HRESULT AddJobsFromTextFile([in] BSTR bstrDatabasePath, [in] BSTR bstrLocation, [in] BSTR bstrTextFileName, [in] LONG nUpdateDocumentFlags, [in] VARIANT_BOOL vbExecuteScript);
&#160;&#160;&#160;&#160;//显示批量下载窗口。vbStartDownload：是否自动开始下载&#160;&#160;&#160;&#160;[id(3), helpstring("method ShowWindow")] HRESULT ShowWindow(VARIANT_BOOL vbStartDownload);
&#160;&#160;&#160;&#160;//获得/设置是否在下载完成后，将下载的文档合并成一个新的文档&#160;&#160;&#160;&#160;[propget, id(4), helpstring("property CombineDocuments")] [...]]]></description>
		<wfw:commentRss>http://weishijun.com/p/1034/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wiz插件文档-IWizIECapture</title>
		<link>http://weishijun.com/p/1033</link>
		<comments>http://weishijun.com/p/1033#comments</comments>
		<pubDate>Wed, 05 Jan 2011 02:00:00 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz插件文档]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/1033</guid>
		<description><![CDATA[

IWizIECapture是NPWizWebCapture.dll包含的一个COM对象。IWizIECapture主要用来保存网页，例如在IE里面保存网页。
&#160;
IWizIECapture可以在浏览器内程序调用，让您的浏览器程序很容易的增加网页保存功能。

&#160;

ProgID：WizWebCapture.WizIECapture
文件：NPWizWebCapture.dll

&#160;
&#160;

[&#160;&#160;&#160;&#160;object,&#160;&#160;&#160;&#160;uuid(502644EE-7301-457B-A77D-8BC3329AEA21),&#160;&#160;&#160;&#160;dual,&#160;&#160;&#160;&#160;nonextensible,&#160;&#160;&#160;&#160;helpstring("IWizIECapture Interface"),&#160;&#160;&#160;&#160;pointer_default(unique)]interface IWizIECapture : IDispatch{
&#160;&#160;&#160;&#160;//保存一个网页。pHtmlDocument2Disp：IHTMLDocument2对象；vbSaveSel：是否保存选中部分；返回值：保存成功的IWizDocument对象&#160;&#160;&#160;&#160;[id(1), helpstring("method Save")] HRESULT Save([in] IDispatch* pHtmlDocument2Disp, [in] VARIANT_BOOL vbSaveSel, [out,retval] IDispatch** ppWizDocumentDisp);
&#160;&#160;&#160;&#160;//在后台保存网页，避免一直占用浏览器前台，让用户无法操作。pHtmlDocument2Disp：IHTMLDocument2对象；vbSaveSel：是否保存选中部分。&#160;&#160;&#160;&#160;[id(2), helpstring("method BackgroundSave")] HRESULT BackgroundSave([in] IDispatch* pHtmlDocument2Disp, [in] VARIANT_BOOL vbSaveSel);
&#160;&#160;&#160;&#160;//获得或者设置数据库路径&#160;&#160;&#160;&#160;[propget, id(3), helpstring("property DatabasePath")] HRESULT DatabasePath([out, retval] BSTR* pVal);&#160;&#160;&#160;&#160;[propput, id(3), helpstring("property DatabasePath")] HRESULT DatabasePath([in] BSTR newVal);};

在WizKnowledge安装目录下面的save.htm文件中，有这个对象的使用方法：
&#160;

function OnContextMenu(){&#160;&#160;&#160;&#160;var objCapture= null;&#160;&#160;&#160;&#160;//&#160;&#160;&#160;&#160;try&#160;&#160;&#160;&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;objCapture = new ActiveXObject(&#8220;WizWebCapture.WizIECapture&#8221;);&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;catch ( e)&#160;&#160;&#160;&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;alert(&#8220;WizBrother WebCapture haven&#8217;t installed in your computer!&#8221;);&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;//&#160;&#160;&#160;&#160;try&#160;&#160;&#160;&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;objCapture.BackgroundSave(external.menuArguments.document, [...]]]></description>
		<wfw:commentRss>http://weishijun.com/p/1033/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wiz插件文档-IWizFolderTreeCtrl</title>
		<link>http://weishijun.com/p/1032</link>
		<comments>http://weishijun.com/p/1032#comments</comments>
		<pubDate>Wed, 05 Jan 2011 02:00:00 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz插件文档]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/1032</guid>
		<description><![CDATA[IWizFolderTreeCtrl是WizKMControls.dll所包含的一个ActiveX控件，利用这个控件，可以显示WizKnowledge的目录结构，以便用户选择一个WizKnowledge文件夹。同时，这个控件还包含了各种用户操作，用户通过右键菜单，可以实现多种操作。
&#160;
您可以在网页里面直接使用这个控件，也可以在其它的高级语言里面使用，例如C++，VB，C#，Delphi等等。在WizKnowledge自带的博客下栽插件中，有这个控件的使用例子(在html里面使用)。您可以直接查看插件的源代码，来获得使用方法。

&#160;

ProgID：WizKMControls.WizFolderTreeCtrl
文件：WizKMControls.dll

&#160;
&#160;

[&#160;&#160;&#160;&#160;object,&#160;&#160;&#160;&#160;uuid(C4CE9188-C153-49D1-BC69-345B1AD693E8),&#160;&#160;&#160;&#160;dual,&#160;&#160;&#160;&#160;nonextensible,&#160;&#160;&#160;&#160;helpstring("IWizFolderTreeCtrl Interface"),&#160;&#160;&#160;&#160;pointer_default(unique)]interface IWizFolderTreeCtrl : IDispatch{
&#160;&#160;&#160;&#160;//获得/设置数据库对象，类型为IWizDatabase&#160;&#160;&#160;&#160;[propget, id(1), helpstring("property Database")] HRESULT Database([out, retval] IDispatch** pVal);&#160;&#160;&#160;&#160;[propput, id(1), helpstring("property Database")] HRESULT Database([in] IDispatch* newVal);
&#160;&#160;&#160;&#160;//获得/设置用户选中的文件夹对象，类型为IWizFolder&#160;&#160;&#160;&#160;[propget, id(2), helpstring("property SelectedFolder")] HRESULT SelectedFolder([out, retval] IDispatch** pVal);&#160;&#160;&#160;&#160;[propput, id(2), helpstring("property SelectedFolder")] HRESULT SelectedFolder([in] IDispatch* newVal);
&#160;&#160;&#160;&#160;//获得/设置用来保存文件夹状态的section名称&#160;&#160;&#160;&#160;[propget, id(3), helpstring("property StateSection")] HRESULT StateSection([out, retval] BSTR* pVal);&#160;&#160;&#160;&#160;[propput, id(3), helpstring("property StateSection")] HRESULT StateSection([in] BSTR newVal);
&#160;&#160;&#160;&#160;//获得/设置是否显示边框&#160;&#160;&#160;&#160;[propget, id(4), helpstring("property Border")] HRESULT Border([out, [...]]]></description>
		<wfw:commentRss>http://weishijun.com/p/1032/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wiz插件文档-IWizTagTreeCtrl</title>
		<link>http://weishijun.com/p/1031</link>
		<comments>http://weishijun.com/p/1031#comments</comments>
		<pubDate>Wed, 05 Jan 2011 02:00:00 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz插件文档]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/1031</guid>
		<description><![CDATA[
IWizTagTreeCtrl是WizKMControls.dll所包含的一个ActiveX控件，利用这个控件，可以显示WizKnowledge的标签结构，以便用户选择一个或者多个WizKnowledge标签。同时，这个控件还包含了各种用户操作，用户通过右键菜单，可以实现多种操作。
&#160;

您可以在网页里面直接使用这个控件，也可以在其它的高级语言里面使用，例如C++，VB，C#，Delphi等等。
&#160;

ProgID：WizKMControls.WizTagTreeCtrl
文件：WizKMControls.dll

&#160;
&#160;
[&#160;&#160;&#160;&#160;object,&#160;&#160;&#160;&#160;uuid(30799F2F-3377-4326-818E-1A4BF3CB715A),&#160;&#160;&#160;&#160;dual,&#160;&#160;&#160;&#160;nonextensible,&#160;&#160;&#160;&#160;helpstring("IWizTagTreeCtrl Interface"),&#160;&#160;&#160;&#160;pointer_default(unique)]interface IWizTagTreeCtrl : IDispatch{
&#160;&#160;&#160;&#160;//获得/设置数据库对象，类型为IWizDatabase&#160;&#160;&#160;&#160;[propget, id(1), helpstring("property Database")] HRESULT Database([out, retval] IDispatch** pVal);&#160;&#160;&#160;&#160;[propput, id(1), helpstring("property Database")] HRESULT Database([in] IDispatch* newVal);
&#160;&#160;&#160;&#160;//获得/设置用户选中的标签。类型为IWizTagCollection&#160;&#160;&#160;&#160;[propget, id(2), helpstring("property SelectedTags")] HRESULT SelectedTags([out, retval] IDispatch** pVal);&#160;&#160;&#160;&#160;[propput, id(2), helpstring("property SelectedTags")] HRESULT SelectedTags([in] IDispatch* newVal);
&#160;&#160;&#160;&#160;//获得/设置状态section&#160;&#160;&#160;&#160;[propget, id(3), helpstring("property StateSection")] HRESULT StateSection([out, retval] BSTR* pVal);&#160;&#160;&#160;&#160;[propput, id(3), helpstring("property StateSection")] HRESULT StateSection([in] BSTR newVal);
&#160;&#160;&#160;&#160;//获得/设置是否显示边框&#160;&#160;&#160;&#160;[propget, id(4), helpstring("property Border")] HRESULT Border([out, [...]]]></description>
		<wfw:commentRss>http://weishijun.com/p/1031/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wiz插件文档-IWizStyleListBox</title>
		<link>http://weishijun.com/p/1030</link>
		<comments>http://weishijun.com/p/1030#comments</comments>
		<pubDate>Wed, 05 Jan 2011 02:00:00 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz插件文档]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/1030</guid>
		<description><![CDATA[

IWizStyleListBox是WizKMControls.dll所包含的一个ActiveX控件，利用这个控件，可以显示WizKnowledge的样式列表，以便用户选择一个WizKnowledge样式。同时，这个控件还包含了各种用户操作，用户通过右键菜单，可以实现多种操作。

&#160;
您可以在网页里面直接使用这个控件，也可以在其它的高级语言里面使用，例如C++，VB，C#，Delphi等等。
&#160;

ProgID：WizKMControls.WizStyleListBox
文件：WizKMControls.dll

&#160;
[&#160;&#160;&#160;&#160;object,&#160;&#160;&#160;&#160;uuid(F5AE7BE3-B10A-464A-8A4C-AA8D33E9B272),&#160;&#160;&#160;&#160;dual,&#160;&#160;&#160;&#160;nonextensible,&#160;&#160;&#160;&#160;helpstring("IWizStyleListBox Interface"),&#160;&#160;&#160;&#160;pointer_default(unique)]interface IWizStyleListBox : IDispatch{
&#160;&#160;&#160;&#160;//获得/设置数据库对象&#160;&#160;&#160;&#160;[propget, id(1), helpstring("property Database")] HRESULT Database([out, retval] IDispatch** pVal);&#160;&#160;&#160;&#160;[propput, id(1), helpstring("property Database")] HRESULT Database([in] IDispatch* newVal);
&#160;&#160;&#160;&#160;//获得/设置选中的样式，类型为IWizStyle&#160;&#160;&#160;&#160;[propget, id(2), helpstring("property SelectedStyle")] HRESULT SelectedStyle([out, retval] IDispatch** pVal);&#160;&#160;&#160;&#160;[propput, id(2), helpstring("property SelectedStyle")] HRESULT SelectedStyle([in] IDispatch* newVal);
&#160;&#160;&#160;&#160;//获得/设置状态section&#160;&#160;&#160;&#160;[propget, id(3), helpstring("property StateSection")] HRESULT StateSection([out, retval] BSTR* pVal);&#160;&#160;&#160;&#160;[propput, id(3), helpstring("property StateSection")] HRESULT StateSection([in] BSTR newVal);
&#160;&#160;&#160;&#160;//获得/设置是否显示边框&#160;&#160;&#160;&#160;[propget, id(4), helpstring("property Border")] HRESULT Border([out, [...]]]></description>
		<wfw:commentRss>http://weishijun.com/p/1030/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wiz插件文档-IWizDocumentListCtrl</title>
		<link>http://weishijun.com/p/1029</link>
		<comments>http://weishijun.com/p/1029#comments</comments>
		<pubDate>Wed, 05 Jan 2011 02:00:00 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz插件文档]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/1029</guid>
		<description><![CDATA[


IWizDocumentListCtrl是WizKMControls.dll所包含的一个ActiveX控件，利用这个控件，可以显示WizKnowledge的文档列表，以便用户选择一个或者多个WizKnowledge文档。同时，这个控件还包含了各种用户操作，用户通过右键菜单，可以实现多种操作。

&#160;
您可以在网页里面直接使用这个控件，也可以在其它的高级语言里面使用，例如C++，VB，C#，Delphi等等。
&#160;

ProgID：WizKMControls.WizDocumentListCtrl
文件：WizKMControls.dll

&#160;
[&#160;&#160;&#160;&#160;object,&#160;&#160;&#160;&#160;uuid(C128ECE0-A006-4E57-8054-4CBC49818231),&#160;&#160;&#160;&#160;dual,&#160;&#160;&#160;&#160;nonextensible,&#160;&#160;&#160;&#160;helpstring("IWizDocumentListCtrl Interface"),&#160;&#160;&#160;&#160;pointer_default(unique)]interface IWizDocumentListCtrl : IDispatch{
&#160;&#160;&#160;&#160;//获得/设置数据库对象&#160;&#160;&#160;&#160;[propget, id(1), helpstring("property Database")] HRESULT Database([out, retval] IDispatch** pVal);&#160;&#160;&#160;&#160;[propput, id(1), helpstring("property Database")] HRESULT Database([in] IDispatch* newVal);
&#160;&#160;&#160;&#160;//获得/设置用户选中的文档列表，类型为IWizDocumentCollection&#160;&#160;&#160;&#160;[propget, id(2), helpstring("property SelectedDocuments")] HRESULT SelectedDocuments([out, retval] IDispatch** pVal);&#160;&#160;&#160;&#160;[propput, id(2), helpstring("property SelectedDocuments")] HRESULT SelectedDocuments([in] IDispatch* newVal);
&#160;&#160;&#160;&#160;//获得/设置状态section&#160;&#160;&#160;&#160;[propget, id(3), helpstring("property StateSection")] HRESULT StateSection([out, retval] BSTR* pVal);&#160;&#160;&#160;&#160;[propput, id(3), helpstring("property StateSection")] HRESULT StateSection([in] BSTR newVal);
&#160;&#160;&#160;&#160;//获得/设置是否显示边框&#160;&#160;&#160;&#160;[propget, id(4), helpstring("property Border")] HRESULT Border([out, [...]]]></description>
		<wfw:commentRss>http://weishijun.com/p/1029/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wiz插件文档-IWizDocumentAttachmentListCtrl</title>
		<link>http://weishijun.com/p/1028</link>
		<comments>http://weishijun.com/p/1028#comments</comments>
		<pubDate>Wed, 05 Jan 2011 02:00:00 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz插件文档]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/1028</guid>
		<description><![CDATA[



IWizDocumentAttachmentListCtrl是WizKMControls.dll所包含的一个ActiveX控件，利用这个控件，可以显示WizKnowledge的文档列表，以便用户选择一个或者多个WizKnowledge文档。同时，这个控件还包含了各种用户操作，用户通过右键菜单，可以实现多种操作。

&#160;
您可以在网页里面直接使用这个控件，也可以在其它的高级语言里面使用，例如C++，VB，C#，Delphi等等。
&#160;

ProgID：WizKMControls.WizDocumentAttachmentListCtrl
文件：WizKMControls.dll

&#160;
[&#160;&#160;&#160;&#160;object,&#160;&#160;&#160;&#160;uuid(39B2717D-7FDA-4EDD-91A4-0173FD35B871),&#160;&#160;&#160;&#160;dual,&#160;&#160;&#160;&#160;nonextensible,&#160;&#160;&#160;&#160;helpstring("IWizDocumentAttachmentListCtrl Interface"),&#160;&#160;&#160;&#160;pointer_default(unique)]interface IWizDocumentAttachmentListCtrl : IDispatch{
&#160;&#160;&#160;&#160;//获得/设置数据库对象，类型为IWizDatabase&#160;&#160;&#160;&#160;[propget, id(1), helpstring("property Database")] HRESULT Database([out, retval] IDispatch** pVal);&#160;&#160;&#160;&#160;[propput, id(1), helpstring("property Database")] HRESULT Database([in] IDispatch* newVal);
&#160;&#160;&#160;&#160;//获得/设置附件列表所属的文档对象，类型为IWizDocument&#160;&#160;&#160;&#160;[propget, id(2), helpstring("property Document")] HRESULT Document([out, retval] IDispatch** pVal);&#160;&#160;&#160;&#160;[propput, id(2), helpstring("property Document")] HRESULT Document([in] IDispatch* newVal);
&#160;&#160;&#160;&#160;//获得/设置用户选中的附件对象，类型为IWizDocumentAttachmentCollection&#160;&#160;&#160;&#160;[propget, id(3), helpstring("property SelectedAttachments")] HRESULT SelectedAttachments([out, retval] IDispatch** pVal);&#160;&#160;&#160;&#160;[propput, id(3), helpstring("property SelectedAttachments")] HRESULT SelectedAttachments([in] IDispatch* newVal);
&#160;&#160;&#160;&#160;//获得/设置是否显示边框&#160;&#160;&#160;&#160;[propget, id(4), helpstring("property Border")] HRESULT Border([out, [...]]]></description>
		<wfw:commentRss>http://weishijun.com/p/1028/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wiz插件文档-整体框架</title>
		<link>http://weishijun.com/p/854</link>
		<comments>http://weishijun.com/p/854#comments</comments>
		<pubDate>Wed, 05 Jan 2011 02:00:00 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/854</guid>
		<description><![CDATA[Wiz提供了丰富的二次开发功能，下面简单介绍Wiz的整体框架。
&#160;
WizExplorerApp对象
在Wiz二次开发中，WizExplorerApp是一个非常重要的对象。该对象在WizExplorer启动的时候创建，脚本或者插件可以直接获得该对象。在插件html文件中，javascript可以通过 window.external来获得该对象。

例如：





&#60;script&#62;
var objApp = window.external;
&#60;/script&#62;






在直接执行的js脚本中，javascript可以通过内置的对象获得：





var objApp = WizExplorerApp;





&#160;
WizExplorerWindow对象
这是WizExplorer的窗口对象，提供了获得Wiz界面控件的方法。该对象可以通过WizExplorerApp后的，如下：




var objWindow = objApp.Window;




&#160;
在插件开发中，通过WizExplorerApp和WizExplorerWindow，可以获得Wiz当前的数据库，界面信息。
&#160;
例子
&#160;
附件中有一个简单的插件例子，可以下载试用。另外Wiz所有的插件，都是开源的，您可以直接到插件目录里面看到所有的插件源代码。
&#160;

通过Wiz发布


附件列表

wizsamples.zip


&#160;
]]></description>
		<wfw:commentRss>http://weishijun.com/p/854/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wiz插件文档-IWizExplorerWindow</title>
		<link>http://weishijun.com/p/973</link>
		<comments>http://weishijun.com/p/973#comments</comments>
		<pubDate>Tue, 04 Jan 2011 09:06:47 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz插件文档]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/973</guid>
		<description><![CDATA[该对象提供了访问Wiz主界面的功能，可以获得Wiz的一些界面控件，或者设置一些控件的状态。
&#160;
idl文件：WizExplorer.idl
&#160;







[
&#160;&#160;&#160;&#160;object,
&#160;&#160;&#160;&#160;uuid(B15879A3-8647-4d6f-84D8-3A24709EC962),
&#160;&#160;&#160;&#160;dual,
&#160;&#160;&#160;&#160;nonextensible,
&#160;&#160;&#160;&#160;helpstring("IWizExplorerWindow Interface"),
&#160;&#160;&#160;&#160;pointer_default(unique)
]
interface IWizExplorerWindow : IDispatch{
&#160;&#160;&#160;&#160;//已经失效，请勿使用
&#160;&#160;&#160;&#160;[propget, id(1), helpstring("property CurrentCatalogView")] HRESULT CurrentCatalogView([out, retval] BSTR* pVal);
&#160;

&#160;&#160;&#160;&#160;//已经失效，请勿使用
&#160;&#160;&#160;&#160;[propput, id(1), helpstring("property CurrentCatalogView")] HRESULT CurrentCatalogView([in] BSTR newVal);
&#160;
&#160;&#160;&#160;&#160;//获得文件夹树控件对象。类型为：WizFolderTreeCtrl
&#160;&#160;&#160;&#160;[propget, id(2), helpstring("property FoldersCtrl")] HRESULT FoldersCtrl([out, retval] IDispatch** pVal);
&#160;
&#160;&#160;&#160;&#160;//获得标签树控件对象。类型为：WizTagTreeCtrl
&#160;&#160;&#160;&#160;[propget, id(3), helpstring("property TagsCtrl")] HRESULT TagsCtrl([out, retval] IDispatch** pVal);
&#160;
&#160;&#160;&#160;&#160;//获得样式列表控件对象。类型为：WizStyleListBox
&#160;&#160;&#160;&#160;[propget, id(4), helpstring("property StylesCtrl")] HRESULT StylesCtrl([out, retval] IDispatch** pVal);
&#160;
&#160;&#160;&#160;&#160;//获得文档列表控件对象。类型为：WizDocumentListCtrl&#160;
&#160;&#160;&#160;&#160;[propget, id(5), helpstring("property DocumentsCtrl")] HRESULT DocumentsCtrl([out, retval] IDispatch** pVal);
&#160;
&#160;&#160;&#160;&#160;//获得主窗口的句柄
&#160;&#160;&#160;&#160;[propget, id(6), helpstring("property HWND")] [...]]]></description>
		<wfw:commentRss>http://weishijun.com/p/973/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wiz插件文档-IWizExplorerApp</title>
		<link>http://weishijun.com/p/972</link>
		<comments>http://weishijun.com/p/972#comments</comments>
		<pubDate>Tue, 04 Jan 2011 08:30:55 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz插件文档]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/972</guid>
		<description><![CDATA[该对象是Wiz二次开发中最重要的一个对象，在插件html或者js脚本中，都可以直接访问。具体方法看这里：Wiz插件文档-整体框架
&#160;
idl文件：WizExplorer.idl
&#160;






[
&#160;&#160;&#160;&#160;object,
&#160;&#160;&#160;&#160;uuid(43C4CF61-5D88-4beb-B593-793A2251A491),
&#160;&#160;&#160;&#160;dual,
&#160;&#160;&#160;&#160;nonextensible,
&#160;&#160;&#160;&#160;helpstring("IWizExplorerApp Interface"),
&#160;&#160;&#160;&#160;pointer_default(unique)
]
interface IWizExplorerApp : IDispatch{
&#160;&#160;&#160; //获得当前打开的数据库。类型是：WizDatabase
&#160;&#160;&#160;&#160;[propget, id(1), helpstring("property Database")] HRESULT Database([out, retval] IDispatch** pVal);&#160;&#160;&#160;&#160;
&#160;
&#160;&#160;&#160;&#160;//获得当前窗口对象。WizExplorerWindow
&#160;&#160;&#160;&#160;[propget, id(2), helpstring("property Window")] HRESULT Window([out, retval] IDispatch** pVal);&#160;&#160;&#160;&#160;
&#160;
&#160;&#160;&#160;&#160;//获得Wiz安装路径，路径名后面包含反斜杠，例如：C:\Program files\WizBrother\Wiz\
&#160;&#160;&#160;&#160;[propget, id(3), helpstring("property AppPath")] HRESULT AppPath([out, retval] BSTR* pVal);&#160;&#160;&#160;&#160;
&#160;
&#160;&#160;&#160;&#160;//获得当前使用的数据库存储文件夹，例如：D:\My Documents\My Knowledge\
&#160;&#160;&#160;&#160;[propget, id(4), helpstring("property DataStore")] HRESULT DataStore([out, retval] BSTR* pVal);&#160;&#160;&#160;&#160;
&#160;
&#160;&#160;&#160;&#160;//获得当前使用的设置文件，通常给WizSettings对象使用，例如：D:\My Documents\My Knowledge\WizKM.xml
&#160;&#160;&#160;&#160;[propget, id(5), helpstring("property SettingsFileName")] HRESULT SettingsFileName([out, retval] BSTR* pVal);&#160;&#160;&#160;&#160;
&#160;
&#160;&#160;&#160;&#160;//获得当前使用的log文件名，例如：D:\My Documents\My Knowledge\WizKM.log
&#160;&#160;&#160;&#160;[propget, id(6), helpstring("property [...]]]></description>
		<wfw:commentRss>http://weishijun.com/p/972/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wiz助手插件开发(6)</title>
		<link>http://weishijun.com/p/966</link>
		<comments>http://weishijun.com/p/966#comments</comments>
		<pubDate>Tue, 04 Jan 2011 07:29:56 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz二次开发]]></category>
		<category><![CDATA[Wiz插件]]></category>
		<category><![CDATA[知识管理]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/966</guid>
		<description><![CDATA[本次更新，增加了标签云过滤功能，增加了通过星标来查询，统计的功能。在插件菜单下独立加入标签云菜单等。
&#160;
1、在插件菜单下面增加标签云菜单
打开plugin.ini文件，增加插件：






&#160;
PluginCount=4
&#160;

[Plugin_1]
Caption=Tag cloud
Caption_2052=标签云
Caption_1028=Tag云
GUID={F37B226E-4E10-4305-BEDC-D8E22A85B5C2}
ScriptFileName=opentagscloud.js
Type=ExecuteScript 





&#160;
在这里增加了更多的插件，数量达到4个。其中新增的插件，类型都是直接ExecuteScript。也就是说，在用户点击相应的插件菜单后，直接运行一个js脚本文件。
其中脚本文件很简单，我们直接调用Wiz功能，打开一个html文件即可，如下：





var objApp = WizExplorerApp
var objWindow = objApp.Window;
//
var pluginPath = objApp.GetPluginPathByScriptFileName(&#8220;km.js&#8221;); //获得插件的路径
objWindow.ViewHtml(pluginPath + &#8220;tagscloud.htm&#8221;, true);





&#160;
注意：对于直接执行的脚本文件，Wiz内置了一个对象，名称是WizExplorerApp，用于访问Wiz内部对象，和Wiz交互。
脚本中直接调用Wiz的窗口对象，打开一个html文件，该html文件显示了标签云。
&#160;
效果：Wiz插件菜单，显示了我们定义的插件的菜单，点击后就会在Wiz内部打开tagscloud.htm文件。

&#160;
2、给标签云增加过滤功能
&#160;
在html里面加入一个编辑框，并响应用户输入的消息。





function textFilter_onchange() {
ResetTags();
}
//
document.onkeyup = function() {
ResetTags();
} 




&#160;
ResetTags函数：根据用户输入的内容过滤标签：






function ResetTags() {
//
divTags.innerHTML = &#8220;&#8221;;
//
var filter = textFilter.value;
if (filter == null)
filter = &#8220;&#8221;;
filter = filter.toLowerCase();
//
for (var i = 0; i &#60; tags.length; i++) {
//class=&#8221;";
var tag = tags[i].tag;
var count = tags[i].count;
//
if (filter != null &#38;&#38; [...]]]></description>
		<wfw:commentRss>http://weishijun.com/p/966/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wiz助手插件开发(5)</title>
		<link>http://weishijun.com/p/935</link>
		<comments>http://weishijun.com/p/935#comments</comments>
		<pubDate>Mon, 03 Jan 2011 21:41:58 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz二次开发]]></category>
		<category><![CDATA[Wiz插件]]></category>
		<category><![CDATA[知识管理]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/935</guid>
		<description><![CDATA[增加了普通的标签云。之前版本的3D标签云比较晃眼，因此增加了一个普通的标签云。
&#160;
同时增加了通过文档数量计算标签字体大小的功能，这样文档多的标签，就会显示的更大。
主要代码：





//
var objApp = window.external; //WizExplorerApp
var objDatabase = objApp.Database;
var pluginPath = objApp.GetPluginPathByScriptFileName(&#8220;km.js&#8221;); //获得插件的路径
var languangeFileName = pluginPath + &#8220;plugin.ini&#8221;; //语言文件
//
document.title = objApp.LoadStringFromFile(languangeFileName, &#8220;Tag Cloud&#8221;); //本地化文档标题
//
//获得所有的文档标签对应的文档数量的数据，如果用常规的标签云，则应该根据文档的数量，决定标签文字的大小。
//返回的数据是一个safearray(VB类型的数组)，因此需要转换为javascript的数组。 (new VBArray(xx)).toArray();
//数组里面的每一个元素，是一个字符串，类似12=xxxx-xxx-xxx-xxx
//等号前面的数字表示文档数量，后面的字符串是标签的guid。可以通过guid获得标签的对象。
//
//
var arrayTags = objDatabase.GetAllTagsDocumentCount(0);
var tagsdata = (new VBArray(arrayTags)).toArray();
//
var tags = [];
//
var minCount = 1000000;
var maxCount = 0;
//
for (var i = 0; i &#60; tagsdata.length; i++) {
var line = tagsdata[i];
//
var arr = [...]]]></description>
		<wfw:commentRss>http://weishijun.com/p/935/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wiz助手插件开发(4)</title>
		<link>http://weishijun.com/p/932</link>
		<comments>http://weishijun.com/p/932#comments</comments>
		<pubDate>Mon, 03 Jan 2011 19:09:38 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz二次开发]]></category>
		<category><![CDATA[Wiz插件]]></category>
		<category><![CDATA[知识管理]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/932</guid>
		<description><![CDATA[本次更新实现了标签云（一个很酷的3D的标签云，不过我觉得不太好用，老是转来转去的）。
&#160;
使用的标签云效果来自：http://www.miaov.com/miaov_demo/3dLable/miaov_demo.html

&#160;
1、添加标签云按钮。
打开km.htm文件，增加一个按钮，然后响应消息：
&#160;





//
function buttonTagsCloud_onclick() {
objWindow.ViewHtml(pluginPath + &#8220;tagscloud.htm&#8221;, true);
} 




&#160;
2、编辑tagscloud.htm文件。
主要就是将标签云数据动态生成，代码如下：
&#160;






//
var objApp = window.external; //WizExplorerApp
var objDatabase = objApp.Database;
var pluginPath = objApp.GetPluginPathByScriptFileName(&#8220;km.js&#8221;); //获得插件的路径
var languangeFileName = pluginPath + &#8220;plugin.ini&#8221;; //语言文件
//
document.title = objApp.LoadStringFromFile(languangeFileName, &#8220;Tag Cloud&#8221;); //本地化文档标题
//
//获得所有的文档标签对应的文档数量的数据，如果用常规的标签云，则应该根据文档的数量，决定标签文字的大小。
//返回的数据是一个safearray(VB类型的数组)，因此需要转换为javascript的数组。 (new VBArray(xx)).toArray();
//数组里面的每一个元素，是一个字符串，类似12=xxxx-xxx-xxx-xxx
//等号前面的数字表示文档数量，后面的字符串是标签的guid。可以通过guid获得标签的对象。
//
//
var arrayTags = objDatabase.GetAllTagsDocumentCount(0);
var tagsdata = (new VBArray(arrayTags)).toArray();
//
var tags = [];
//
for (var i = 0; i &#60; tagsdata.length; i++) {
var line = tagsdata[i];
//
var arr = [...]]]></description>
		<wfw:commentRss>http://weishijun.com/p/932/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Wiz助手插件开发(3)</title>
		<link>http://weishijun.com/p/928</link>
		<comments>http://weishijun.com/p/928#comments</comments>
		<pubDate>Sun, 02 Jan 2011 18:01:50 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz二次开发]]></category>
		<category><![CDATA[Wiz插件]]></category>
		<category><![CDATA[知识管理]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/928</guid>
		<description><![CDATA[目标：实现给文档设置作者，关键字，打星标，同时能够实现文档中自动给出现的关键字或者作者增加链接，点击后列出相关的文档（类似将标签转换为链接的功能）。
同时将标签转换为链接的插件功能包含进来。
&#160;
1、允许给文档设置作者，关键字，打星标。
&#160;
首先我们应该在用户点击知识管理按钮的时候，显示一个下拉窗口，在里面完成上面的工作。

&#160;
打开km.js文件，有以下内容：






/*
添加知识管理按钮并且相应该按钮消息，显示一个下拉框，该下拉框内容是一个html文件
*/

function OnKMButtonClicked() {
var pluginPath = objApp.GetPluginPathByScriptFileName(&#8220;km.js&#8221;);
var bookmarksListHtmlFileName = pluginPath + &#8220;km.htm&#8221;;
//
var rect = objWindow.GetToolButtonRect(&#8220;document&#8221;, &#8220;KMButton&#8221;);
var arr = rect.split(&#8216;,&#8217;);
objWindow.ShowSelectorWindow(bookmarksListHtmlFileName, arr[0], arr[3], 300, 500, &#8220;&#8221;);
}
function InitKMButton() {
var pluginPath = objApp.GetPluginPathByScriptFileName(&#8220;km.js&#8221;);
var languangeFileName = pluginPath + &#8220;plugin.ini&#8221;;
var buttonText = objApp.LoadStringFromFile(languangeFileName, &#8220;strKM&#8221;);
objWindow.AddToolButton(&#8220;document&#8221;, &#8220;KMButton&#8221;, buttonText, &#8220;&#8221;, &#8220;OnKMButtonClicked&#8221;);
}

InitKMButton(); 




&#160;
上面的代码，就实现了这个功能。下拉窗口显示的内容，就是km.htm文件。我们在插件文件夹里面，建立一个km.htm文件，用html编辑器或者文本编辑器，编辑该文件，实现下面的界面：

用户可以在这里输入关键字，作者，打星标的功能，通过可以通过关键字或者作者搜索相关的文档。
km.htm里面的代码：
&#160;






&#60;script language=&#8221;javascript&#8221; type=&#8221;text/javascript&#8221;&#62;
/*
Wiz显示插件html窗口的时候（如html对话框或者下拉框），html窗口的external对象，就是WizExplorerApp对象。
通过这个对象，可以获得当前正在运行的Wiz的一些内部对象，并调用Wiz的响应功能。
*/
var objApp = window.external; //WizExplorerApp
var objDatabase = objApp.Database;
var objWindow = objApp.Window;
var objDoc [...]]]></description>
		<wfw:commentRss>http://weishijun.com/p/928/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wiz追加保存网页的时候，在不同网页中间插入空行等分割内容</title>
		<link>http://weishijun.com/p/925</link>
		<comments>http://weishijun.com/p/925#comments</comments>
		<pubDate>Fri, 31 Dec 2010 01:24:47 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/925</guid>
		<description><![CDATA[默认情况下，追加保存网页的时候，不同文档之间，不会插入空行或者水平线等。如果需要插入空行或者水平线等其他内容，则可以按照下面的方式操作：
&#160;
1：打开Wiz，找到已删除文件夹，随意新建几个文档，如下：


&#160;
2：选中这些文档，点击右键，选择合并，出现以下对话框：

&#160;
3：在对话框里面选中“在文章之间插入分割HTML”，同时在下面的编辑框里面输入内容
&#60;hr /&#62;：水平线
&#60;br /&#62;：空行
&#160;
4：点击确定按钮即可。
&#160;
以后追加保存网页的时候，就可以在不同文档中间插入水平线或者空行了。
&#160;
&#160;

通过Wiz发布

]]></description>
		<wfw:commentRss>http://weishijun.com/p/925/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wiz 1.06 常用快捷键</title>
		<link>http://weishijun.com/p/921</link>
		<comments>http://weishijun.com/p/921#comments</comments>
		<pubDate>Thu, 30 Dec 2010 11:54:56 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/921</guid>
		<description><![CDATA[快捷键，仅在Wiz里面有效
Alt+D：设置键盘焦点到搜索框Ctrl+W：关闭当前TabESC/F11：全屏Ctrl+N：新建文档F4 / Ctrl+E：编辑当前文档F9：查看文档附件Ctrl+9：添加附件F7：查看上一篇文档F8：查看下一篇文档F10：显示菜单Ctrl+S：保存文档Ctrl+T：文档选中部分作为标题Ctrl+G：文档选中部分作为标签Ctrl+Shift+V：粘贴纯文本
&#8212;&#8212;-
热键，只要运行了WizExplorer或者WizNote，就可以在所有的程序里面直接使用：
Win+S：保存选中部分，或者如果当前窗口是一个网页(IE)，则可以保存完整网页。
Ctrl+Alt+N：新建标签（需要运行Wiz便笺）
Win+PrintScreen：抓图，并保存到Wiz里面
Ctrl+Alt+V：保存剪贴板的内容到Wiz

通过Wiz发布

]]></description>
		<wfw:commentRss>http://weishijun.com/p/921/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Wiz助手插件开发(2)</title>
		<link>http://weishijun.com/p/915</link>
		<comments>http://weishijun.com/p/915#comments</comments>
		<pubDate>Thu, 30 Dec 2010 10:14:32 +0000</pubDate>
		<dc:creator>魏 拾俊</dc:creator>
				<category><![CDATA[Wiz]]></category>
		<category><![CDATA[Wiz二次开发]]></category>
		<category><![CDATA[Wiz插件]]></category>
		<category><![CDATA[知识管理]]></category>

		<guid isPermaLink="false">http://weishijun.com/p/915</guid>
		<description><![CDATA[知识管理插件第一步，方便设置文档的关键字，作者信息。
&#160;
类似大纲插件，我们在文档工具栏上面增加一个按钮，就叫做 “知识管理”，点击这个按钮后，出现一个下拉窗口，在上面录入关键字和作者信息。
&#160;
首先，我们生成一个插件的guid，可以使用在线的guid产生工具：
http://www.guidgen.com/

&#160;
获得一个guid，这里面的guid没有包含大括号，我们自己加上即可。
例如：
{53305dee-71ea-4852-bba7-5b8893a5e490}
&#160;
然后找到Wiz数据存储路径，例如我的电脑里面：
D:\Documents\My Knowledge\Plugins
&#160;
在这个文件夹，新建一个文件夹，名称就是上面的guid
D:\Documents\My Knowledge\Plugins\{53305dee-71ea-4852-bba7-5b8893a5e490}
&#160;
进入这个文件夹，新建一个文本文件，命名为plugin.ini
用记事本打开，然后输入以下内容：
&#160;





[Common]AppName=Knowledge ManagementAppGUID={53305dee-71ea-4852-bba7-5b8893a5e490}AppType=Knowledge ManagementAppVersion=1.0PluginCount=1
[Plugin_0]Caption=Knowledge Management
Caption_2052=知识管理Caption_1028=知識管理GUID={1458ee74-1d88-4d90-9de5-8888894b7b78}ScriptFileName=km.jsType=Global
[Strings]strKM=Knowledge ManagementstrKM_2052=知识管理strKM_1028=知識管理





&#160;
最后选择 主菜单 文件 另存为，在对话框中，选择编码是unicode。

&#160;
[Common]
AppName：插件的名称
AppGUID：插件的guid，是一个全局唯一的字符串，可以到前面的网站生成。
AppType：一个自定义的字符串，如果多个插件的AppType相同，则他们会分组显示在一起。
AppVersion：插件的版本，如果AppGUID相同的插件存在多个，则Wiz只会选择版本高的插件。
PluginCount：这个插件里面所包含的插件功能的数量（可以是1个或者多个）
&#160;
[Plugin_0]
Caption：当前插件功能的标题。将来可能会提供插件管理功能，允许禁用某些插件，因此这个字符串将会显示给用户
Caption_2052：插件的简体中文标题

Caption_1028：插件的繁体中文标题
GUID：插件功能的guid，这个guid要求全局唯一。
ScriptFileName：插件功能对应的脚本文件名。该文件必须和Plugin.ini在同一个文件夹内。必须是一个js文件。
Type=Global：插件的类型，是一个全局插件，在Wiz运行的时候就加载ScriptFileName指定的脚本文件。
&#160;
[Strings]
字符串的本地化资源。

&#160;
我们在plugin.ini里面，指定了km.js文件，因此我们必须编写这个文件。
&#160;
在Plugin.ini所在的文件夹里面，建立一个新的文本文件，命名为km.js
用记事本打开这个文件，输入以下内容：
&#160;







function OnKMButtonClicked() {
//
WizAlert(&#8220;您点击了知识管理按钮&#8221;);

}
function InitKMButton() {
var pluginPath = objApp.GetPluginPathByScriptFileName(&#8220;km.js&#8221;);
var languangeFileName = pluginPath + &#8220;plugin.ini&#8221;;
var buttonText = objApp.LoadStringFromFile(languangeFileName, &#8220;strKM&#8221;);
objWindow.AddToolButton(&#8220;document&#8221;, &#8220;KMButton&#8221;, buttonText, &#8220;&#8221;, &#8220;OnKMButtonClicked&#8221;);
}

InitKMButton();







&#160;
然后保存为unicode编码的文件。
&#160;
在这个脚本里面，InitKMButton()这个函数，初始化了当前的插件，向Wiz添加了一个按钮。
objApp是一个Wiz预定义的WizExplorerApp对象，该对象的定义在WizExplorer.idl里面。

&#160;
var pluginPath = objApp.GetPluginPathByScriptFileName(&#8220;km.js&#8221;);
获得当前插件的路径
&#160;
var languangeFileName = pluginPath + &#8220;plugin.ini&#8221;;
然后获得语言文件的名称，通常就是我们自己编写的plugin.ini文件
var buttonText = objApp.LoadStringFromFile(languangeFileName, &#8220;strKM&#8221;);
获得一个本地化的按钮的文字
&#160;

objWindow.AddToolButton(&#8220;document&#8221;, &#8220;KMButton&#8221;, buttonText, &#8220;&#8221;, &#8220;OnKMButtonClicked&#8221;);
向Wiz添加一个按钮。objWindow是一个Wiz预定义的WizExplorerWindow对象，该对象的定义在WizExplorer.idl里面。
AddToolButton函数定义：
HRESULT AddToolButton([in] BSTR bstrType, [in] BSTR bstrButtonID, [in] BSTR [...]]]></description>
		<wfw:commentRss>http://weishijun.com/p/915/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

