Chase Down My Dream

Life, Dream

  • Home
  • About
  • Sample Page
Twitter Facebook Sina RSS
Category Archives: Hello Program

C# 关闭显示器

Posted on August 21, 2009 by stingrey
10 Comments

午休期间无聊刷代码写的软件,程序大小101K,其中ico文件100K。。。
下载:CloseMonitor.zip
放在桌面,双击使用即可,实际上是使屏幕进入节能模式,鼠标或者键盘按键产生位移就会恢复。
就几行代码:

using System;using System.Collections.Generic;using System.Text;using System.Runtime.InteropServices;

namespace CloseMonitor{    class CloseMonitor    {        static void Main(string[] args)        {            CloseMonitor CM = new CloseMonitor();            CM.CloseMonitorMethod();        }

        #region SendMessage        private const uint WM_SYSCOMMAND = 0x0112;        private const uint SC_MONITORPOWER = 0xF170;        static readonly IntPtr HWND_HANDLE = new IntPtr(0xffff);        [DllImport("user32")]        public static extern IntPtr SendMessage(IntPtr hWnd, uint wMsg, uint wParam, int lParam);        #endregion

        public void CloseMonitorMethod()        {            SendMessage(HWND_HANDLE, WM_SYSCOMMAND, SC_MONITORPOWER, 2);        }    }}

百度空间的缩进是点点点啊点点点~

Categories: C# | Tags: C#, Monitor

HiBaidu Editor 百度空间编辑器

Posted on August 17, 2009 by stingrey
5 Comments

使用百度空间有一段时间了,一直想写个类似live writer这样的软件来简化在百度空间编辑和发布博客的流程。暑假时看到Freeze_soul写的BaiduHelper,便拿来源码看了一下,C#写的,利用在实验室的空余时间照着改了一下。目前只有基本的编辑功能,能发图。发音乐、视频暂时不能,等有空慢慢改,现在着手弄代码高亮,希望能弄出类似live writer那样的一些功能。
2009.08.20 更新了一下,现在可以离线保存文章(html等格式),可以直接在html源码模式下编辑。
下载:HiBaidu.zip

Categories: C# | Tags: C#, 百度空间

Windows 7 上安装 Palm Pre Mojo SDK

Posted on July 20, 2009 by stingrey
No Comments

之前一直玩Mojo 0.3.4的泄露版SDK,在Win7上安装也一直没有什么问题。前段时间Palm将Mojo SDK正式Release(Version 1.1.0),自然不放过这个玩浮云的机会。于是下载安装,按照剧情要求,悲剧的事情总是要发生的,Win7上安装SDK到一半时,安装程序就自动Roll back,也没有明显的提示,the Palm pre’s joke? 查安装日志,发现是安装到于Mojo相关的Windows Update一个组件时发生了错误。。。0.3.4安装正常,估计是没有安装这个组件,然后到Palm Developer的forum上瞅了一下,发现这就是Win7的一个悲剧,Mojo SDK的开发人员已经开始着手解决这个问题了。估计下一个SDK版本要等一会儿了,咱也不能闲着不是,现在的办法就是在安装时让安装程序不要安装那个windows update组件,于是有牛人无聊找到解决方案:http://www.juergentreml.de/archives/802

略微翻译一下过程,Palm官网上下载的是个打包了安装脚本的SDK包,然后开始时会有解压过程。于是在系统Temp目录下找到解压的临时文件夹,将其中的Palm SDK.msi复制出来,这是真正的Installer。接着就用Microsoft SDK中提供的Orca工具(Windows Installer的数据库表编辑器),找到和windows update相关的安装项,从安装包中删除,于是一切都和谐了。

从1.0.19版本开始这个问题终于被官方解决了

Categories: Mojo | Tags: Mojo, Windows 7

Visual Studio 2008 不能建立 Smart Device Project

Posted on July 8, 2009 by stingrey
1 Comment

最近在写项目中的几个Windows Mobile的小程序,但是用Visual Studio 2008建立Smart Device Project的时候,VS提示说failure。查了很久也不知道什么原因造成的。
于是上MSDN上看了看,貌似是个bug,据说安装IE8正式版会造成这个现象……
那么就只能按照instruction人肉修复一下了:

1、打开Regedit

2、找到键值“HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet SettingsZones”

3、找到项“1000”,如果不存在,则建立

4、在“1000”项中新建DWORD值“1207”,Value=0

试了下,win7下能用……

Categories: Hello Program | Tags: Smart Device, Visual Studio 2008

软件开发两人合作的不同阶段–舞蹈版

Posted on March 16, 2009 by stingrey
3 Comments

