Google+ insable: 2012

2012-11-15

关于Windows8的越狱


方法如下:
  1. 下载安装 Win8 优化大师 ,进行越狱。
  2. 说明:这个越狱其实只是获取一个 Win 8 开发者许可证书,然后你就有了一些权限。
  3. 有了权限就可以安装,只要下载我提供的 Win8 软件安装工具,解压到任意目录。
  4. 然后把下载的 Appx后缀文件(Metro软件安装包)放在刚才工具所在的目录里,就是与 Add-AppDevPackage.ps1 文件在同一目录。
  5. 安装这个应用的证书到”受信任的根证书颁发机构“,详细见下文。
  6. 右键 Add-AppDevPackage.ps1 文件,选择”使用 PowerShell 运行“,然后”一路运行就好了。
以后需要安装第三方软件就做第3,4,5步即可,Add-AppDevPackage.ps1文件同目录下只可以有一个 Appx 后缀文件,即将要被安装的文件。
缺点是:在市场里没办法管理和升级这款软件。

附一:Win8 优化大师一键越狱

打开 Win8 优化大师,点击那个 ”Win 8 一键越狱
关于 Win8 越狱那点事[图] | 小众软件
然后点击”立刻越狱
关于 Win8 越狱那点事[图] | 小众软件
当然是同意
关于 Win8 越狱那点事[图] | 小众软件
因为我已经越狱了,所以说是续订,可能文字上略有不同,但都差不多。
关于 Win8 越狱那点事[图] | 小众软件
使用账号登陆:
关于 Win8 越狱那点事[图] | 小众软件
这里是继续续订,如果是新用户应该是申请新的帐号
关于 Win8 越狱那点事[图] | 小众软件
申请成功的帐号有个有效期。然后关闭,至此你的 Win 8 已经越狱了。
关于 Win8 越狱那点事[图] | 小众软件

 附二:Appx 应用证书安装教程

在 Appx 文件上右键——属性——数字签名选项卡。选中签名列表中的那行内容,然后点详细信息
关于 Win8 越狱那点事[图] | 小众软件
点击查看证书
关于 Win8 越狱那点事[图] | 小众软件
点击安装证书
关于 Win8 越狱那点事[图] | 小众软件
选择”本地计算机“,这个很重要,然后下一步,会提示是否允许,选择”是“
关于 Win8 越狱那点事[图] | 小众软件
选择”将所有证书放在下列存储“,这也很重要,点击后面的浏览
关于 Win8 越狱那点事[图] | 小众软件
选择”受信任的根证书颁发机构“确定”,然后“下一步”
关于 Win8 越狱那点事[图] | 小众软件
导入完成,然后点击各种“完成”,“确定”……直到把刚才打开的各种小窗口关闭为止。安装完毕。
关于 Win8 越狱那点事[图] | 小众软件

2012-11-03

消除Windows8快捷方式的箭头

    我必须承认,我一直不爽于Windows的快捷方式的箭头,刚刚更新了Windows 8,那可恶的箭头再次出现刺瞎爷的双眼。所以必须除之而后快。
    由于Windows8是个新的系统,一切都在摸索中,所以这一部分参考了万能的Google。

    1,打开注册表,Win8下的方式是:Win键+R,打开运行对话框,输入 Regedit 并确认。
    2,找到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer 
    3,新建一个项,命名为Shell Icons
    4, 在Shell Icons里创建一个字符串值,命名为 29
    5,在这里下载 Download 或者 noArrow.file (这是人家的原版)
    6,解压并保存noArrows.ico文件,具体放哪里,请自行搞定。
    7,将创建的字符串值29的值设定为 你的noArrows.ico文件的位置,比如下图设定在了C:\Guy\noArrow.ico

    Removing Shortcut Arrow Windows 8
   
      8,关闭注册表,并注销,然后重新进行登录。

     原理无非是利用下载的那个文件代替小箭头,因为那个文件本身是透明的,所以我们只是替换而不是除掉小箭头。
    

Windows8快捷键列表

Windows 8采用“Modern”界面并对触屏操作进行优化,还有大量的快捷键组合,以提供高效率。





Win键相关的快捷键:

