<?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>LajiCF&#039;s Blog &#187; Dev</title>
	<atom:link href="http://blog.suflanker.com/category/dev/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.suflanker.com</link>
	<description>个人地盘，扯一些乱七八糟的东西...</description>
	<lastBuildDate>Thu, 29 Jul 2010 10:09:05 +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>开始折腾GAE+Google Maps API</title>
		<link>http://blog.suflanker.com/2009/07/learning-google-maps-api/</link>
		<comments>http://blog.suflanker.com/2009/07/learning-google-maps-api/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 13:39:14 +0000</pubDate>
		<dc:creator>LajiCF</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[Google Maps API]]></category>

		<guid isPermaLink="false">http://blog.suflanker.com/2009/07/%e5%bc%80%e5%a7%8b%e6%8a%98%e8%85%begaegoogle-maps-api/</guid>
		<description><![CDATA[&#160; 最近还算有点个人时间，决定看点Web相关的东西。嗯，就是Google Maps API了（至于ArcGIS Server，以后再说吧）。
&#160; 准备做一个类似Google Fusion Tables和Geocommons Maker的东西,大概描述一下这两者的功能。
&#160; 首先用户上传一个csv文件，里面包括N多属性+制定地理位置的字段（一般是经纬度，如果没有的话有两种解决方法，GeoCommons是让你自己去找GeoCoding的服务处理一下你的csv，而Google则制定一个文本字段自动Geocoding得到地理位置）。
&#160; 接下来就是标准的地图符号化了，Google的比较简单，就只有地标+分层设色两种，剩下的就是些饼图了之类的图表显示。见下图

&#160;
&#160; 
&#160; GeoCommons的功能则强大的多，你看下面几张图就知道有多淫荡了。。。也不知道是用Actionscript还是Flex搭建起来的，不过这UI真赞。
&#160;

&#160; 准备用把这个Demo架在GAE上，至于语言么心理预期是Python，估计还得用点Javascript。
&#160; 刚开始学习Web开发，一步一步来，最终做成啥样就不知道了。不出意外的话应该很挫。。。
随机日志2008-09-14 -- 中秋看球 (1)2008-09-13 -- OGC SOA for GIS (1)2008-07-31 -- 云南行2 (0)2009-10-09 -- GTD啊GTD (0)2009-03-22 -- Google Groups Via Https (0)]]></description>
			<content:encoded><![CDATA[<p>&#160; 最近还算有点个人时间，决定看点Web相关的东西。嗯，就是Google Maps API了（至于ArcGIS Server，以后再说吧）。</p>
<p>&#160; 准备做一个类似<a title="http://tables.googlelabs.com/Home" href="http://tables.googlelabs.com/Home">Google Fusion Tables</a>和<a title="http://maker.geocommons.com/" href="http://maker.geocommons.com/">Geocommons Maker</a>的东西,大概描述一下这两者的功能。</p>
<p>&#160; 首先用户上传一个csv文件，里面包括N多属性+制定地理位置的字段（一般是经纬度，如果没有的话有两种解决方法，GeoCommons是让你自己去找GeoCoding的服务处理一下你的csv，而Google则制定一个文本字段自动Geocoding得到地理位置）。</p>
<p>&#160; 接下来就是标准的地图符号化了，Google的比较简单，就只有地标+分层设色两种，剩下的就是些饼图了之类的图表显示。见下图</p>
<p><a href="http://suflanker.com/pic/GAEGoogleMapsAPI_12FDD/GoogleFusionTables1_thumb.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Google Fusion Tables1" border="0" alt="Google Fusion Tables1" src="http://suflanker.com/pic/GAEGoogleMapsAPI_12FDD/GoogleFusionTables1_thumb.png" width="644" height="435" /></a></p>
<p>&#160;</p>
<p>&#160;<a href="http://suflanker.com/pic/GAEGoogleMapsAPI_12FDD/GoogleFusionTables2_thumb.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Google Fusion Tables2" border="0" alt="Google Fusion Tables2" src="http://suflanker.com/pic/GAEGoogleMapsAPI_12FDD/GoogleFusionTables2_thumb.png" width="644" height="628" /></a> </p>
<p>&#160; GeoCommons的功能则强大的多，你看下面几张图就知道有多淫荡了。。。也不知道是用Actionscript还是Flex搭建起来的，不过这UI真赞。</p>
<p><a href="http://suflanker.com/pic/GAEGoogleMapsAPI_12FDD/GeocommonsMaker1_thumb.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Geocommons Maker1" border="0" alt="Geocommons Maker1" src="http://suflanker.com/pic/GAEGoogleMapsAPI_12FDD/GeocommonsMaker1_thumb.png" width="644" height="475" /></a>&#160;</p>
<p><a href="http://suflanker.com/pic/GAEGoogleMapsAPI_12FDD/GeocommonsMaker3_thumb.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Geocommons Maker3" border="0" alt="Geocommons Maker3" src="http://suflanker.com/pic/GAEGoogleMapsAPI_12FDD/GeocommonsMaker3_thumb.png" width="644" height="475" /></a></p>
<p>&#160; 准备用把这个Demo架在GAE上，至于语言么心理预期是Python，估计还得用点Javascript。</p>
<p>&#160; 刚开始学习Web开发，一步一步来，最终做成啥样就不知道了。不出意外的话应该很挫。。。</p>
<img src="http://blog.suflanker.com/?ak_action=api_record_view&id=77&type=feed" alt="" /><h2  class="related_post_title">随机日志</h2><ul class="related_post"><li>2009-01-09 -- <a href="http://blog.suflanker.com/2009/01/%e5%94%89%ef%bc%8c%e5%8f%88%e5%88%b0%e8%80%83%e7%a0%94%e6%97%b6/" title="唉，又到考研时">唉，又到考研时</a> (0)</li><li>2008-08-26 -- <a href="http://blog.suflanker.com/2008/08/%e8%bf%99%e5%8f%ab%e5%95%a5%e4%ba%8b%e5%98%9b/" title="这叫啥事嘛">这叫啥事嘛</a> (0)</li><li>2008-09-27 -- <a href="http://blog.suflanker.com/2008/09/%e5%8f%88%e8%a7%81%e9%b8%9f%e4%ba%ba/" title="又见鸟人">又见鸟人</a> (0)</li><li>2009-10-09 -- <a href="http://blog.suflanker.com/2009/10/think-in-gtd/" title="GTD啊GTD">GTD啊GTD</a> (0)</li><li>2008-10-15 -- <a href="http://blog.suflanker.com/2008/10/blog-action-day-poverty/" title="Blog Action Day &#8211; Poverty">Blog Action Day &#8211; Poverty</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.suflanker.com/2009/07/learning-google-maps-api/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>DM2_虚拟桌面插件_修改</title>
		<link>http://blog.suflanker.com/2009/03/dm2_%e8%99%9a%e6%8b%9f%e6%a1%8c%e9%9d%a2%e6%8f%92%e4%bb%b6_%e4%bf%ae%e6%94%b9/</link>
		<comments>http://blog.suflanker.com/2009/03/dm2_%e8%99%9a%e6%8b%9f%e6%a1%8c%e9%9d%a2%e6%8f%92%e4%bb%b6_%e4%bf%ae%e6%94%b9/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 13:18:27 +0000</pubDate>
		<dc:creator>LajiCF</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[DM2]]></category>

		<guid isPermaLink="false">http://www.suflanker.com/2009/03/29/dm2_%e8%99%9a%e6%8b%9f%e6%a1%8c%e9%9d%a2%e6%8f%92%e4%bb%b6_%e4%bf%ae%e6%94%b9/</guid>
		<description><![CDATA[&#160;&#160;&#160; DM2是个好东西，占用资源少，而且功能相当实用。比如说最小化窗口到浮动图标、切换窗口总在最上层、最小化窗口到托盘等等等等。 
&#160;&#160;&#160; 与此同时他还有好多强大的插件，我最喜欢的是它的虚拟桌面插件。理由也挺简单，资源占用小，切换迅速。不过这个插件有一个小小的缺点，就是无法设置哪些窗口在所有虚拟桌面上都存在。就比方说FastIcons,这个类似于Dock的小东西是我的标准系统常驻软件。在切换虚拟桌面的时候我就一直想让这个软件永久保留，要不然实在是太不方便了,如下图。
 

&#160;&#160;&#160;&#160; 还好DM2和它的插件都是开源的，再加上今天刚好有点时间，就顺便改改吧。最终成果如下：手动配置DM2目录下的dm2.ini文件，用文本编辑器在[Plugins_VirtualDesktop_Settings]这一节的最后加上如下几行。然后就这些程序就可以逍遥法外，置桌面切换而不顾了,haha。


   1: ExcudeCount=1 //你要过滤的程序个数
   2: Excude0=D:\Program Files\Tools\FastIcons\FastIcons.exe
   3: Excude1=。。。。//每个程序的完整路径。编号为Excude+数字
   4: Excude2=。。。。
   5: Excude3=。。。。


&#160;&#160;&#160;&#160; 原本以为这小功能花不了几分钟时间，可一写下来才发现原来俺的C基础已经废了，调Bug的时候发现误删野指针无数，唉。最郁闷的是在VS下运行一切没问题，然后直接双击exe运行切换虚拟桌面是毫无反应，sigh&#8230;..
&#160;&#160;&#160;&#160; 经多方查证才发现问题在程序的权限上，VS下编译运行的程序是以Debug的权限运行的，比Windows的管理员权限还高。而我为了通过窗口的句柄获得其对应程序的路径，在代码里用了几个Tlhelp32里的API，在以管理员权限运行这个程序的时候是得不到结果的。没办法，只能手动提升进程的权限（利用AdjustTokenPrivileges这个API就行了）。
&#160;&#160;&#160;&#160; 现在终于是能运行了，不过还有一个更郁闷的事，就是Debug下一切正常的程序到了Release下就又出问题了。估计原因有两种可能，一是提升权限没成功，二是VC编译器优化的问题。先不搞了，等下次有空再来看。反正Debug下编译的Dll能用,先用着再说。
附 DLL + 很挫的修改代码，其实也就增加了四五个函数（Debug下出来的Dll有点大，这是没办法的事）：
 DLL下载&#160;&#160;&#160;&#160; 
插件源码&#160;&#160;&#160; 
&#160;
随机日志2009-03-22 -- Google Groups Via Https (0)2009-01-12 -- 话说&#8230; (1)2009-01-09 -- 唉，又到考研时 (0)2008-09-14 -- 买车记 (0)2008-08-20 -- 舍瓦回来了，后卫呢？ (0)]]></description>
			<content:encoded><![CDATA[<p>&nbsp;&nbsp;&nbsp; DM2是个好东西，占用资源少，而且功能相当实用。比如说最小化窗口到浮动图标、切换窗口总在最上层、最小化窗口到托盘等等等等。 </p>
<p>&nbsp;&nbsp;&nbsp; 与此同时他还有好多强大的插件，我最喜欢的是它的虚拟桌面插件。理由也挺简单，资源占用小，切换迅速。不过这个插件有一个小小的缺点，就是无法设置哪些窗口在所有虚拟桌面上都存在。就比方说FastIcons,这个类似于Dock的小东西是我的标准系统常驻软件。在切换虚拟桌面的时候我就一直想让这个软件永久保留，要不然实在是太不方便了,如下图。</p>
<p><a href="http://suflanker.com/pic/blogbus/12383342760.png"></a> </p>
<p style="text-align: center;"><img style="border: 0px none; display: inline;" title="FastIcons" src="http://suflanker.com/pic/blogbus/12383342760.png" border="0" alt="FastIcons" width="564" height="159" /></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 还好DM2和它的插件都是开源的，再加上今天刚好有点时间，就顺便改改吧。最终成果如下：手动配置DM2目录下的dm2.ini文件，用文本编辑器在<span style="color: #004000;"><strong>[Plugins_VirtualDesktop_Settings]</strong></span>这一节的最后加上如下几行。然后就这些程序就可以逍遥法外，置桌面切换而不顾了,haha。</p>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; line-height: 12pt; background-color: #f4f4f4; width: 97.5%; font-family: consolas,'Courier New',courier,monospace; height: 95px; max-height: 200px; font-size: 8pt; cursor: text;">
<div style="border-style: none; padding: 0px; overflow: visible; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"><span style="color: #606060">   1:</span> ExcudeCount=1 <span style="color: #008000">//你要过滤的程序个数</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"><span style="color: #606060">   2:</span> Excude0=D:\Program Files\Tools\FastIcons\FastIcons.exe</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"><span style="color: #606060">   3:</span> Excude1=。。。。<span style="color: #008000">//每个程序的完整路径。编号为Excude+数字</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"><span style="color: #606060">   4:</span> Excude2=。。。。</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: white; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"><span style="color: #606060">   5:</span> Excude3=。。。。</pre>
</div>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 原本以为这小功能花不了几分钟时间，可一写下来才发现原来俺的C基础已经废了，调Bug的时候发现误删野指针无数，唉。最郁闷的是在VS下运行一切没问题，然后直接双击exe运行切换虚拟桌面是毫无反应，sigh&hellip;..</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 经多方查证才发现问题在程序的权限上，VS下编译运行的程序是以Debug的权限运行的，比Windows的管理员权限还高。而我为了通过窗口的句柄获得其对应程序的路径，在代码里用了几个Tlhelp32里的API，在以管理员权限运行这个程序的时候是得不到结果的。没办法，只能手动提升进程的权限（利用AdjustTokenPrivileges这个API就行了）。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 现在终于是能运行了，不过还有一个更郁闷的事，就是Debug下一切正常的程序到了Release下就又出问题了。估计原因有两种可能，一是提升权限没成功，二是VC编译器优化的问题。先不搞了，等下次有空再来看。反正Debug下编译的Dll能用,先用着再说。</p>
<p>附 DLL + 很挫的修改代码，其实也就增加了四五个函数（Debug下出来的Dll有点大，这是没办法的事）：</p>
<p> DLL下载&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.brsbox.com/filebox/down/fc/e998a10f8ac7e6e455f8f2bc2db20234" target="_blank"><img src="http://suflanker.com/pic/blogbus/12383348100.png" border="0" alt="" /></a></p>
<p>插件源码&nbsp;&nbsp;&nbsp; <a href="http://www.brsbox.com/filebox/down/fc/fc550066efe52e9b5b941745507d5c59" target="_blank"><img src="http://suflanker.com/pic/blogbus/12383348100.png" border="0" alt="" /></a></p>
<p>&nbsp;</p>
<img src="http://blog.suflanker.com/?ak_action=api_record_view&id=60&type=feed" alt="" /><h2  class="related_post_title">随机日志</h2><ul class="related_post"><li>2010-03-23 -- <a href="http://blog.suflanker.com/2010/03/they-will-be-back/" title="They will be back">They will be back</a> (0)</li><li>2008-09-04 -- <a href="http://blog.suflanker.com/2008/09/google-chrome-%e8%af%95%e7%94%a8/" title="Google Chrome 试用">Google Chrome 试用</a> (0)</li><li>2010-03-14 -- <a href="http://blog.suflanker.com/2010/03/%e5%88%a0%e9%99%a4mediawiki%e7%b1%bb%e5%88%ab%e9%a1%b5%e9%9d%a2%e4%b8%ad%e7%9a%84%e5%ad%97%e6%af%8d%e7%b4%a2%e5%bc%95/" title="删除MediaWiki类别页面中的字母索引">删除MediaWiki类别页面中的字母索引</a> (0)</li><li>2009-08-18 -- <a href="http://blog.suflanker.com/2009/08/lets-tex-the-world/" title="Let&#8217;s Tex The World">Let&#8217;s Tex The World</a> (0)</li><li>2009-06-02 -- <a href="http://blog.suflanker.com/2009/06/%e4%bc%9f%e5%a4%a7%e7%9a%84%ef%bd%87%ef%bd%86%ef%bd%97/" title="伟大的ＧＦＷ">伟大的ＧＦＷ</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.suflanker.com/2009/03/dm2_%e8%99%9a%e6%8b%9f%e6%a1%8c%e9%9d%a2%e6%8f%92%e4%bb%b6_%e4%bf%ae%e6%94%b9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
