yanhy的学习记录匣 - 软件 https://www.yanhy.top/index.php/tag/%E8%BD%AF%E4%BB%B6/ 推荐一个Windows激活工具 HEU-KMS https://www.yanhy.top/index.php/archives/381/ 2024-06-27T18:33:00+08:00 写个文章做个记录,便于以后查找,顺便也推荐下这个稳定的软件~软件界面截图版本:42.0.4可能听名字有人有点耳熟,但是对这个软件本体很陌生,那么切换一种UI,就眼熟很多了在软件右上角 三条横 的设置中,选择“经典界面”,即可打开眼熟了吗?没错,作者至今一直在更新,更新在微信公众号和Github上如何还原到新版本界面:删除同目录下的Set.ini,再重新打开软件即可恢复下载链接Github: https://github.com/zbezj/HEU_KMS_Activator/releases/公众号:《更新:HEU KMS Activator v42.0.4》附图:公众号获取方式简单的使用说明激活Windows系统与Office套件打开软件后,什么都不需要做(记得同意使用协议),点 开始 按钮即可开始自动激活。如检测到电脑上没安装Office则会自动跳过。点击按钮后,软件下方会出现进度条,静静等待即可(个人经验约1-5分钟,可不联网)。激活完成后,会弹窗结果。演示机未安装Office因此显示只有Windows激活结果。可重复激活,不担心掉激活或者覆盖等。验证激活结果Windows:打开系统设置 - 更新与安全 - 激活,即可看到激活结果。演示机使用精简的win10系统,因此激活部分有bug可忽略。Office:随便打开个软件如word,点左上角文件 - 左下角账户,可以看到右侧产品已激活且显示激活的版本到此,简单的激活方法就结束了,软件可以继续收藏吃灰或者直接删除~部分问题的处理KMS激活续期:在一些特殊条件下,会触发KMS激活方式。KMS的激活有180天的期限,因此要在一开始激活时勾选KMS自动续期。如激活完成后才发现是KMS激活,可以勾选后进行第二次激活。部分杀毒软件在KMS自动续期补丁安装时报毒,可以手动加白名单或者信任列表即可。Office的盗版Banner警告:有时候在部分版本的Office软件内,打开时会在上方弹出一个Banner显示类似于“你可能是盗版的受害者”。此时可以打开HEU-KMS软件,然后选择最后一栏。在Office R2V/管理工具部分,选择Office版本,下方选择Fix_banner项,然后点击开始,等待修复完毕即可。更换Windows版本:有时候安装时手快点成了家庭版,但是家庭版阉割了很多东西(如Hyper-v、组策略管理器等),可以用HEU-KMS来转换Windows版本。打开软件,选择“其他”栏,选择左上角的“更改Windows10/11版本”。在下拉框中,选择你想修改的版本。通常比较受欢迎的是ProfessonalWorkstation(专业工作站)版本,此处的演示机系统也是专业工作站版本(人均工作站(bushi))。选择完成后,点击右侧花瓣图表,点击确定按钮开始转换。为方便演示,这里选择专业版来转换。转换成功后,会有弹窗提醒并要求重启计算机,一些改动也即将发生。如果此时打开设置查看系统版本,会发现已经转换成功,但尚未激活。重启后重新进行激活即可完成。(点击确定按钮并不会强制重启,可以保存好文件后手动点击重启)其他玩法还有很多,如至今半死不活的数字激活(一些曾经数字激活的电脑上还留着TPM信息,重装后仍然可以数字激活)、KMS激活(手动强制使用KMS激活)、OEM激活(模拟品牌电脑的操作)等,还能自建激活服务器,可以自行研究研究,对我来说这玩意就是在u盘里面吃灰,装完系统后第一个走过场然后继续吃灰的实用小工具来自作者的免责声明本文到此结束,希望这篇文章有帮到你~ 在树莓派Linux多方式安装Java https://www.yanhy.top/index.php/archives/66/ 2022-03-29T06:34:00+08:00 (已更新Zsh无法使用环境变量问题)一:使用apt自动化安装jdk一般如果需要运行java程序时,需要一个简单、稳定的jdk或者jre环境,如下操作即可快速搭建java环境...使用指令 sudo apt search jdk 即可搜索软件源中的jdk各类版本,找到需要的版本并复制下包名,使用 sudo apt install 包名 即可安装,如图:通常情况下安装这个版本即可,使用指令 sudo apt install openjdk-11-jdk二:手动下载安装自己所需jdk版本如果所需的应用需要特定java环境或者想安装更新版本,可以去手动下载安装包,然后上传并解压等...下载JDKjava常见下载站:AdoptOpenJDK(支持各平台): https://adoptopenjdk.net/releases.htmlLiberica OpenJDK(嵌入式适用): https://bell-sw.com/OracleJDK(甲骨文jdk,部分程序不兼容): https://www.oracle.com/java/OracleJAVA(传统JRE,版本较低,稳定): https://www.java.com/以AdoptOpenJDK为例,我们本篇文章是为树莓派安装jdk环境,因此选择的“其他平台”本文推荐选择OpenJDK 11 ,此版本为长期支持版,较稳定,且此版本可以通过上面方法一快速安装。本文演示了OpenJDK 15版本的手动安装依次选择 OpenJDK 15 —— HotSpot,在下面Operating System出选择Linux,Architecture处选择系统版本如果是树莓派官方系统,应选择arm32,除非你的树莓派是安装了64位系统版本在下面筛选出的版本中选择JDK版本下载(如果没有编译等生产需求,可以下载JRE版本,文件体积较小)配置JDK下载完后将压缩包上传至树莓派内,并解压,指令为 tar -zxvf 压缩包名使用指令 mv ./jdk-15.0.2+7 /usr/java 将解压出的文件夹放在 /usr/java 文件夹,或者也可以放到 /etc/java 等其他地方,记下路径,可以输入 pwd 查看当前路径,选中后右键即可复制配置环境变量:sudo nano /etc/profile在文件末尾添加上以下内容:export JAVA_HOME=/usr/java/jdk-15.0.2+7 export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/ export PATH=$PATH:$JAVA_HOME/bin其中,第一行的路径应该改成java存放的位置,如上述中我将解压出来的 jdk-15.0.2+7 文件夹放到了 /usr/java/ ,因此第一行填入当前的路径修改完毕后按 Ctrl+O 保存,按 Ctrl+X 退出编辑输入 source /etc/profile 刷新环境变量(无需重启)输入 java -version 查看版本信息,如果出现版本信息即为安装成功新增zsh解决如果安装了zsh,在zsh下使用java指令会显示zsh: command not found: java此时可以将/etc/profile添加的内容复制到用户目录下的.zshrc文件内,然后再输入source .zshrc如图:本文到此结束,感谢支持! Termux——安卓终端快速入门 https://www.yanhy.top/index.php/archives/98/ 2021-09-13T19:59:00+08:00 为了学习linux,很多时候都是选择装个虚拟机,或者买个服务器来练习linux操作。除了使用wsl或者虚拟机之外,还有一个更便携的linux终端,那便是安卓上的Termux...软件介绍Termux这个软件,可以说是安卓上的linux虚拟机,又不完全是个虚拟机。据官方文档介绍:Termux is an Android terminal emulator and Linux environment app that works directly with no rooting or setup required. A minimal base system is installed automatically - additional packages are available using the APT package manager.”“Termux 是一个Android 终端模拟器和 Linux 环境应用程序,无需 root 或设置即可直接运行。自动安装最小的基本系统 - 使用 APT 包管理器可以使用其他包。”在安卓系统本身环境下,Termux得到了很好的运行优势,无需额外虚拟化操作即可使用linux操作界面。在使用过程中,只需要像Debian系一样操作即可,你可以使用pkg安装软件包,也可以更换为apt软件包管理器等等。它可以运行很多Arm及Arm64的项目,比如nodejs、python、java等等。Termux可以用来运行脚本、编译小型项目、学习linux系统操作而不会轻易影响主系统等。准备工具一部安卓手机(性能、配置不限,储存大于4g,有root权限最好)Google Play应用商店科学上网工具开始安装下载termux首先启用科学上网环境,打开Google Play应用商店搜索Termux(该版本较低,可以去F-Droid或者gothub下载),下载安装,安装后打开(期间保持科学网络环境)也可以去github下载:https://github.com/termux/termux-app/actions/找到最新构建的版本,选择对应版本下载打开后会加载几秒钟,随后会进入初始界面(如下图),此时可以关闭科学上网环境使用前非常重要的一步:给Termux换源,并更新软件包。步骤如下:在较新版本中,官方提供了图形化界面换源方式,可以快速更换,缺点是源站固定无法修改,日常足够使用图形化换源界面如图所示在Termux中输入指令 termux-change-repo 并回车,将会进入需要更换的。库列表一般换源只需要更换主仓库(Main repository)即可,空格可以选择取消选择要更换的仓库,默认主仓库是被选择状态选择后直接回车,进入选择镜像源列表。使用“↓”移动并用空格选择到BFSU源,然后回车即可更换并触发update。这个是国内的北京外国语大学开源软件镜像站,在软件更新、安装时速度会快上不少。在运行update时可能会报错,因为部分软件包可能未收录原因,但也可以正常使用。如果有特殊需要或者强迫症等,可以参考下面的手动换源到其他源。也可以手动修改文件来替换源站推荐清华源(复制执行): sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.list sed -i 's@^\(deb.*games stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable@' $PREFIX/etc/apt/sources.list.d/game.list sed -i 's@^\(deb.*science stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable@' $PREFIX/etc/apt/sources.list.d/science.list 清华源手动修改文件: 执行 apt edit-sources 将文件内第二行deb及后面文件删除 粘贴 deb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main 中科大源: sed -i 's@packages.termux.org@mirrors.ustc.edu.cn/termux@' $PREFIX/etc/apt/sources.list手动更换源后可以输入 pkg up 或者 apt update && apt upgrade来更新软件包,有时候会提示是否安装更新(y/n),推荐选择默认选项,如下图默认选项为N,如果有需要的话可以自行决定。更新过程较长且耗费较多流量,建议wifi下更新常用软件安装到了这一步,Termux本身已经配置完成了,你可以在termux上练习使用linux操作,也可以在上面安装相关环境来部署一些小项目。如果手机有root,可以执行sudo权限,需要先安装sudo包:pkg install tsu脚本编程环境软件包:nodejs、python,推荐使用独立配置环境方法,当然如果没有特殊需求也可以直接使用apt install python或者apt install node,执行后输入y即可安装。经测试,从apt安装的版本中,nodejs版本为14.15.4;python版本为3.9.7也可以在终端里面安装java环境,可以参考我之前博客写的树莓派安装java教程,同为arm架构,安装过程大同小异。如果喜欢折腾,甚至可以在termux安装xfce4桌面,然后通过配置vnc来远程连接termux的可视化桌面当然,也可以在termux配置静态博客hexo,一方面可以当做本地服务器,浏览器访问127.0.0.1即可访问自己的网站;另一方面,也可以在本地折腾好后打包到服务器。termux可以直接ssh连接到安装linux系统的服务器。连接方式:ssh root@10.111.111.111 其中,root@表示使用root用户连接到服务器。优化termux使用termux我个人认为并非是独立的虚拟机,还是基于安卓系统操作。因此如果需要termux与系统进行文件交互,并非是难事,创建个软连接即可。(有root权限的用户还可以直接去根目录找termux内系统的/目录)首先开启termux访问手机存储的权限termux-setup-storage,然后手机会弹窗是否授权termux访问储存权限,点击确认软链接相对于文件夹的快捷方式,创建在termux的home目录,便于访问,同时也可以用文件管理器去修改文件夹内容。先用文件管理器在储存主目录创建文件夹为share(可自行修改),然后打开终端,输入ln -s /storage/emulated/0/share share即可在home目录创建share文件夹,指向主目录的share文件夹。同时,授权了储存访问权限后会在home目录生成 storage 文件夹,可以通过这个文件夹访问到几个基本文件夹,如download等在termux启动时会显示welcome to Termux! 欢迎信息,可以手动编辑nano $PREFIX/etc/motd来修改启动信息可以使用Termux-ohmyzsh来美化终端,安装sh -c "$(curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/master/install.sh)" 由于github访问速度不定,可能下载较慢第一次打开脚本时会列出可调整的颜色、字体,可以随意选择一个,后续要更改颜色与字体,可以输入~/.termux/colors.sh修改颜色或者~/.termux/fonts.sh修改字体其他美化脚本推荐:bash 联想小新pad通过9008刷国际版\国行系统 https://www.yanhy.top/index.php/archives/76/ 2021-08-15T07:37:00+08:00 之前6月份入手了一个小新pad普通版,骁龙662的性能,6+128内存组合够日常使用了,但是由于没有买书写笔,只能当做个大屏手机用,也正好拿来先折腾一番...主观体验作为一个11.5寸的大屏幕设备,快要和我电脑屏幕差不多大了,刚开始我重度使用这个pad刷视频、刷酷安等,后面也是使用spacedesk软件来进行电脑屏幕拓展。 在我看来这个设备的主要优势就是屏幕大,用起来观感很爽,其他感知性不强。小新pad的国行系统并没有和其他平板ui一样有很好的平板体验,和大屏手机的ui相差无几,且生态并不好,QQHD版经常未响应卡顿等。 后来将其刷到了国际版,自带谷歌全家桶,基本上是没有对ui深入定制,当大屏手机用还是挺舒服的。直到后面我打算买支笔拿来办公用,才想着把这玩意刷会国行,可能对办公等支持更好一点。平板参数CPU:高通 骁龙662(2.0Ghz A734+1.8Ghz A534)内存组合:6GB+128GBGPU:Adreno 610屏幕:LCD 2000x1200 60fps特色功能:2D人脸识别,ZUI学习模式,Lenovo One智能互联,IP52防水防尘 ,四立体声扬声器电池:7700mah 20w快充网络:支持802.11ac无线协议wifi 蓝牙5.0准备材料如以下资料文件丢失,可在本人发布的帖子下(如酷安)或者本博客内留言,会及时处理由于资料过久,网盘曾经清理过,因此下面部分链接失效,补一下nas里面备份过的文件: https://pan.baidu.com/s/1VCXuR_9HN0Cosk-e-5tI1Q?pwd=x48x 提取码: x48x 暂时只补档镜像包相关,其他刷机工具是通用的,可以网上搜索其他工具或者看博客内其他刷机文章,工具可以直接拿来用(毕竟都是高通那些事) 由于本文章是教刷回国行版,所以主要提供国行版刷机包 12.5.057(安卓11)链接:https://pan.baidu.com/s/1cqOjLNQTxtm_Gn_PhaxHUA 提取码:x88j (此版本系统包只能通过下面刷入安卓10后去系统更新app手动升级上去,无法9008)12.0.341(安卓10)链接:https://pan.baidu.com/s/1su_eCOLC3BIhEcaWe77LkQ 提取码:942r (本教程所用版本,可以9008刷入)高通usb驱动:链接:https://pan.baidu.com/s/10oanVfv19NoIBaPQJcvTVQ 提取码:5v2o QPST工具:链接:https://pan.baidu.com/s/1BP1Jm_Eld5OYoHUzqslflA 提取码:h0zc国际版包也给一个吧,刷入方法相同 安卓10:链接: https://pan.baidu.com/s/1a3cHhYzZzcxORn_sXxCvPA 提取码: r83r(可以9008刷入,方式同本教程)其他资源:12.5.092提取的boot.img(可用于解锁后刷面具):链接:https://pan.baidu.com/s/134lGXdCQPh-6CnACF4-ksQ 提取码:tv0gpayload.bin提取出各分区镜像工具(内看readme,本文无教程):链接:https://pan.baidu.com/s/1DA3-2TxR8x4fnuAIue_SDA 提取码:2kvj小新pad安卓10可用twrp(仅安卓10可用,高版本无法解密data,可用于刷入gsi等):链接:https://pan.baidu.com/s/1pchQMWj9q9GAJIWCuMmwsw 提取码:hqakUSB3.0数据线一条 win10电脑(其他系统未测试) 小新pad(电量充足、备份完成)步骤下载好工具、驱动、系统包后,接入数据线到电脑准备开始刷机。1、解压QUD.WIN.1.1 Installer-10037.3后打开setup.exe开始安装驱动,安装过程全部默认即可 2、解压qpst.win.2.7_installer_00488.1后,打开文件夹内的QPST.2.7.488.1.exe安装器,安装完后可以在开始菜单内找到QFIL应用程序,这是QPST高通9008刷机工具(此工具仅英文版且不要误操作,小心变砖) 3、解压系统包TB-J606F_CN_WIFI_USER_Q00016.0_Q_ZUI_12.0.341_ST_201102_qpst(安卓10)4、解压后将平板关机,电脑打开设备管理器,然后展开 端口 分支(如果没有先不展开),插上usb数据线后按住音量+键,直到看到Qualcomm HS-USB QDLoader 9008的设备出现为止5、回到QPST软件,打开后如下图,先点击顶栏的Configuration,再点击FireHose Configuration6、修改,确保和下图红框一模一样(其他地方不需要修改也不要乱改),修改完点击 OK 变砖警告:注意,一定不能选择 Erase All Before Download!否则你平板的主板底层可能会被清空,导致变砖,只能走售后换主板!无法救砖!7、回到软件主页面,Select Build Type 选项修改为 Meta Build , 再点击Select Meta Build 选项里面靠右侧的Load Context...按钮8、路径选择正确后会显示下图的文件,选中点击打开即可,同时主界面会变成下图二9、最后点击右上角的 Select Port 选择端口(如果电脑只连接了pad,应该会只有一个端口显示,端口号无需相同)10、最后确认一遍信息,参考下图(除了端口号、路径不一样,其他应该一样)11、点击右侧Download Content即可下载固件到pad中(时间较长,如果看到进度条不动了,不是卡住,这软件的进度条就是这样,慢慢等就好)看到 finish Download就是下载成功,平板会自动重启开机开机完成**此方法同样适用于国际版(安卓10),或者其他系统版本,需要支持qpst刷入(如果支持一般文件名后缀会标识) 如果想升级到最新版本系统,可以手动下载安装包或者手动更新版本**文章参考资料【国际版系统·刷机】小新 Pad Pro https://zhuanlan.zhihu.com/p/285524440 记录一次简单的C语言考试 https://www.yanhy.top/index.php/archives/70/ 2021-06-17T19:09:00+08:00 很快啊,就期末考试了...简单记录一下这次C语言考试的内容,以供后来参考...Program 1:定义一个函数,用于实现两个int类型数据的求和功能,并将求和结果返回给调用者。在主函数中分别以变量作实参、常量作实参调用此求和函数#include<stdio.h> int sum(int a,int b) { int c; c=a+b; return c; } int main() { int x,y,s=0; scanf("%d%d",&x,&y); s=sum(x,y); printf("%d",s); return 0; } Program 2:编程实现:输出100~300之间不能被3整除的数,每行显示5个数。#include<stdio.h> int main() { int i,j,a; for(i=100;i<=300;i++) { if(i%3!=0) { printf("%d ",i); a=(a+1)%5; if(a==0) { printf("\n"); } } } return 0; }Program 3:编程实现:已知arr数组中有n个无序整数,请对arr数组进行降序排序,然后输出结果。#include<stdio.h> int main() { int arr[999]={0},n,temp; scanf("%d",&n);//题目没有指定长度,手动输入一个长度 for(int i=0;i<n;i++)//输入数组 { scanf("%d",&arr[i]); } for(int i=0;i<n-1;i++) { for(int j=0;j<n-1-i;j++) { if(arr[j]<arr[j+1])//冒泡降序 { temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } for(int i=0;i<n;i++)//输出数组 { printf("%d ",arr[i]); } return 0; }