Win键:实现"Modern"开始界面和最后一个应用程序之间的切换;
Win键+C:进入Charms菜单;
Win键+Tab:进入Modern桌面任务栏,在各个应用程序间之间切换,切换时,要一直按住Win键
Win键+I:进入快捷设置(Settings charm)菜单/关机;
Win键+H:打开系统的快捷共享(Share charm)选项;
Win键+K:进入Windows 8设备菜单(Devices charm);
Win键+Q:进入应用程序搜索面板,很实用的功能;
Win键+F:进入文件搜索面板;
Win键+P:进入演示设置(屏幕切换/扩展);
Win键+X:进入Windows工具菜单,即所谓的伪开始菜单;
Win键+O:锁定屏幕方向;
Win键+. :将应用程序拆分栏移动至屏幕右侧;
Win键+Shift+“.” :将应用程序拆分栏移动至屏幕左侧;
Win键+PrntSc:将桌面截图自动保存到Screenshot文件夹中;
Win键+Enter:启动Narrator(讲述人);
Win键+E:开启我的电脑;
Win键+R:打开“运行”对话框,这个一定要记住;
Win键+U:打开“轻松访问”中心; 
Win键+Ctrl+F:打开查找计算机对话框;
Win键+Pause/Break:打开系统属性对话框;
Win键+数字键:启动锁定到任务栏中的由该数字对应的程序;
Win键+Shift+数字键:为锁定任务栏上该数字对应的应用程序启动新实例;
Win键+Ctrl+数字键:切换到该数字对应程序的最后一个活动窗口;
Win键+Alt+数字键:访问该数字对应程序的跳转列表; 
Win键+B:选择通知域的一个项目,可用方向键上下选择,回车键进入程序;
Win键+Ctrl+B:访问通知域的第一个应用程序;
Win键+T:循环切换任务栏上的项目; 
Win键+M:将所有窗口最小化;
Win键+Shift+M:恢复所有最小化的窗口;
Win键+D:显示/隐藏桌面; 
Win键+L:锁定计算机;
Win键+↑:当前窗口最大化; 
Win键+↓:当前窗口最小化/恢复当前窗口;
Win键+Home:除了当前窗口外,所有窗口最小化;
Win键+← :将窗口移动到屏幕左侧;
Win键+→ :将窗口移动到屏幕右侧;
Win键+Shift+↑:将窗口拉伸到屏幕的顶部和底部;
Win键+Shift+←/→:将窗口从一个监视器移动到另一个监视器;
Win键+F1:进入Windows帮助/支持页面。


Alt键相关的快捷键:

Alt:显示隐藏菜单栏;
Alt+D:选择地址栏;
Alt+P:显示Windows Explorer预览窗格;
Alt+Tab:循环切换打开项目窗口;
Alt+Shift+Tab:反方向循环切换打开项目的窗口;
Alt+F:关闭当前窗口,打开传统桌面的关机对话框; 
Alt+空格键:获取当前窗口的快捷菜单; 
Alt+Esc:以项目打开的顺序循环切换项目;
Alt+Enter:打开选定项目的属性对话框; 
Alt+PrtScn:将当前活动窗口的画面复制到剪贴板上;
Alt+↑ :在Windows资源管理器中将文件夹上移; 
Alt+←:显示先前的文件夹;
Alt+→:显示下一个文件夹;


与Shift相关的快捷键

Shift+Insert:打开或自动运行CD/DVD光驱;
Shift+Delete:彻底删除文件;
Shift+F6:将选项卡上的元素向后移动;;
Shift+F10:显示所选项的快捷菜单; 
Shift+Tab:将选项卡上的元素向后移动;
Shift+Click:选择一组连续的项目; 
Shift+点击任务栏按钮:为程序打开心实例;


与Ctrl相关的快捷键

Ctrl+A:全选; 
Ctrl+C:复制所选项; 
Ctrl+X:剪切所选项;
Ctrl+V:粘贴所选项;
Ctrl+D:删除所选项; 
Ctrl+Z:撤销;
Ctrl+Y:重做;
Ctrl+N:打开一个新窗口; 
Ctrl+W:关闭当前窗口;
Ctrl+E:选择窗口右上方的搜索选项; 
Ctrl+Shift+N:创建新文件夹;
Ctrl+Shift+Esc:打开任务管理器; 
Ctrl+Alt+Tab:用方向键在打开窗口间来回切换;
Ctrl+Alt+Delete:进入Windows安全界面;
Ctrl+Click:选择多个项目;
Ctrl+Tab:在选项卡上向前移动; 
Ctrl+Shift+Tab:在选项卡上向后移动; 
Ctrl+Esc:在Modern开始界面和最后访问的应用间切换;
Ctrl+鼠标滚动轮:更改所选项的外观尺寸;


