<?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>西瓜田 &#187; windows小应用</title>
	<atom:link href="http://blog.thpiano.com/?feed=rss2&#038;tag=windows%E5%B0%8F%E5%BA%94%E7%94%A8" rel="self" type="application/rss+xml" />
	<link>http://blog.thpiano.com</link>
	<description>无复洛城东</description>
	<lastBuildDate>Tue, 19 Jan 2021 03:54:37 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>CuTime</title>
		<link>http://blog.thpiano.com/?p=456</link>
		<comments>http://blog.thpiano.com/?p=456#comments</comments>
		<pubDate>Mon, 13 Feb 2012 02:57:15 +0000</pubDate>
		<dc:creator>suika</dc:creator>
				<category><![CDATA[编程]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[qt]]></category>
		<category><![CDATA[windows小应用]]></category>

		<guid isPermaLink="false">http://blog.thpiano.com/?p=456</guid>
		<description><![CDATA[寒假没几天了@_@ 想来各项事宜进展不顺利，归根结底是时间利用率不高 盯着bluehost日志的我就在想，干脆做个小软件来统计每天花在各个程序上的时间好了 于是就做出了这么一个玩意…… 其原理是，利用GetForegroundWindow()来获取正在使用的窗口句柄，然后根据句柄找进程所对应的exe文件名 用GetLastInputInfo()来判断闲置 x掉以后会缩在墙角的任务栏里偷偷写日志记录 顺便也做了日志的导入功能，考虑到明文可看性，没有用二进制来写。不过目前只能按天来导入嗯（日志文件是按天数分的，只做了单文件的） 看着诸如devenv之类的记录名也感觉哭笑不得，不过懒得再加自定义映射模块了，反正自己用也没大碍 &#160; 当然只有如我这样极端缺乏记忆力和行动力的人才会想到做这种东西吧╮(╯_╰)╭ &#160; 界面用的是qt，以前做界面一直很苦手，用gdi画图，代码又啰嗦还丑；又不想重复发明轮子，于是借此机会正好熟手一个界面库 大家都说mfc又复杂又难学，正好我mfc零基础，直接就扔掉了；剩下的guichan，gtk+，qt，前者名气不够大，gtk+又是c为主，就选了qt。再说qt名字读起来好萌，cute啊 但是做这么一个小程序完全没法掌握qt的精髓，也没有可供对比的经验，所以也就无从而谈使用体会了。顺带说下，qt的dll体积非常大（vc编译好的两个主要dll加起来要超过10M，我的exe才70k），可能是因为其支持跨平台的特性导致的。而我这个程序从设计上就是windows only= = 有触手说做windows程序干脆用c#得了，但是我觉得自己开坑的语言实在太多了= = 再说c#大概有两年没碰过了 &#160; 这次的总结有三： 1.设计还没明确就开工了，导致很多功能都是测试时才确定下来的。但是测试只能看到短期需求，具体使用是长期需求口牙 2.选了个不怎么搭配的库，浪费了qt的跨平台特性 3.代码还是一团乱啊一团乱，模块没划分好+写出了长函数。就算是小程序也要认真对待啊]]></description>
			<content:encoded><![CDATA[<p>寒假没几天了@_@ 想来各项事宜进展不顺利，归根结底是时间利用率不高<br />
盯着bluehost日志的我就在想，干脆做个小软件来统计每天花在各个程序上的时间好了<span id="more-456"></span></p>
<p><a href="http://blog.thpiano.com/wp-content/uploads/2012/02/cutime.jpg"><img class="alignnone size-full wp-image-457" title="cutime" src="http://blog.thpiano.com/wp-content/uploads/2012/02/cutime.jpg" alt="" width="488" height="290" /></a></p>
<p>于是就做出了这么一个玩意……</p>
<p>其原理是，利用GetForegroundWindow()来获取正在使用的窗口句柄，然后根据句柄找进程所对应的exe文件名</p>
<p>用GetLastInputInfo()来判断闲置</p>
<p>x掉以后会缩在墙角的任务栏里偷偷写日志记录</p>
<p>顺便也做了日志的导入功能，考虑到明文可看性，没有用二进制来写。不过目前只能按天来导入嗯（日志文件是按天数分的，只做了单文件的）</p>
<p>看着诸如devenv之类的记录名也感觉哭笑不得，不过懒得再加自定义映射模块了，反正自己用也没大碍</p>
<p>&nbsp;</p>
<p>当然只有如我这样极端缺乏记忆力和行动力的人才会想到做这种东西吧╮(╯_╰)╭</p>
<p>&nbsp;</p>
<p>界面用的是qt，以前做界面一直很苦手，用gdi画图，代码又啰嗦还丑；又不想重复发明轮子，于是借此机会正好熟手一个界面库</p>
<p>大家都说mfc又复杂又难学，正好我mfc零基础，直接就扔掉了；剩下的guichan，gtk+，qt，前者名气不够大，gtk+又是c为主，就选了qt。再说qt名字读起来好萌，cute啊</p>
<p>但是做这么一个小程序完全没法掌握qt的精髓，也没有可供对比的经验，所以也就无从而谈使用体会了。顺带说下，qt的dll体积非常大（vc编译好的两个主要dll加起来要超过10M，我的exe才70k），可能是因为其支持跨平台的特性导致的。而我这个程序从设计上就是windows only= =</p>
<p>有触手说做windows程序干脆用c#得了，但是我觉得自己开坑的语言实在太多了= = 再说c#大概有两年没碰过了</p>
<p>&nbsp;</p>
<p>这次的总结有三：</p>
<p>1.设计还没明确就开工了，导致很多功能都是测试时才确定下来的。但是测试只能看到短期需求，具体使用是长期需求口牙</p>
<p>2.选了个不怎么搭配的库，浪费了qt的跨平台特性</p>
<p>3.代码还是一团乱啊一团乱，模块没划分好+写出了长函数。就算是小程序也要认真对待啊</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thpiano.com/?feed=rss2&#038;p=456</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