前段时间,一直不断重复看着《High School Musical 3》中Zac和Vanessa在天台跳的《Can I Have This Dance》。很美,很飘逸,就是莫名地喜欢上了这种感觉。事实上,在现实生活中,Zac和Vanessa就是情侣(据说快要结婚了),在拍这段舞蹈时就很能看出两人眼神和动作中的默契。
很多舞蹈都是需要跳舞的两个人相互之间很好的配合,像是Rumba、Tango,好的配合和默契才能给人带来更加唯美的享受。于是笔锋一转,在软件开发中,也经常是两个人合作。虽然两个人要比一个更大的团队容易管理,相互之间容易协调,但是也仍能产生不少问题环节来。今天翻着《移山之道》这本书,中间讲到关于两人合作的问题就很有意思,于是贴出来。
1.萌芽(Forming)
两人刚刚认识,相互拘谨而彬彬有礼,每个人都想得到对方的接纳,试图避免冲突和容易引起挑战的观点。
2.磨合(Storming)
开始舞蹈后,就带来了相互踩脚。发现对方的舞步竟是这样……于是就带来冲突……
3.规范(Norming)
相互熟悉了点,跳舞逐渐合拍,此时或许男方的一个手势,女方就知道该往哪里转了。
4.创造(Performing)
两人合二为一,默契,舞姿是如此充满艺术!

然而,若是磨合阶段过分了,那么
4′.解体(Deforming)
不欢而散,该干嘛干嘛去了……

Categories: Hello Program | Tags: 合作, 舞蹈, 软件开发

Play with Lex(Flex), the Lexical-Analyzer Generator

Posted on February 25, 2009 by stingrey
4 Comments

这学期开始学习编译原理,于是开始接触到一些好玩的工具,Lex(Lexical compiler)和Yacc(Yet Another Compiler Compiler),这两个都是UNIX下很著名的工具(Linux下是Flex和Bison)。最近主要是在学习词法分析,因此主要就玩玩Lex。Lex主要功能就是是生成一个词法分析器,然后将输入的各种符号,转化成相应的token,这些token被用来做后阶段的处理。
一个Lex文件的语法结构很简单,只要按照格式写就可以了。

declarations%%translation rules%%auxiliary procedures

当然在declaration部分还可以添加

%{  ............%}

这部分的内容会被直接拷贝进Lex编译完后的.c文件里,因此可以用来处理一些变量。在declaration定义一些正则表达式,用在 translation rules做规则匹配。在auxiliary procedures部分可以像写C代码一样写些东西,以函数yylex()开头就可以了,这个函数是Lex用来词法分析的主函数。 按照入门教程,写了个数词的程序。

%{    int wordCount = 0;%}

chars [A-Za-z_'."]
numbers ([0-9])+
delim [" "tn]
ws {delim}+
words {chars}+

%%
{words} {printf("Words:%sn",yytext);wordCount++;}
{ws} {}
{numbers} {printf("Number:%sn",yytext);}
%%
int main()
{
    yylex();
    printf("Number of words:%dn", wordCount);
    return 0;
}
int yywrap(){return 1;}

用Lex编译成lex.yy.c之后,再用gcc编译成可执行文件就可以了。在flex中貌似要求加上最后那个yywrap()这个函数,否则会有警告或者错误(不过据说可以在lex文件直接加个选项)。昨天调试时,输了n长的段子,可以最后没有显示词数,无比郁闷。后来想起来是自己没有按ctrl+d提供eof……

Categories: Hello Program | Tags: Lex
  • Recent Posts

    • 一年了,我回来了
    • Un Senso Di Te
    • 好雨时节
    • 虎年来在追昔时
    • 无题
  • Recent Comments

    • hzqtc on 一年了,我回来了
    • aaahexing on Un Senso Di Te
    • RainFlying on 好雨时节
    • Stingrey on 秦时明月,侠骨柔情
    • hzqtc on 被拒了~
  • Archives

    • November 2011
    • June 2010
    • April 2010
    • February 2010
    • December 2009
    • November 2009
    • October 2009
    • September 2009
    • August 2009
    • July 2009
    • June 2009
    • May 2009
    • March 2009
    • February 2009
    • January 2009
    • December 2008
    • November 2008
    • October 2008
    • September 2008
    • July 2008
  • Categories

    • C#
    • Google App Engine
    • Hello Program
    • Linux
    • Linux and Windows
    • Micolog
    • Misc
    • Mojo
    • Music and Movie
    • Windows
    • 另一个自己
    • 玩意儿
    • 生活
  • Meta

    • Log in
    • Entries RSS
    • Comments RSS
    • WordPress.org
© Chase Down My Dream. Proudly Powered by WordPress | Nest Theme by YChong