其他常用快捷键

F1:显示帮助;
F2:重命名文件夹;
F3:打开搜索界面; 
F4:显示地址栏列表;
F5:刷新; 
F6:在窗口中或桌面上循环切换屏幕元素;
F7:在命令提示符中显示历史命令; 
F10:显示隐藏的菜单栏; 
F11:全屏显示;
Tab:在窗口或对话框选项中循环移动; 
PrtScn:将整个屏幕画面复制到剪贴板;
Home:移动到活动窗口的顶部; 
End:移动到活动窗口的底部; 
Num LocK+“+”:显示所选文件夹的内容;
Num LocK+“*”:选定所选文件夹下所有的子文件夹; 
按5次Shift:启用/关闭粘滞键;
按住右 Shift八秒钟:启用和关闭筛选键;
按住 Num Lock 五秒钟:启用或关闭切换键;

我可不奢望可以很快记住这么多快捷键组合。
由于Windows 8是个新鲜事物,还有大量的技巧等待开发,所以还在磨合期。



2012-10-06

WIN7无法将程序锁定到任务栏的解决方法


     Windows7系统提供的功能,可以将常用应用程序锁定到任务栏。但是可能有用户的功能失效(比如我),在任务栏上右键单击某应用后,不会出现“将此程序锁定到任务栏”这个菜单项的提示。一般来说产生此问题的主要原因就是该服务可能被优化软件误操作禁用了。鉴于目前优化软件的功能又多又乱,选项不统一,一个一个分析,明儿天亮了见那。所以在此处提出一个一般性的解决方法。
     将下列命令分别输入到开始-运行框里:
     1、cmd /k reg add "HKEY_CLASSES_ROOT\lnkfile" /v IsShortcut /f
     2、cmd /k reg add "HKEY_CLASSES_ROOT\piffile" /v IsShortcut /f
     3、cmd /k taskkill /f /im explorer.exe & explorer.exe
     
     OK了。     

     前两个命令都是cmd环境下向注册表添加键值的,第三个是重新启动explorer.exe资源管理器的。
     关于reg add命令,可说的也不少,以后再总结吧。

2012-10-05

解决Android SDK安装报错:JDK not found


重装系统 Windows7 64bit,安装Android SDK,遇到了问题:

检测系统是否安装JDK的时候总是提示:Java SE Development Kit (JDK) not found
Error:Failed to find java version for 'C:\windows\system32\java.exe': [2] 系统找不到指定的文件

但实际上JDK已然安装完了。
附,JDK的下载链接(64bit for windows): Download

打开C:\windows\system32文件夹,有java.exe,
CMD进入命令行,输入java是有正常反应的。这说明JDK没有安装错误

报错界面提示中,有一串英文,翻译为:如果你确认你的Java SE Development Kit (JDK)已经安装,那么需要去设置环境系统变量,指定:JAVA_HOME

Java运行是虚拟机执行模式,也就是说,必须在环境变量中指明虚拟机程序运行位置,即设置JAVA_HOME 的值。

1打开控制面板,选择“系统”。
点击“高级系统设置”,在“系统属性”下中,选择“高级”页面里的“环境变量”。
在系统环境变量中寻找名为 JAVA_HOME 的变量,如果没有的话请新建一个。
设置JAVA_HOME 变量的值为 C:\Program Files\Java\jdk1.7.0_07
这个值是JDK的安装路径,需要根据自己安装路径和版本的不同修改。

如果可能的话,新建或者修改一下几个变量值:

将 CLASSPATH 变量设置值为:
 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar

将 PATH 变量值在原有值的末尾加上英文半角的分号 ; 然后加上C:\Program Files\Java\jdk1.7.0_07\bin 
当然这个值同样要根据自己安装路径和版本的不同自行修改。

需要特别注意的是,分号一定要是英文半角字符的分号,path不能覆盖之前的值,而是添加在尾部。

确认是否正常修改请在CMD下输入 javac 就知道了。

以右键管理员身份运行重新执行Android SDK, OK.

2012-08-31

混乱你的代码


会编程的都会把程序搞得一团糟,当然程度不一样
下面是一个Step by Step的教程,如何把一个清晰的代码变得复杂难懂的。

开始程序

下面是一个素数查找的程序:
开始作案了:


void primes(int cap)
{
    int i, j, composite;
    for(i = 2; i < cap; ++i) {
        composite = 0;
        for(j = 2; j * j < i; ++j) {
            composite += !(i % j);
        }
        if(!composite){
            printf("%dt", i);
        }
    }
}
int main()
{
    primes(100);
}

