Chrome关闭时保存打开标签页面,开浏览器时访问上次打开页面

不知道你是否和穆童一样,用电脑会有大量的时间使用浏览器浏览网页。使用Chrome浏览器浏览网页可以在同一窗口打开多个页面(俗称标签页),而我就会同时开着很多页面。不过有时候之间不允许需要关闭电脑,那么有没有办法让Chrome浏览器关闭时保存上次我打开的标签页面呢?就好像我以前使用的火狐浏览器那样,再次开启浏览器是会自动打开之前被打开的网页?答案是肯定的!

这个功能其实Chrome浏览器是有的,只是在默认情况下没有开启而已。一些人不知道在哪里设置,还下载插件来实现这个功能其实是完全没有必要的,因为开启方法很简单,更具下面步骤,轻点鼠标即可:

右上角“自定义控制”→“设置”→在启动时栏目中选择“继续浏览上次关闭浏览器时在看的网页”

Chrome关闭时保存打开标签页面

关于青少年网瘾戒除的一些看法

目前关于这方面的不少吧,小到心理医生大到戒所,那么为什么要戒网瘾?理由不过如下,简单说就几句,因为网瘾容易剥夺一个人的奋斗精神,同时上瘾的人不会在乎吃喝导致身体素质问题,很严重。

在谈论网瘾治疗是非前,我们来看另外个瘾,即酒瘾,酒瘾比起目前网瘾的数量高出10倍,已经是最少的了吧,那么酒瘾能导致怎么样的问题,用一句俗话来说,酒后乱事,有酒瘾的人经常喝醉难免,那么喝醉之后呢?肆意打人骂人,以及杀人,这类在新闻里都很常见,更有中风,短暂记忆消失等现象。那么酒瘾的后果是否比网瘾要严重?网瘾再怎么危害也不过是自己本身,而酒瘾不但危机自身,同时还危及到他人生命。

这两种我认为如果要严密执行也应该戒酒瘾的先,而不该网瘾。毕竟酒瘾导致家庭不和,以及危害他人生命的事例 频率比网瘾多出数十倍以上,而网瘾目前死人也只极少死亡于不吃不喝,而在网瘾死亡里面多数却是被介网所类的弄死。这两者无论怎么看都应该先戒酒瘾。但是目前的现实却是戒网瘾的粒度远高于前者,原因无非只1个,酒瘾的人太多,多到基本每个人都是,这种情况下没有煤体敢直接指责酒瘾的不是。而网瘾相对的多数起源于80年以后出生的人,而80后的长辈恰恰是完全不懂得使用电脑的人。加上煤体直接的指责,导致各家长心理上的恐慌,加之那些埋没良知的商人蓄意的背后造势推动。而对于各部医生而言,尤其是心理学医生,他们只负责诊断,而在诊断上的确事实是属于他们份内于是也就做了,同时部分医生收取戒所回扣,将人介绍进去,这样形成一种商业链。

其实网瘾这东西,并不是戒所力所能及的东西,无论别人怎么讲,真正上瘾的人就算被怎么戒都好,最终还是要回到网络的世界里去的, 因为造成网瘾的最终原因是这个社会,网络是逃避现实的东西,里面聚集了一群有梦想的上瘾人,一群梦想因为各种原因在现实几乎无法被实现的人;里面还有逃避亲人的人,因为最亲的人的独裁,逼的他们不得不整天把自己锁在房间里,因为讨厌他们,不得不每餐都找借口不一起吃,躲起来自己上网的人;还有一部分人,那就是天生什么都安排好,以及富到无聊不用工作的人; 这就是网络里的所谓真正上瘾人员,这部分人可以离开网络1个星期1个月1年10年。离开了他们还是他们,因为他们不是为了上网而上网,不是为了游戏而游戏,在他们的网络世界里即无聊使没了其他人,他们还有自己可以因自己创造而自我欣赏,就算不能这样他们还能重复地去玩过去早玩过书10遍的游戏和电影。

这类人,请问戒所能奈何的了他们什么,从戒所里出来,这个世界还是这个世界,改变不了的还是改变不了,独裁的亲人还是独裁的,他们最终还是会逼回他们的网络世界,不会因为戒所里所谓的死亡折磨式的训练出现任何动摇。因为他们的心早就死了,活着不如由别人赐予一死。这部分便是真正的网瘾者。而剩下的,我不敢说是少数,那些最初就没有任何目的只为娱乐的人,用我的一句话来说,那些人终归是庸人,戒掉或没戒对这个世界都没任何影响,或许就这样不戒地死了好,因为活着他们也是注定给人宰割的料。没有目的只因为什么而去做什么的人,注定只能是社会的最下层。死了反而痛快。

