发了【原创】【C】恶搞Windows 计算器——Windows Calculator Prank 这篇文章过后,网友的反应很不错热烈,Gnix 的DLL 注射器有点点BUG,我的计算器Prank 不支持x64的电脑。
所以,开了一个比较简单的网页(我对HTML等不熟悉啊,请见谅啊。。),专门给大家下载我上载到DropBox的东西——garyzone.tk
网页有点垃圾(呵呵),请见谅啊。。
这个网页也是基于DropBox的,只是申请了个tk域名,比较容易记
Source Code 下载呢,就在“Source Code”的栏目哪儿,点击一下就会看到几个C/C++的源代码下载了!
源代码是开源的,能随意修改以及传播,但是切记,请勿用于商业用途!
我把下载Source Code 的栏目iframe 到这里来了:
2012年7月28日星期六
2012年7月23日星期一
[原创][C] 恶搞Windows 计算器——Windows Calculator Prank
好久不见!最近考试啦,不得空写文章。近几天,在一位编程大大的教导下(Gnix),完成了我人生第一个DLL。
过程中遇到好多困难,比如怎样枚举子窗口、设置文本等等,最后还是一一解决了
学到了个新的API —— EnumChildWindows
函数原型(摘自MSDN):
EnumChildWindows 是个回调函数,什么来的?
就是个API,每当有事件发生时(这里是找到了一个子窗口),就会调用该函数,lpEnumFunc就是要指向函数地址。
而回调函数是长这么一个样的:
hwnd就是控件的句柄啦!
在Code::Blocks 内写DLL时发现一个问题,但是还是被解决了——那就是DLL_PROCESS_ATTACH等事件竟然没被激活
Google了下,找到了解决办法,就是在前头加上 extern "C"
真是的,废话说太多了啊,跑题了。。
注意:此DLL在32bit的环境下编译,与64bit的机器不兼容!还有此DLL对Windows XP 下的计算器无效(怀疑Windows XP的Calculator 的按钮文本是画上去的。。)
还需要准备一个DLL injector,推荐的有Winject,但是我用了Gnix写的Dll Injector~
先发个在Windows 7 下测试的截图
按钮都成了自己设置的文字啦哈哈!
好啦!
【下载地址】
Calculator Prank DLL Download Link: Calculator Prank.dll
Winject Download Link: Winject.exe
Gnix 写的DLL injector: Dll Injector By Gnix.exe
来个视频呗!
过程中遇到好多困难,比如怎样枚举子窗口、设置文本等等,最后还是一一解决了
学到了个新的API —— EnumChildWindows
函数原型(摘自MSDN):
BOOL WINAPI EnumChildWindows(
__in_opt HWND hWndParent,
__in WNDENUMPROC lpEnumFunc,
__in LPARAM lParam
);
EnumChildWindows 是个回调函数,什么来的?
就是个API,每当有事件发生时(这里是找到了一个子窗口),就会调用该函数,lpEnumFunc就是要指向函数地址。
而回调函数是长这么一个样的:
BOOL CALLBACK EnumChildProc(
__in HWND hwnd,
__in LPARAM lParam
);
hwnd就是控件的句柄啦!
在Code::Blocks 内写DLL时发现一个问题,但是还是被解决了——那就是DLL_PROCESS_ATTACH等事件竟然没被激活
Google了下,找到了解决办法,就是在前头加上 extern "C"
真是的,废话说太多了啊,跑题了。。
注意:此DLL在32bit的环境下编译,与64bit的机器不兼容!还有此DLL对Windows XP 下的计算器无效(怀疑Windows XP的Calculator 的按钮文本是画上去的。。)
还需要准备一个DLL injector,推荐的有Winject,但是我用了Gnix写的Dll Injector~
先发个在Windows 7 下测试的截图
按钮都成了自己设置的文字啦哈哈!
好啦!
【下载地址】
Calculator Prank DLL Download Link: Calculator Prank.dll
Winject Download Link: Winject.exe
Gnix 写的DLL injector: Dll Injector By Gnix.exe
来个视频呗!
2012年7月12日星期四
[网站][AutoIt3] 最深的网页——TheDeepestSite
前几天看到了这个网站——http://thedeepestsite.com/
号称是最深的网站,有多深呢?——8公里,是的8000米
这网站是为一个饮水品牌而建的,而地底面往下8公里既是其水的来源
能拿来干嘛呢?
对!往下滚动到8000米以下!
这不是一分钟就能做得到的哦!必须要8小时才能做到!(笔者用了9个小时呢。。)
每个成功滚到8000米以下的用户,网站就会将其名字刻到石层上,作为鼓励
整个8000米中有7个不同的土层,不同的土层会显示不同的纹理
第一层:Turf / Soil / Bedrock
第二层:Sandstone
第三层:Volcanic Rock
第四层:Flysch
第五层:Water
第六层:Mixed Group
第七层:Granite
如果你有Facebook帐号,可以点击网页左下角的“Connect With Facebook”
一来能发布当前已经Scroll到多少米了,二来能保存进度
其实真的需要8、9个小时不停的手工滑动么?
不必的!
最近笔者接触了AutoIt3,一个很不错的脚本语言,自动化操作交给他保证没问题!
所以笔者就动手写了个脚本,用以自动往下滚动网页
(注:该网页必须是可现实的,而且必须在说有的程序的最上方,也就是必须有焦点的,鼠标也必须在网页内,就像怎样人工Scroll网页一样)
很简单罢了,就那么几行:
啊?不懂怎样运行?
下载这个已经编译成exe的脚本文件:ScrollingScript.exe
怎样停止呢?
只要点击系统栏上的AutoIt图标就好了!(菜单出现需要一段时间)
然后好好看着电脑帮你Scroll该网页吧!
这个是笔者自己用脚本,加了点提示信息:
PS:笔者已经到底了~有图为证!
号称是最深的网站,有多深呢?——8公里,是的8000米
这网站是为一个饮水品牌而建的,而地底面往下8公里既是其水的来源
能拿来干嘛呢?
对!往下滚动到8000米以下!
这不是一分钟就能做得到的哦!必须要8小时才能做到!(笔者用了9个小时呢。。)
每个成功滚到8000米以下的用户,网站就会将其名字刻到石层上,作为鼓励
整个8000米中有7个不同的土层,不同的土层会显示不同的纹理
第一层:Turf / Soil / Bedrock
第二层:Sandstone
第三层:Volcanic Rock
第四层:Flysch
第五层:Water
第六层:Mixed Group
第七层:Granite
如果你有Facebook帐号,可以点击网页左下角的“Connect With Facebook”
一来能发布当前已经Scroll到多少米了,二来能保存进度
其实真的需要8、9个小时不停的手工滑动么?
不必的!
最近笔者接触了AutoIt3,一个很不错的脚本语言,自动化操作交给他保证没问题!
所以笔者就动手写了个脚本,用以自动往下滚动网页
(注:该网页必须是可现实的,而且必须在说有的程序的最上方,也就是必须有焦点的,鼠标也必须在网页内,就像怎样人工Scroll网页一样)
很简单罢了,就那么几行:
WinActivate("Borjomi") ;Activate TheDeepestSite.com Webpage For $x = 0 to 1000000 Step 1 MouseWheel("down", 1000) ;Scrolling Down! Sleep(100) ;Sleep for 100 miliseconds Next这脚本很简单,读者们必须向开启网页,然后再运行这个脚本!
啊?不懂怎样运行?
下载这个已经编译成exe的脚本文件:ScrollingScript.exe
怎样停止呢?
只要点击系统栏上的AutoIt图标就好了!(菜单出现需要一段时间)
然后好好看着电脑帮你Scroll该网页吧!
这个是笔者自己用脚本,加了点提示信息:
#include已经编译成exe下载地址:ScrolingScript - GaryNg#include #include Global $tRECT, $hFont, $hOldFont, $hDCHotKeySet("{ESC}", "_Exit")$tRECT = DllStructCreate($tagRect)DllStructSetData($tRECT, "Left", 50)DllStructSetData($tRECT, "Top", 10)DllStructSetData($tRECT, "Right", 1000)DllStructSetData($tRECT, "Bottom", 1000)$hDC = _WinAPI_GetDC(0)$hFont = _WinAPI_CreateFont(40, 0, 0, 0, 400, False, False, False, $DEFAULT_CHARSET, _ $OUT_DEFAULT_PRECIS, $CLIP_DEFAULT_PRECIS, $DEFAULT_QUALITY, 0, 'Verdana')$hOldFont = _WinAPI_SelectObject($hDC, $hFont)_WinAPI_SetTextColor($hDC, 0x0000FF)_WinAPI_SetBkColor($hDC, 0x000000); comment next line to get black background instead of transparent one;_WinAPI_SetBkMode($hDC, $TRANSPARENT)WinActivate("Borjomi") ;Activate TheDeepestSite.com WebpageDim $Num = 1299#include While 1 $Num = $Num + 1 _WinAPI_DrawText($hDC, "Scrolling Down To 8000 Meters Below..." & $Num, $tRECT, $DT_CENTER) if Mod($Num,50) = 0 then _ScreenCapture_Capture(@DesktopDir & "\Deep\" & $Num & " - Deep.bmp") _WinAPI_DrawText($hDC, $Num * 1000 & "Scrolls, ScreenShot Saved.", $tRECT, $DT_CENTER) ;msgbox (0,"",@DesktopDir & "\Deep\" & $Num & " - Deep") EndIf MouseWheel("down", 1000) ;Scrolling Down! Sleep(100)WEndFunc _Exit() _WinAPI_SelectObject($hDC, $hOldFont) _WinAPI_DeleteObject($hFont) _WinAPI_ReleaseDC(0, $hDC) _WinAPI_InvalidateRect(0, 0) $tRECT = 0 ExitEndFunc ;==>_Exit
PS:笔者已经到底了~有图为证!
2012年7月11日星期三
[其他][资源收集] 一些网络资源收集
在网络上看到很多有意思的文章以及一些很有用的资源,就整理出了这篇文章来~
1、仿MS-DOS的网站——http://stopwilson.com/
2、仿iPad的网站——http://alexw.me/ipad2/
1、仿MS-DOS的网站——http://stopwilson.com/
2、仿iPad的网站——http://alexw.me/ipad2/
3、仿Windows 3.1的网站——http://www.michaelv.org/
4、想用汇编写个简单的操作系统?看看这里——How to write a simple operating system 和 Operating System Development Series
5、用滚动条显示时间——http://toki-woki.net/p/scroll-clock/
6、用CheckBox做成一个水滴效果(Chrome 中而已)——http://www.the389.com/9/3/
整个网页都是CheckBox,随便点其中一个CheckBox,漂亮的水滴效果就出来啦!
7、用滚动条做的扭动效果(Chrome 中而已)——http://www.the389.com/9/5/
8、用CheckBox玩音阶(Chrome 中而已)——http://www.the389.com/7/2/
9、用滚动条做的波浪效果(Chrome 中而已)——http://www.the389.com/9/1/
10、还有Chrome的实验田——http://www.chromeexperiments.com/
11、HTML5线上游戏——http://playbiolab.com/
12、HTML5线上游戏,被碰到红点啊!——http://hakim.se/experiments/html5/sinuous/01/
13、HTML5 PacMan——http://arandomurl.com/2010/07/25/html5-pacman.html
14、环形俄罗斯方块——http://www.benjoffe.com/code/games/torus/
15、Chain Reaction——http://www.yvoschaap.com/chainrxn/
就到这里了吧。
4、想用汇编写个简单的操作系统?看看这里——How to write a simple operating system 和 Operating System Development Series
5、用滚动条显示时间——http://toki-woki.net/p/scroll-clock/
6、用CheckBox做成一个水滴效果(Chrome 中而已)——http://www.the389.com/9/3/
整个网页都是CheckBox,随便点其中一个CheckBox,漂亮的水滴效果就出来啦!
7、用滚动条做的扭动效果(Chrome 中而已)——http://www.the389.com/9/5/
8、用CheckBox玩音阶(Chrome 中而已)——http://www.the389.com/7/2/
9、用滚动条做的波浪效果(Chrome 中而已)——http://www.the389.com/9/1/
10、还有Chrome的实验田——http://www.chromeexperiments.com/
11、HTML5线上游戏——http://playbiolab.com/
12、HTML5线上游戏,被碰到红点啊!——http://hakim.se/experiments/html5/sinuous/01/
13、HTML5 PacMan——http://arandomurl.com/2010/07/25/html5-pacman.html
14、环形俄罗斯方块——http://www.benjoffe.com/code/games/torus/
15、Chain Reaction——http://www.yvoschaap.com/chainrxn/
就到这里了吧。
[其他] 该整理部落格了
好久没回来写帖子了,两架装着VB6的电脑坏了,开发软件的进度也变得很慢很慢
今天,没什么大惊喜,只是稍微整理下了部落格
因为,它真的是太乱了。
不久前,发现到了Blogger的控制面板中的“布局”又可以给使用动态视图的用户使用了
而且还能添加“小工具”呢
可惜,能支持动态视图的Blogger的插件真的少只有少啊,只有大概10多个罢了。。
找到了个“标签”,挺不错的,也是我想要的
就因为这样
我起了整理部落格标签的决心
这部落格没有个固定的分类啊
花了几天的时间来整理、分类
目前还满意吧
PS:那标签就在网页的右边框,鼠标移过去会移出来的黑框框,里面就有标签啦!
今天看到了个不错的网站:HTML5 Word Cloud
结果图:
今天,没什么大惊喜,只是稍微整理下了部落格
因为,它真的是太乱了。
不久前,发现到了Blogger的控制面板中的“布局”又可以给使用动态视图的用户使用了
而且还能添加“小工具”呢
可惜,能支持动态视图的Blogger的插件真的少只有少啊,只有大概10多个罢了。。
找到了个“标签”,挺不错的,也是我想要的
就因为这样
我起了整理部落格标签的决心
这部落格没有个固定的分类啊
花了几天的时间来整理、分类
目前还满意吧
PS:那标签就在网页的右边框,鼠标移过去会移出来的黑框框,里面就有标签啦!
今天看到了个不错的网站:HTML5 Word Cloud
结果图:
Windows 这一词是本部落格的热门词语啊!
2012年7月5日星期四
[原创教程] 新手要怎样学习编程语言?
学电脑编程语言的第一大步就是要确定自己得学习方向以及需要拿来干嘛?做什么?等等
有一些建议可以看看这里:【原创】【教程】编程新手该学哪门编程语言?
第二步就是开始学习
整个学习过程中,有些东西是不能少的:
1,n本编程书
不管是e书,还是纸制书,能看得明白的书都可以。编程书籍类的建议看些step by step (一步一步教的)的书籍,这回比较容易明白!
2,一个好论坛
对,一个就够了。太多论坛会使你分心,往往会造成"上论坛是为了分数,等级",对我而言,好论坛是一个版面整齐,最好无任何烦人广告的论坛,而且必须要有一系列的新手入门资料。还有就是就只专注在一个编程语言的论坛往往会比一堆编程语言得论坛好。
3,你的心
好奇心,上进心是不能少的。如果以随便学学的方式学习,是学不上的
怎样说"入门完毕"呢?
对我而言,入门完毕就是已经能不靠剪贴的方式自行完成一个程序,这里的程序不是指写个hello world 程序,而是一个有实用性的程序。
入门时,一些必须要明白的东西就是一些变量的类型,各种循环结构,条件测试语句,网络链接,字符串操作,各种各样的函数,还有界面操作等等。
入门后,就能开始飞离菜鸟这一称号。能开始一些比较难的操作,诸如学习WIN32API,结合入门时所学的东西来写个更加完整的程序,并且向外发布,并且学习如何收集用户反馈,和修复bug。这个阶段你可以开始组织一个小团队,学习怎样和人家合作等。
当你觉得你已经转为一个高级的程序员后,可以尝试突破编程语言哦限制,比如混合编程,在c语言内搞GUI,用vb6实现超级稳定的多线程等等,开始了解系 统底层,写个更加强大的程序。此外,也可以学习汇编语言,来点硬件编程,也可以写一些教程给新手们,回顾一些之前学过的东西。也许在这个阶段些个操作系统 练练手也很不错。
在进阶点呢,就可以当系统安全顾问啦,在这个阶级如果走对方向,你的前途无量啦。
还有提醒一句:在读教程时,千万不要跳来跳去的,这会然你很难把一个编程语言学的好。
笔者我混的论坛:
1、Batch 批处理脚本
批处理之家
2、VB6论坛
VBGood
3、AutoIt
AutoIt中文论坛
还有MSDN可是程序员的福音啊!(虽然笔者不常去逛~)
后记,
第一次用手机写文章,哈!
还有这些只是个人意见哦!
有一些建议可以看看这里:【原创】【教程】编程新手该学哪门编程语言?
第二步就是开始学习
整个学习过程中,有些东西是不能少的:
1,n本编程书
不管是e书,还是纸制书,能看得明白的书都可以。编程书籍类的建议看些step by step (一步一步教的)的书籍,这回比较容易明白!
2,一个好论坛
对,一个就够了。太多论坛会使你分心,往往会造成"上论坛是为了分数,等级",对我而言,好论坛是一个版面整齐,最好无任何烦人广告的论坛,而且必须要有一系列的新手入门资料。还有就是就只专注在一个编程语言的论坛往往会比一堆编程语言得论坛好。
3,你的心
好奇心,上进心是不能少的。如果以随便学学的方式学习,是学不上的
怎样说"入门完毕"呢?
对我而言,入门完毕就是已经能不靠剪贴的方式自行完成一个程序,这里的程序不是指写个hello world 程序,而是一个有实用性的程序。
入门时,一些必须要明白的东西就是一些变量的类型,各种循环结构,条件测试语句,网络链接,字符串操作,各种各样的函数,还有界面操作等等。
入门后,就能开始飞离菜鸟这一称号。能开始一些比较难的操作,诸如学习WIN32API,结合入门时所学的东西来写个更加完整的程序,并且向外发布,并且学习如何收集用户反馈,和修复bug。这个阶段你可以开始组织一个小团队,学习怎样和人家合作等。
当你觉得你已经转为一个高级的程序员后,可以尝试突破编程语言哦限制,比如混合编程,在c语言内搞GUI,用vb6实现超级稳定的多线程等等,开始了解系 统底层,写个更加强大的程序。此外,也可以学习汇编语言,来点硬件编程,也可以写一些教程给新手们,回顾一些之前学过的东西。也许在这个阶段些个操作系统 练练手也很不错。
在进阶点呢,就可以当系统安全顾问啦,在这个阶级如果走对方向,你的前途无量啦。
还有提醒一句:在读教程时,千万不要跳来跳去的,这会然你很难把一个编程语言学的好。
笔者我混的论坛:
1、Batch 批处理脚本
批处理之家
2、VB6论坛
VBGood
3、AutoIt
AutoIt中文论坛
还有MSDN可是程序员的福音啊!(虽然笔者不常去逛~)
后记,
第一次用手机写文章,哈!
还有这些只是个人意见哦!
订阅:
博文 (Atom)