第一步、把for变成while

一般来说,for循坏要比while循坏简单,上面的程序有二重for循环,我们要把其变成while循环,而且还要把二重循环的变成一重的循环,然后使用很多的if-else语句来判断。


void primes(int cap)
{
    int i, j, composite, t = 0;
    while(t < cap * cap) {
        i = t / cap;
        j = t++ % cap;
        if(i <= 1);
        else if(!j)
            composite = j;
        else if(j == i && !composite)
            printf("%dt",i);
        else if(j > 1 && j < i)
            composite += !(i % j);
    }
}
int main()
{
    primes(100);
}

第二步,把循坏变成递归

递归在某些时候可以把代码变得简单明了,但大多数的情况下是把代码变得复杂没有效率。下面是把上面的while循环变成了递归。变成了递归后,函数的参数都变成3个了。

void primes(int cap, int t, int composite)
{
    int i,j;
    i = t / cap;
    j = t % cap;
    if(i <= 1)
        primes(cap,t+1,composite);
    else if(!j)
        primes(cap,t+1,j);
    else if(j == i && !composite)
        (printf("%dt",i), primes(cap,t+1,composite));
    else if(j > 1 && j < i)
        primes(cap,t+1, composite + !(i % j));
    else if(t < cap * cap)
        primes(cap,t+1,composite);
}
int main()
{
    primes(100,0,0);
}


第三步,弄乱代码结构/使用没有含义的变量名

关于如何弄乱代码结构,其中一个小技巧是,使用“?”表达式代替if-else语句。


void primes(int m, int t, int c)
{
    int i,j;
    i = t / m;
    j = t % m;
    (i <= 1) ? primes(m,t+1,c) : (!j) ? primes(m,t+1,j) : (j == i && !c) ?
    (printf("%dt",i), primes(m,t+1,c)) : (j > 1 && j < i) ?
    primes(m,t+1,c + !(i % j)) : (t < m * m) ? primes(m,t+1,c) : 0;
}
int main()
{
    primes(100,0,0);
}

第四步,取消临时变量

临时变量一般用来保存反复使用的一个表达式的值。使用大量重复的表达式来取消这些临时变量的也可以让代码复杂起来。


void primes(int m, int t, int c)
{
  ((t / m) <= 1) ? primes(m,t+1,c) : !(t % m) ? primes(m,t+1, t % m) :
  ((t % m)==(t / m) && !c) ? (printf("%dt",(t / m)), primes(m,t+1,c)) :
  ((t % m)> 1 && (t % m) < (t / m)) ? primes(m,t+1,c + !((t / m) % (t % m))) :
  (t < m * m) ? primes(m,t+1,c) : 0;
}
int main()
{
    primes(100,0,0);
}

第五步,继续弄乱变量名

我们知道,下划线是合法的变量名,所以,我们不妨用__,___,____来代替m,t,c。函数名也可以使用下划线来代替。让我们来看看求素数的函数能变成什么。

void _(int __, int ___, int ____)
{
    ((___ / __) <= 1) ? _(__,___+1,____) : !(___ % __) ? _(__,___+1,___ % __) :
    ((___ % __)==(___ / __) && !____) ? (printf("%dt",(___ / __)),
    _(__,___+1,____)) : ((___ % __) > 1 && (___ % __) < (___ / __)) ?
    _(__,___+1,____ + !((___ / __) % (___ % __))) : (___ < __ * __) ?
    _(__,___+1,____) : 0;
}
int main()
{
    _(100,0,0);
}

第六步,移除常量

在上面的程序中,还有一些常量,你可以通过增加一个宏定义,或是增加一个函数的形参来取代这一常量。

void _(int __, int ___, int ____, int _____)
{
    ((___ / __) <= _____) ? _(__,___+_____,____,_____) : !(___ % __) ? _(__,___+_____,___ % __, _____) :
    ((___ % __)==(___ / __) && !____) ? (printf("%dt",(___ / __)),
    _(__,___+_____,____,_____)) : ((___ % __) > _____ && (___ % __) < (___ / __)) ?
    _(__,___+_____,____,_____ + !((___ / __) % (___ % __))) : (___ < __ * __) ?
    _(__,___+_____,____,_____) : 0;
}
int main() {
    _(100,0,0,1);
}


程序到这里应该差不多了。

会编程的都会把程序搞得一团糟,真的。