所以网瘾者的周围必定存在独裁不和睦家庭,或网瘾者在某方面有过人之处,却不被这个世界所用,一把利剑如果不被用那么注定呆在一角独自欣赏到生锈,任何个想叫人去戒网瘾的人最好先考虑他的家庭,他本身否则一切都是白费

便携手机网络通信设想

目前,中国三大移动通行商:中国电信,中国移动,中国联通,基本是三国演义的态势。

不知道大家有没有关注过中国电信。他从一个网络服务提供商,不知不觉的进入了中国移动通信行业,凭借自己在固定电话和宽带入口的原始积累,厚积薄发,一举打入移动数据领域。看看你有多少同学使用了电信,有有多少设备提供商宣布支持UIM卡。

我预测传统的基站通信必将逐步被高速数据通信取代,日后的手机将不在需要充值话费,相反需要的只是流量的套餐,这可以反应到APP应用上,例如,使用扣扣,微信等APP,完全可以么告别短信这种东西了,等习惯了发短信的长辈们淡出工作环境,80后,90后顶起社会大梁,智能机占据所有市场(这将是历史的必然,因为手机的生产厂家不会继续生产老标准手机),当3G乃至4G网络普及的时候,如今的微信等APP就完全可以做到点对点甚至点对面的无延迟语音和视频交互,不需要你先录音后发送,其实现在某APP爱聊已经做到了这一点,可以在3G手机之间实现高效率的直接通话只收取流量费。

想象一下吧,如果某款软件集成了文字发送和语音视频交互(且软件的部分插件始终保持开机后台运行,就像扣扣的消息盒子)就可以完全替代基站通信,也就不在需要入网身份识别啦,sim等退出历史舞台,替代他们的只是手机3G网接入卡。平板电脑等一切联网设备利用APP进行软交互,也就是说,唯一的不同就是给你弹出窗口的不是“短信”这程序而是消息盒子,手机中不在需要模数转换模块,需要的只是无线网卡和扬声器。这也将大大降低手机的耗电量。

最关键的是,给你移动通信领域的消费者无法估量的实惠价格。这将是摆在所有人面前的一个机遇,现在万事具备,只等高速网络和智能手机在全国普及到位,必然会有一个公司(可能是电信,也可能是TX也很有可能是一个APP开发团队,撅取这空前规模的巨大市场。)
我想这一点三大运营商都看在眼里的。之前移动推出飞信,联通推出手机邮箱就是了铁证。

山雨欲来风满楼,10年之内,不再有人依靠10086发来的彩信天气预报,不再有人需要“一万号”给你发什么生活小常识,手机与电脑的界限不在那么明显。数据为王,流量至上的时代即将来临。

锐捷4.44破解图文教程(扬州大学扬子津校区)

天冷了,大家都在床上玩pad吧,前天为了让凯杰能坐在炕上玩PAD我是焦头烂额也没成功,倍受打击,也为了将来让选择的pad有网可用,为了给本班同学实际的福利,今天特地钻研了一下锐捷的路由破解办法,在此感谢四班吴伟晓同学的温馨提示,更加感谢华中科技大学的HUST同学!

