Archive

Archive for June, 2012

进入Windows管理的SYSTEM用户状态获得超级权限

June 14th, 2012 No comments

对于windows用户而言,administrator用户级别的权限几乎不会有任何操作限制,但是打开任务管理器,会存在一个或多个SYSTEM用户的进程,而且大部分SYSTEM用户的进程都无法结束和停止,SYSTEM用户是Windows操作系统的内置系统用户,所在权限组为NT_AUTHOR。 对计算机用户而言,获取SYSTEM用户权限可以完成更多的系统级别的操作和管理,不过使用SYSTEM用户的操作和修改会引发系统问题,使用SYSTEM用户需慎重。

Read more…

设置背景透明的窗体,GDI+绘制异形WINFORM

June 14th, 2012 No comments

在.Net环境下绘制矩形,椭圆形,三角形等形态的窗体是件很简单的事情,只要设置窗体的背景透明当你在窗体上绘制图形和控件时,是不会显示窗体的,这点MS的GDI+确实相比其他平台的实现方式更加方便和简单。

设置方式也很简单,首先设置FORM的BackColor为一个程序中不常用的颜色,然后再设置FORM的TransparenceKey为这个颜色就OK了。

Read more…

Categories: 语言编程 Tags: , ,

使用VB.Net GDI+编程编写的3D魔方游戏程序

June 14th, 2012 No comments

最近学习了.net下的GDI+编程,下面小秀一下成果,使用GDI+编写的桌面魔方程序,今天把源代码放上,欢迎大家下载,如果机器上有.net环境的话可以直接运行bin目录下的MagicCube.exe进行游戏。

源代码下载地址
http://www.lidaren.com/code/magiccube/magiccube.zip

下面方式几个重要的算法程序
1,魔方正面九宫格90度翻转,这个只要细心观察翻转前和翻转后的魔方,你就可以得到答案
左转90度:以(0,0)(2,2)为对称轴翻转后,再以(1,0)(1,2)为对称轴翻转
右转90度:以(0,2)(2,0)为对称轴翻转后,再以(1,0)(1,2)为对称轴翻转
算法如下:

Read more…

Categories: 语言编程 Tags: , ,

使用JS实现的可变动态密码输入键盘控件源代码

June 14th, 2012 No comments

今天要分享的是一个简单的JavaScript编写和实现的可变动态密码输入控件,可以动态的生产数字键盘并显示,并且可以实现每次点击后密码键盘重新加载,可以手动控制隐藏和显示,手动控制刷新等功能。

相信经常登陆网上银行或者某些游戏网站的朋友应该会经常看到这个控件,其实实现起来原理并不复杂,主要是通过随机生产数字,然后通过hash算法,安排数字的位置,这里用了最简单的占位算法,虽然效率比较低(o(n^2)),但是处理10个数字(最差是55次)是足够的,如果带上字母键盘和特殊字符的话,建议更换算法。

Read more…

Categories: 语言编程 Tags: ,

使用递归位运算实现对字节的中心转置反转

June 14th, 2012 No comments

字节的中心转置反转,这是一道的IBM技术面试题,供参考
原题如下:
给定一个任意字节长度的数据(以一个Byte为例),要求实现数据的位中心翻转,
也就是数据的对称位数据交换,比如:
1010 1100 -> 0011 0101
1111 1111 -> 1111 1111
0000 0000 -> 0000 0000
1111 0000 -> 0000 1111
解题思路也很简单,只要使用位运算实现以下的位变化即可,但是需要考虑到其他
位的情况,注意运算符的使用即可,IBM不愧是IBM
11 – > 11
00 – > 00
10 – > 01
01 – > 10

Read more…

Categories: 算法研究 Tags: ,

使用Jquery原理实现一个简单的Ajax的支持JS类

June 14th, 2012 No comments

详细Ajax技术对于一个Web开发者来说应该是很熟悉的东西了,Ajax的出现让web页面交互有了革命化的变化。对于Ajax来说,JQuery是一个不可多得的好JS库,但是很多朋友并不了解Jquery对Ajax的实现过程,或者说不太了解,这点CG在此是不提倡的,CG写下面代码一方面是为了解决一位网友的疑问,同时也希望那些如果想在Jquery技术上有深入提高的朋友能够多看看Jquery源代码。

Read more…

求二维数组的全排列组合,二位数组的自乘积问题

June 14th, 2012 3 comments

CG在ETP基地的培训也有一段时间了,这期间也有几次考试,下面将要分享的是最近一次笔试的考试题目,该题算是JAVA考试的附加题,要求也很简单,下面是原题

二维数组的长度和初始值均由输入确定,如何求出此数组的全排列组合,
即:int a[X][X] = {{X,X,X},…}如下
int a[3][3] = {{1,2,3},{4,5,6},{7,8,9}}
或者是 int a[4][4] = {{1,2,3,4},{4,5,6,7},{7,8,9,10}}
计算a[3][3]的结果如下:
147,148,149
157,158,159
167,168,169
247,248,249
…………

Read more…

Categories: 算法研究 Tags: ,