Win10运行程序报错怎么办?
平时我们都是通过双击EXE程序文件直接运行,但是在一些时候,这种方法却无法成功启动程序。那么是什么原因导致?我们又该如何解决这些问题?
双击无效?病毒在搞鬼
默认情况下,对于EXE程序文件我们只要双击即可自动激活运行。可是有时候双击EXE文件,系统却会提示“该文件没有与之关联的程序来执行该操作”,EXE文件无法运行了(图1)。
图1 双击EXE文件后无法运行
这个故障的原因大多数是由于病毒更改EXE默认打开方式造成的,因此解决的方法是重新关联EXE正确打开方式。由于EXE无法运行,我们需要使用其他可执行程序来进行修复。默认情况下系统内的.com、.scr(即屏幕保护文件)、.bat都是可执行的。打开资源管理器,定位到“c:\windows\system32”,然后将cmd.exe所有者更改为当前用户,并将当前用户对该文件的所有权设置为“完全控制”,最后将“cmd.exe”更改为“cmd.com”,以管理员身份运行后依次输入下列的命令进行修复(图2)。
图2 使用命令行方式修复
ftype exefile="%1"%*
assoc .exe=exefile
注意,在ftype exefile="%1"%*、assoc .exe=exefile这些命令中,.exe前面有一个英文小点,小点前还有一个半角空格,这些都不能少,否则命令会出错。
小提示:
如果病毒将系统内所有类型可执行文件全部破坏,我们就需要借助PE系统进入,然后在PE里加载原系统的注册表文件,定位到[HKEY_CLASSES_ROOT\.exe],将右侧窗口中“默认”的键值改为“exefile”,再依次展开[HKEY_CLASSES_ROOT\exefile\shell\open\command]分支,然后将右侧窗口中的“默认”的键值改为“"%1"%*”(不要外侧引号)即可。此外对于Windows 10系统来说,除了EXE文件,还有内置应用可以运行,比如可以在遇到此类问题时运行EDGE浏览器上网查找解决方案。
权限不足?换个权限账户运行
大家知道Windows 10的标准账户和管理员账户是拥有不同权限,对于一些危险的系统命令如格式化、安装驱动等,默认情况下标准账户是没有这些权限,需要输入管理员账户密码才能运行(图3)。
图3 标准账户需要提权才能运行高权限程序
这类程序运行限制主要是由于Windows 10保护机制造成,解决方法就是使用使用管理员账户运行。如果觉得每次都要输入密码很麻烦,我们可以借助Runas命令完成这类程序提权操作。假设在标准账户环境下经常要使用管理员身份运行命令提示符,启动记事本输入下列的命令,保存为cmd.bat放置在桌面:
Runas /user:Administrator /savecred c:\windows\system32\cmd.exe
命令解释:
/user:Administrator,表示使用管理员账户Administrator,/savecred表示用用户以前保存的凭据,这样只要在首次输入管理员账户Administrator的密码,以后再次运行时就无需再输入,后面是需要提权运行的命令,可以自行更改为其他命令。
这样下次需要使用管理员身份运行命令提示符时,只要首次在命令提示符窗口输入管理员账户Administrator的密码,以后即可以管理员身份启动命令提示符了(图4)。
图4 使用RUNAS命令提权运行程序
除了Windows 10保护机制造成权限限制外,一些程序运行是如果提示当前账户没有权限运行,这大多数是由于用户自行进行了权限设置,解决方法是进行权限编辑,将当前账户授予完全控制权限即可(图5)。
图5 由于权限的限制导致程序无法运行
如果限制的程序很多,手动修改权限操作非常麻烦,大家可以到http://pan.baidu.com/s/1eSkP2Pc下载所需的注册表代码,下载后导入系统中。这样在需要更改权限文件上右击选择“管理员取得所有权”即可快速实现权限的更改(图6)。
图6 通过右键菜单快速更改权限
其他更多程序运行出错解决方法
大家知道通过组策略的软件限制策略,我们可以任意限制特定的程序无法运行。如果限制的操作是管理员账户设置,而当前登录的是标准账户,由于标准账户无法运行组策略编辑器,因此也就无法进入组策略进行修改。不过实际上组策略的软件限制策略只是针对特定名称的程序进行限制,比如在限制策略中添加“qq.exe”无法运行,那么我们只要将QQ更改为“qq1.exe”即可绕过限制运行了。