这是利用带无线网卡的笔记本创建一个WiFi热点,让带WIFI功能的手机,pad和笔记本都能连上网。 而且针对扬大 最新的锐捷4.44客户端破解双网卡(虚词泛指多网卡)限制。(没有这步无法建立热点)。(相关:Win7一键设置WiFi热点

先说点题外的,扬州大学扬子津校区比较变态,锐捷版本是4.44,比较新!。 其实创建WiFi 热点一点也不难,百度上此类教程一大把。只要有根网线一个笔记本,基本会打字的选手照做就能自己建立起来。但是最可恨的是——锐捷,这个联网客户端限定IP,当你建立好一个WiFi用手机联网大约45秒以后,锐捷客户端就会自动弹窗掉网,然后用网上常用的破解方法结果发现扬大的客户端居然用的是动态IP 动态IP!!!尼玛。不过话又说回来,他不过是增加了我们的破解难度罢了。

相比较网上其他的破解方法,此方法最快捷最安全,同时,也是最符合我们扬大扬子津校区的网络环境,考虑到所有可能发生的情况,比如缺少dlL文件的快捷解决办法。相信就算是女生也能迅速假设自己的路由网络。

一、创建WiFi 热点

这里的建立WiFi热点让手机、笔记本共享上网有几个条件:1:系统必须是WIN7(不是WIN7可以使用XP中专用的虚拟网卡软件,这里笔者就不在赘述);2:笔记本的网卡必须支持承载网络(最好更新到最新的无线网卡驱动)

1.怎样看你网卡支不支持承载网络了? 已管理员模式运行CMD 输入命令行netsh wlan show drive如果支持会显示为 是 。(我4741当时显示的是不支持,后来更新无线网卡的最新驱动之后把网卡都打开之后就支持了,所以不要灰心,下载一个驱动人生2012把你网卡的驱动都更新了吧。)

网卡支不支持承载网络

2.下面就搭建承载网络 输入netsh wlan set hostednetworkmode =allow ssid=你想用的名称(比如zhangjian) key=12345678(比如XXOOXXOO密码8位)

搭建承载网络

3.此时在网络和共享中心的更改适配器设置里面可以看到一个多的虚拟网卡 “无线网络连接2” Microsoft Virtual WiFi Miniport Adapter. (然后把它重命名为:虚拟WiFi)

虚拟网卡

这时在本地连接 的网卡属性里面 选择 共享, 下拉菜单选择虚拟WiFi ,然后选择 共享,两个对勾都点上。

虚拟WiFi

4.打开无线网卡(这步狠重要,无线开关一定要打开,比如我用的ACER4741G下面一个开关,然后Fn+F3也有一个无线开关注意打开) 输入命令行netsh wlan start hostednetwork启动承载网络

启动承载网络

5..不过每次开机这个命令并不会自动启动,还须手工启动,就是在命令提示符CMD里再次运行netsh wlan start hostednetwork

6.其实正常的,这步就已经可以用手机联网High 起来了 ,但似此时联网就会发生最开始说的那个问题——锐捷提示多余IP需要禁用

扬州大学扬子津校区锐捷4.44破解教程

二、扬大锐捷客户端V4.44版本破解双网卡限制

此时就要用到这个软件——MentoHUST

下载地址http://dl.vmall.com/c0q8o6ripk ;(在网上搜的我用的版本)没有华为账号的我用QQ传给他,我在线的时候,可以M我QQ:420579510

使用方法:先介绍文件包里的文件

MentoHUST程序

MentoHUSTTool.exe是抓包工具,
template.mpf是被抓包的原文件 / 抓包之后他就是 自定义认证数据包
mentoHUSTT.exe就是破解双网卡 并代替锐捷的认证客户端

1.上面WiFi热点建立完成之后,首先打开 安装卸载.bat (国内杀软360报毒,它说什么都无视)

2.按提示安装,安装完成之后退出。然后打开锐捷(扬大客户端)点联网 的同时打开MentoHUSTTool.exe原文件选 文件夹里的template.mpf。网卡那项选择你电脑的网卡。(只抓Start包不勾选)然后点击开始。

阿七提醒:个别盗版系统缺少文件Wpcap.dll这时候需要使用软件增加到DLL列表。这里我找到一个傻瓜专用的简单软件→点此下载Wpcap.dll,无法下载的请当我在线的时候M我。

3.然后打开mentohust.exe

设置→参数设置→勾上自定义认证数据包→然后打开刚刚抓的包(就是那个template.mpf)

DHCP方式选 认证后。账号设置→填帐号,密码 IP不用填,然后如下图“确定”退出。

锐捷4.44客户端破解

最后一步最关键!!最关键啊最关键!!因为扬大锐捷客户端是动态IP的,所以无法用mentohust直接认证联网!这时就得用点小手段了, 先开锐捷联网,再开mentohust。当锐捷已经连上网的时候 在mentohust 马上认证。 然后迅速用任务管理器结束锐捷进程(8021.exe这个是锐捷的进程!),这样锐捷还没来得及通知服务器就被强制结束了,而MentoHUST可以继续拨号。

不会开启任务管理器的同学 你到我宿舍来找我吧。成功!! 刚才桂泉的手机已经成功联网,使用的是我的锐捷路由也已经实现,目前可以做到10M范围的共享。 大家以后可以多多尝试这种省钱的好办法以后合冲网费共享游戏。

扬州大学扬子津校区锐捷4.44破解

这是破解之后的上万图片锐捷已经被强制关闭,使用的是破解抓包软件,现提供三班同学的免费上门破解服务。

Windows内核学习之进程保护器(防止任务管理器结束进程)

写了三天左右,思路什么的都很清晰,真正实现的时候就各种问题,蓝屏蓝到麻木了,幸好是虚拟机,半年前就打算看驱动了,因为各种原因耽搁了,现在什么都要重新来,这篇文章就当是开门贴吧。

主要功能:防止任务管理器结束进程。

主要原理:HOOK SSDT表中的NtOpenProcess,如果传入的是保护进程的PID,则返回无效句柄。

这个Windows进程保护器的主要界面如下:

防止任务管理器结束进程

利用此程序实现的禁止任务管理器中结束进程的效果图:

禁止结束进程

实现过程总结

应用程序层:

//为listcontrol添加右键菜单
#ifndef GET_X_LPARAM
#define GET_X_LPARAM(lParam) ((int)(short)LOWORD(lParam))
#endif
#ifndef GET_Y_LPARAM
#define GET_Y_LPARAM(lParam) ((int)(short)HIWORD(lParam))
#endif
case WM_CONTEXTMENU:
{
UINT xPos;
UINT yPos;
HWND hwndContext;
hwndContext = (HWND)wParam;
HWND hWndlist= GetDlgItem(hDlg, IDC_PROCESS_LIST);
xPos = GET_X_LPARAM(lParam);
yPos = GET_Y_LPARAM(lParam);
// 来自 hWndlist 的消息
if(hwndContext == hWndlist)
{
// 非右键点击
if (xPos == -1 || yPos == -1)
{
break;
}
HMENU hMenu=LoadMenu(hIns,MAKEINTRESOURCE(IDR_MENU1));
HMENU hMenuTrackPopup=GetSubMenu(hMenu,0);
TrackPopupMenu(hMenuTrackPopup,TPM_LEFTALIGN | TPM_RIGHTBUTTON,xPos,yPos, 0, hDlg, NULL);
DestroyMenu(hMenu);
}
// 做你自己的事
break;
}
TrackPopupMenu倒数第二个参数,要为当前对话框的句柄,否则无法响应菜单ID。
//初始化listcontrol

VOID ListIni(HWND hDlg)
{
HWND hWndlist;
LVCOLUMN ColInfo1 = {0};
LVCOLUMN ColInfo2 = {0};
LVCOLUMN ColInfo3 = {0};
LVCOLUMN ColInfo4 = {0};
LVCOLUMN ColInfo5 = {0};
hWndlist= GetDlgItem(hDlg, IDC_PROCESS_LIST);
SendMessage(hWndlist, LVM_SETEXTENDEDLISTVIEWSTYLE, 0,
LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP | LVS_EX_GRIDLINES);
ColInfo1.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_FMT;
ColInfo1.iSubItem = 0;
ColInfo1.fmt = LVCFMT_CENTER;
ColInfo1.cx = 100;
ColInfo1.pszText = "进程名";
ColInfo1.cchTextMax = 50;
ColInfo2.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_FMT;
ColInfo2.iSubItem = 0;
ColInfo2.fmt = LVCFMT_CENTER;
ColInfo2.cx = 50;
ColInfo2.pszText = "PID";
ColInfo2.cchTextMax = 50;
ColInfo3.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_FMT;
ColInfo3.iSubItem = 0;
ColInfo3.fmt = LVCFMT_CENTER;
ColInfo3.cx = 80;
ColInfo3.pszText = "EPROCESS";
ColInfo3.cchTextMax = 50;
ColInfo4.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_FMT;
ColInfo4.iSubItem = 0;
ColInfo4.fmt = LVCFMT_CENTER;
ColInfo4.cx = 210;
ColInfo4.pszText = "路径";
ColInfo2.cchTextMax = 50;
ColInfo5.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_FMT;
ColInfo5.iSubItem = 0;
ColInfo5.fmt = LVCFMT_CENTER;
ColInfo5.cx = 50;
ColInfo5.pszText = "状态";
ColInfo5.cchTextMax = 50;
::SendMessage(hWndlist, LVM_INSERTCOLUMN, WPARAM(0), LPARAM(&ColInfo1));
::SendMessage(hWndlist, LVM_INSERTCOLUMN, WPARAM(1), LPARAM(&ColInfo2));
::SendMessage(hWndlist, LVM_INSERTCOLUMN, WPARAM(2), LPARAM(&ColInfo3));
::SendMessage(hWndlist, LVM_INSERTCOLUMN, WPARAM(3), LPARAM(&ColInfo4));
::SendMessage(hWndlist, LVM_INSERTCOLUMN, WPARAM(4), LPARAM(&ColInfo5));
}
//与驱动间的通信
传入要保护的进程PID数组
bRet = DeviceIoControl(hDevice, IOCTL_PROTECTPROCESS_CONTROL, ProPid, sizeof(ULONG)*100,
NULL,0,&dwOutput, NULL);
//从驱动中获取当前进程列表
bRet = DeviceIoControl(hDevice, IOCTL_GETPROCESS_CONTROL,&de, sizeof(ULONG),ProcessList,
sizeof(_ProcessList)*100,&dwOutput, NULL);
驱动层:
#pragma PAGEDCODE
struct _ProcessList
{
UCHAR ProcessName[30]; //进程名
ULONG PID;//PID
ULONG Eprocess;//Eprocess
ULONG ProCount;
}ProcessList[100];
#pragma PAGEDCODE
ULONG ProPid[100];

当时看的是Windows驱动开发详解,把变量换到分页内存中,害我蓝屏了30多次。

//获取进程列表
VOID EnumProcessList()
{
ULONG EProcess , FirstEProcess ;
ULONG dwCount = 0 ;
PLIST_ENTRY ActiveProcessLinks;
ULONG dwPidOffset =0x84;
ULONG dwPNameOffset = 0x174;
ULONG dwPLinkOffset = 0x88;
ULONG dwProcessId;
PUCHAR pImageFileName;
FirstEProcess = EProcess = ( ULONG ) PsGetCurrentProcess() ;

while ( EProcess != 0 )
{
dwProcessId = * ( (PULONG) ( EProcess + dwPidOffset ) ) ;
pImageFileName = ( PUCHAR ) ( EProcess + dwPNameOffset ) ;
if ( ( LONG ) dwProcessId >= 0 )
{
//DbgPrint( "[Pid=%8d] EProcess=0x%08x %s\n" ,dwProcessId , EProcess , pImageFileName ) ;
strcpy((char*)ProcessList[dwCount].ProcessName,(char*)pImageFileName);
ProcessList[dwCount].PID=dwProcessId;
ProcessList[dwCount].Eprocess=EProcess;
ProcessList[dwCount].ProCount=0;
dwCount ++ ;
}
ActiveProcessLinks = ( PLIST_ENTRY ) ( EProcess + dwPLinkOffset ) ;
EProcess = ( ULONG ) ActiveProcessLinks->Flink - dwPLinkOffset ;
if ( EProcess == FirstEProcess )
{
break ;
}
}
DbgPrint ( "ProcessNum = %d\n", dwCount ) ;
ULONG i=0;
ProcessList[0].ProCount=dwCount;
DbgPrint ( "ProcessNum = %d\n", ProcessList[0].ProCount ) ;
for (i=0;iMajorFunction)
{
case IRP_MJ_CREATE:
DbgPrint("IRP_MJ_CREATE被调用\n");
break;
case IRP_MJ_CLOSE:
DbgPrint("IRP_MJ_CLOSE被调用\n");
break;
case IRP_MJ_DEVICE_CONTROL:
DbgPrint("IRP_MJ_DEVICE_CONTROL被调用\n");
IoControlCode=IrpStack->Parameters.DeviceIoControl.IoControlCode;
switch(IoControlCode)
{
case IOCTL_PROTECTPROCESS_CONTROL:
inSize=IrpStack->Parameters.DeviceIoControl.InputBufferLength;
outSize=IrpStack->Parameters.DeviceIoControl.OutputBufferLength;
inBuf=(long*)pIrp->AssociatedIrp.SystemBuffer;
RtlCopyMemory(ProPid,inBuf,sizeof(ULONG)*100);
break;
case IOCTL_GETPROCESS_CONTROL:
PVOID pInputBuffer, pOutputBuffer;
ULONG outputLength, inputLength;
DbgPrint("COMM_BufferedIo\r\n");
outputLength = IrpStack->Parameters.DeviceIoControl.OutputBufferLength;
inputLength = IrpStack->Parameters.DeviceIoControl.InputBufferLength;
pInputBuffer = pIrp->AssociatedIrp.SystemBuffer;
pOutputBuffer = pIrp->AssociatedIrp.SystemBuffer;
DbgPrint("COMM_BufferedIo UserModeMessage = '%s'", pInputBuffer);
for (int i=0;iIoStatus.Information = outputLength;
break;
default:
break;
}
break;
default:
DbgPrint("未知请求包被调用\n");
break;
}
IoCompleteRequest( pIrp, IO_NO_INCREMENT );
KdPrint(("Leave HelloDDKDispatchRoutine\n"));
return status;
}

Linux与视频文件的硬解播放

硬解还是软解,这是个问题。但关键是,你能硬解么?视频文件要播放得先拆包分离,然后对分离出的数据解码,解码后才是可播放的raw视频直接输出到显示器播放。其中使用cpu进行解码,就是软解,使用GPU(显卡)进行解码,就是硬解。

那么为什么需要硬解。一般来说,windows下,默认的解码方式一般是软解,硬解是相对有点麻烦的。cpu的运算能力足够,一般使用软解也非硬解,因为软解现在更成熟,对应的编码更广,也更稳定。但,前提是你的cpu足够劲。我认为拥有移动版i3以上的cpu,硬解就毫无必要了。但我用来装linux的小贝壳是c-60的cpu,频率只有坑爹的双核1G,还不如我的手机,但是它内置有一颗不错的显卡,HD6290,可以达到i3级别,这种情况下硬解就是唯一出路。但是linux硬解却是很麻烦的。

Linxu显卡驱动

现在显卡制造商分为三大家:intel,ati和nvidia,一般来说,n卡是最稳定支持也最多的,但是n卡只有闭源驱动,这也是林纳斯对nvidia竖起中指的原因之一,intel次之,intel只有一种驱动,但这玩意是开源的,配合intel强大的技术力,让intel成为至少是我认为的linux最好选择,最后是ati,广大linuxer认为最坑爹的厂商。ati有2种驱动,开源的一种,只能发挥出显卡一半的性能而且耗能极大,闭源的一种,相对好一点但比n卡稳定性差很多。我的就是a卡,至今为止不曾悲剧。

但是光有显卡驱动还不够.这在windows上也是一样的。显卡驱动本身不提供硬解所用的编程接口,你还需要驱动和播放器中间的api接口,从windows上这个叫DXVA,是自带的,由微软定义。从linux上由于没有了厂家,所以只能由显卡制造商来定义,n卡的名为vadpu,a卡和intel的名为vaapi,是由intel开发的。

我的猜测,可能不对(我经常犯错).在windows上编写一段代码,计算1+1=?,很简单就得出了,但是这个结果是由cpu计算的,如果要由gpu计算1+1=?,就得安装相应厂家的sdk,道理是一样的。相应显卡驱动可能提供了把某条线显示在某个位置的函数,但是不一定提供计算的函数,所以需要sdk把计算翻译成驱动能理解的语言。直接和驱动对话,如果播放器自身具备翻译的能力应该也是可以的,但是不现实,要每个播放器都去实现这些复杂又相互重复的任务。所以厂家就站出来,提供了这段代码。所以:

1.你需要正确安装显卡(闭源)驱动
2.你需要正确的安装vaapi(或vadpu)
3.你需要一个能正确调用vaapi接口的播放器

看起来是很艰巨的任务啊。

首先cat /var/log/Xorg.0.log | grep UVD。如果[ 2785.567] (II) fglrx(0): UVD feature is enabled(II) fglrx(0): 或者类似,说明硬件支持。我参照http://taoofye.appspot.com/?p=204001(需那啥,否则打不开) 和 http://taoofye.appspot.com/?p=204001 进行设置。但这两篇都太老了,跟不上时代的发展,前者虽然是最近的但是介绍的方法不奏效,我来总结一下,唯有原理是永不过时的。首先你需要正确安装闭源驱动,我的ati显卡,直接安装了ubuntu附加驱动里提供的版本,实测OK。接下来是vaapi,我单纯的也是从源里安装:

sudo apt-get install i965-va-driver
sudo apt-get install libva1 vainfo
sudo apt-get install xvba-va-driver
sudo apt-get install libva-glx1 libva-dev

会安装一些依赖包:

libva:也就是传说中的VAAPI,是一个开放源代码的提供硬件解码功能的模块;
va-i965-driver:Intel显卡的VAAPI后端,负责连接Intel显示卡驱动与VAAPI。
xvba-video:AMD/ATi显卡的VAAPI后端,负责连接AMD/ATi显示卡驱动与VAAPI。
vdpau:NV显卡的VAAPI后端,负责连接NV显示卡驱动与VAAPI。

然后vainfo一下,如果最下面有vaapi且没有什么错误,就成功了。

vaapi接口播放器

linux上可用硬解的播放器,据我调查,分为御三家。XBMC可调用xvba硬解,大名鼎鼎的mplayer,可调用vaapi,和花见花开的vlc,这好像是最好的。

XBMC我不是太熟,之前都没听说过,有兴趣的可以看看http://forum.xbmc.org/showthread.php?tid=116996,有详细的说明,需要注意的是它也要添加第三方源来安装,不过有现成编译好的版本

Mplayer本身的代码不含任何vaapi支持,气人的是它内置了vaapu支持,团队老大大约是nvidia的人。支持vaapi的是mplayer的一个分支,叫mplayer-vaapi,你可以在gitorious.org/vaapi/mplayer 使用git获得源代码,可是这货是需要自己编译的,我花了整整一个晚上编译它,最后碰了一鼻子灰。和网上说的完全不一样。make失败,我怎么知道vo_vaapi.c里为什么他妹的少个变量,这又不像少个文件那么简单。需要注意的是这货在pacman里有一个预编译的包,所以假如你使用arch的话,可以试试。而且这货即使安装成功也没有出色的图形前端,公认最好的前端smplayer在vaapi解码下各种死机。但如果能忍受这一切并且编译成功的话,据我所知它是性能最好的。

最后是vlc,最傻瓜的选择。最新的vlc 已经预先内置了vaapi支持,所以你直接在vlc里输入与解码器选项卡,打开硬件加速,就可以硬解了。如果是从命令行启动vlc可以看到using va-api 0.32 version等等类似的信息就行了。需要注意的是vlc的wiki里有两篇谈到硬解如何如何费事,还要重新编译vlc云云那都是三年前的,现在不那样了。

那么硬解有什么效果?我的华硕1015BX之前播放720p偶尔会卡,现在完全不卡了,下载了《我是传奇》的1080P 官方宣传片,也不卡,但是不是所有1080P都不卡,放了放思路压得拯救大兵瑞恩,每隔5秒会卡一下,但起码不是完全不能放,证明解码能力的确大大提高,与此同时,cpu占用大概只下降了10%还不到,但是解码能力提高是关键。

我很希望在买这小白贝壳机之前有人能告诉我这些,但是事实证明,世上没有什么救世主,一切还是得靠自己。

Win7如何关闭自动更新?Windows自动更新怎么关闭?图文

如果我们的电脑在安装Win7系统的时候没有选择在线更新安装,那么安装之后的系统就会在任务拦下出现一个如下的自动更新小图标:

Win7关闭自动更新

这种更新提示通常情况下只会出现在纯净版系统中,而使用GHOST安装Win7由于被做过修改,将自动更新关闭了所以不会有这样的提示。那么我们安装的Win7纯净版系统应该怎么关闭自动更新呢?下面穆童以Win7为为大家解说一下:

由于系统本身提供了系统更新的相关设置,而里面就包含关闭自动更新的选项,我们要做的就是按照以下步骤点到那个选项的位置,一次点击:

“开始”→右边的“计算机”→新对话框头部的“系统属性”

系统自动更新位置

当我们点击了“系统属性”按钮后会弹出一个操作系统基本属性的对话框,我们再按照下面的顺序点击这个对话框的:

左边下方“Windows update”→左边上方“更改设置”→会弹出安装更新方法对话框

打开这个“选择Windows安装更新的方法”对话框后,我们会看见“重要更新”栏目下的选择框被选中了“自动安装更新(推荐)”这个选项。我们需要做的就是点击这个选项,它会如下图那样以下拉列表框的形式显示有很多选项:

选择“从不检测更新”

选择完之后我们点击窗口下的“确定”按钮就可以完成Win7系统关闭自动更新的设置了,而对于Vista来说设置方法很类似,而Windows XP虽然按钮位置不同但是相信大家也会举一反三找到设置的地方的。那么系统到这里对如何关闭自动更新这个问题的解答也就结束了。

另外:我觉得如果你没有使用第三方安全软件来给你的系统安装更新的话,我还是建议你尽量选择“检测更新,但让我选择是否下载和安装更新”,这样既能在不干扰你正常工作的情况下也能随时确保系统的最佳安全状态,因为一些更新的主要作用是用来修补系统的漏洞,而这些漏洞可能会被定都利用。如果完全关闭了自动更新,且不使用第三方安全软件来检测安装更新的话,这有可能会对你电脑系统的安全产生隐患。

联想ThinkPad SL400笔记本USB接口不能用维修

综述:一款联想ThinkPad SL400笔记本电脑的USB接口不能使用(USB鼠标测试没有通电,往里面插入别的USB设备均没反应)的成功维修及分析过程。

维修类别:联想笔记本维修
电脑型号:ThinkPad SL400
主板编号:ROCK Y40/50
故障现象:USB接口不能用
位置分析:USB供电/USB数据线

维修分析过程:

首先使用了一款USB鼠标将其插入到笔记本的USB接口中,发现鼠标的下面红色灯没有亮,判断肯定供电有问题。将笔记本拆开后测试测量USB没有5V供电,继续查图纸,发现+5V_USB没有电压。

笔记本电脑USB接口不能用维修电路分析

华硕代工的主板,板上没有料号。故打开点位图用NET 查询+5V_USB,发现点位图上与硬盘下面一芯片U5201相连。看此芯片型号为TPS2062,查图纸。此芯片为USB限流开关,测其6脚对地阻值为16,7脚对地四百多。显然此芯片有问题,手头无此芯片。网上订更换之后试机OK,至此此款联想SL400笔记本USB接口不能用维修完毕。

解答WSRD过期是什么意思?可否安全移除?

相信不少使用苹果公司采用iOS系统的的iPhone或者iPad的时候遇到过系统会探出一个“WSRD文件过期”的提示,看到这个提示很多人有些迷惑,不知道提示WSRD过期是什么意思,这个文件时干嘛用的。

之所以普遍出现这个问题是因为使用者的iOS里面安装了测试版软件,而这个WSRD文件是测试版软件的授权描述文件,里面包含了软件授权日期以及到期日期等信息。而如果这个文件过期了就意味着软件无法正常使用了。其本身和iOS系统是没有关系的,如果你不在乎那个软件那么可以大胆的将其移除,这样就不会提示WSRD过期了。

说说Win8专业版/普通版/企业版以及RT这4种版本之间的区别

随着微软的Win8系统的到来,以及其在网络上的热议,使得了解不同版本Win8系统之间的区别无疑对即将购买新电脑的用户以及技术爱好者都显得很有必要。目前来说,Win8的版本没有他的前辈Win7那样多,一共只有四个版本,本别是RT版/专业/普通/企业这四种。

Win8 RT版:主要是针对采用ARM处理器的电脑所推出的版本(目前很多平板电脑就是ARM处理器的,微软这么做也是为了迎合用户的需求),其和专业版是亲兄弟。

Win8 普通版:普通版是最便宜的一个版本了,从以后来看,普通版也是我们普通用户最关注的版本了,因为作为Win8正版系统发行对打的“新电脑预装”方式发布的就是普通版。普通版取消了一些普通用户很少用到的功能,比如从虚拟硬盘启动﹑Hyper-v﹑磁盘加密﹑文件系统加密﹑加入Windows域组策略等。从虚拟硬盘启动也就是VHD格式的虚拟硬盘,可以在Win8中被加载并识别为普通硬盘,从而可以启动到虚拟硬盘里面的系统;而组策略普通用户很难玩转,一不小心系统可能就出问题。这些较少被一般用户用到的功能都不会包含在普通版里。

Win8专业版:专业版和普通版的区别就是多了以上那些功能,那些功能一些专业用户会使用到,但相对来说专业版要玩转的话要比普通版难。

Win8企业版:企业办毫无疑问就是面向企业用户推出的,里面肯定会有很多更为专业的以及更加商务化的功能,比如DirectAccess(直接访问)和HranchCache(分值缓存)都是在一些较大型的局域网环境下才会被用到的功能。