30 番外5 AHK语法应用实战

番外5 AHK语法应用实战

ahk是一种极其轻量,极其易上手,极其方便好用的脚本语言,对于没有编程基础的人来说,可以轻松掌握.

作为一个强大轻量的工具,ahk主要提供了热键宏操作.

什么是热键宏?简单的理解,就是自定义快捷键.

AHK使用场景举例


ahk到底有什么用处呢?

1.把一个按键映射称为另一个按键.通过简单的语法,我们可以设置按下某键输入任何的字母,汉字,字符,甚至句子,文章.

2.自定义快捷键.这是一个极其有用的功能.我们可以自定义一个组合键,比如:ctrl+y,控制其自动打开任何的网页,文件,文件夹,网络地址,或者实现其他的操作功能.

3.为电脑增加更丰富的功能.如果应用的好,可以给自己的电脑增加一些意想不到的提升效率的功能.

ahk可谓是提升办公效率的神级脚本!

AHK安装

ahk官网 (网站打不开可以试试手机打开)

下载安装ahk的v1.1版本,不要下载v2.0.

安装完成及完成了ahk环境的配置.

使用记事本编辑AHK

在桌面上鼠标右键点击 新建->Autohotkey script 即新建了一个ahk脚本(实际就是一个普通的文本文件)

选择 记事本作为ahk的编辑器即可.

桌面上出现了一个ahk的文件,右键点击 edit script 即可编辑脚本

先来点最简单的:

请看下面的一段代码:

u::y

这是什么意思?

这表示按下字母u的时候,输入y.(也就是把u按键映射成y)

其中,使用两个冒号连接需要映射的值和被映射的值.简单地说,你想改变功能的按键写在冒号前面,你想要的功能写在冒号后面.

再比如:

ad::你好

这就代表连续输入ad的时候.电脑自动输入 你好 .

这可以大大节省我们输入无用的字符浪费的时间.

那么,如何使用ahk自动以快捷键呢?

请看下面这些代码:

^u::^c

你可能吓了一跳:^是什么东西!开始抽想起来了?

不用担心,这是AHK语言里为数不多需要记忆的东西! ^代表的意思是ctrl.

此外,我们还需要记住:!是Alt,#是win徽标键,+是shift.这就足够啦.

所以,上面的那行代码是什么意思呢?

很简单,就是当我们按下ctrl+u的时候,计算机实际认为我们按下的是ctrl+c.

我们知道,ctrl+c是复制的快捷键.所以,现在,ctrl+u就也变成了复制的快捷键了.

但是,需要注意的是,这个热键只有在同时按下ctrl和u的时候才能把它识别成ctrl+c.所以,我们单独按下u键的时候,不会输入c,而仍然是u.


那么,如何自定义热键打开文件,文件夹,网页呢?

请看下面的代码:

!r::
run,www.baidu.com
return#q::
run,C:\Program Files
return^+s::
run,D:\AIMP\AIMP.exe
return+w::
send,你好啊
return

上面的代码分为了四组.这些代码可以放在一个ahk脚本文件里运行,事实上,一个ahk脚本里可以放无数个指令.第一组代码的意思是,按下快捷键Alt+r,自动打开网页www.baidu.com.第二组代码意思是,按下快捷键Windows徽标键+q,自动打开位于C:\Program Files的这个文件夹.第三组代码的意思是,按下快捷键ctrl+shift+s,自动运行位于D:\AIMP\AIMP.exe的软件,第四组代码的意思是,按下快捷键shift+w,自动输入 你好啊.

你可能会疑惑,return是干什么用的?这是用于终止一个代码继续向下运行的.如果不加return,可能导致代码运行错误,所以,return在以后是你的一个好朋友,他会帮你在需要停止的地方停止运行代码.

这里我推荐几个实用的的ahk代码,大家可以直接复制粘贴:

!Delete::
Run, cmd.exe /c "echo y | powershell.exe -command Clear-RecycleBin", , Hide
Return
;这是一个清空回收站的代码,快捷键是Alt+delete!space::!F4
;千万不要小看上面这行短短的代码!!!这是一个按下 Alt+空格 直接关闭当前活动窗口的代码,把微软原本的alt+F4换成了alt+space.强烈推荐笔记本电脑用户使用这个快捷键,笔者使用了2年这个快捷键,使用率极其之高,极大的方便了电脑的使用!不用不知道,用的都说好!Tab::LButton
`::Rbutton
;把键盘上不常用的tab键映射成鼠标左键单击.把tab上面的`映射成鼠标右键单击.成功的把键盘和鼠标融为一体了.极大方便了笔记本电脑用户的使用.MButton::backspace
;鼠标按下中键相当于backspace(退格),在文件资源管理器返回上级菜单时很好用.~MButton & LButton::
!LButton::
CoordMode, Mouse  ; Switch to screen/absolute coordinates.
MouseGetPos, EWD_MouseStartX, EWD_MouseStartY, EWD_MouseWin
WinGetPos, EWD_OriginalPosX, EWD_OriginalPosY,,, ahk_id %EWD_MouseWin%
WinGet, EWD_WinState, MinMax, ahk_id %EWD_MouseWin% 
if EWD_WinState = 0  ; Only if the window isn't maximized SetTimer, EWD_WatchMouse, 10 ; Track the mouse as the user drags it.
returnEWD_WatchMouse:
GetKeyState, EWD_LButtonState, LButton, P
if EWD_LButtonState = U  ; Button has been released, so drag is complete.
{SetTimer, EWD_WatchMouse, offreturn
}
GetKeyState, EWD_EscapeState, Escape, P
if EWD_EscapeState = D  ; Escape has been pressed, so drag is cancelled.
{SetTimer, EWD_WatchMouse, offWinMove, ahk_id %EWD_MouseWin%,, %EWD_OriginalPosX%, %EWD_OriginalPosY%return
}
; Otherwise, reposition the window to match the change in mouse coordinates
; caused by the user having dragged the mouse:
CoordMode, Mouse
MouseGetPos, EWD_MouseX, EWD_MouseY
WinGetPos, EWD_WinX, EWD_WinY,,, ahk_id %EWD_MouseWin%
SetWinDelay, -1   ; Makes the below move faster/smoother.
WinMove, ahk_id %EWD_MouseWin%,, EWD_WinX + EWD_MouseX - EWD_MouseStartX, EWD_WinY + EWD_MouseY - EWD_MouseStartY
EWD_MouseStartX := EWD_MouseX  ; Update for the next timer-call to this subroutine.
EWD_MouseStartY := EWD_MouseY
return
;某大神编写的代码,按下alt键的同时鼠标点击一个窗口的任意位置都可以随意拖动窗口.实测有些一般情况下不能拖动的窗口也被拖动了.甚至笔者的桌面一整个被拖动走了,有点小吓人:)

我的介绍只是AHK的冰山一角.AHK中文帮助文档是一个很好的学习资源.https://wyagd001.github.io/v2/docs/Tutorial.htm

AHK中文帮助文档


AHK转换为exe

ahk如此方便,我们当然希望在所有电脑上都能使用我们自己编辑的代码.但是,貌似只有安装了ahk软件的电脑可以运行.

事实上,我们可以把自己写好的ahk代码编译为exe程序,放在U盘里随时都能使用.

d2559bd5ee2ea004fdec0c956932cca8.png

在 开始 菜单里,点击Autohotkey Dash.打开ahk主界面.

点击Compile,下载ahk2exe converter.这就是ahk的exe编译器.

第一栏,source,选择你的ahk脚本文件.(支持直接拖拽)

第二栏,destination,选择生成的exe文件的保存位置,不选择则为ahk脚本的位置

custom icon:自定义exe的图标.你可以任意选择ico图标文件,作为你的软件的图标.

Base file:依赖的文件:ahk2exe通过这个文件来编译exe.由于字符编码的不同,如果basefile选择不对,最终产生的exe可能无法正常使用或者功能不全.目前笔者选择最后一项v1.1.37.02U32ahk2exe没有出现过问题,能够使exe和编译前的ahk实现相同的功能.所以推荐大家使用最后一项.

最后,直接点击convert即可瞬间产生exe文件程序.

建议以管理员身份运行自己编译的脚本,否则有的功能可能权限不足,无法实现.

这样,产生的exe可以放在U盘里,随时使用,十分方便.


附 ahk按键表

::以下用于冒号后

LButton 鼠标左键

RButton 鼠标右键

MButton 鼠标中键或滚轮

高级

XButton1 鼠标的第四个按钮。一般和 Browser_Back 执行相同功能。

XButton2 鼠标的第五个按钮。一般和 Browser_Forward 执行相同功能。

Wheel

WheelDown 向下转动鼠标滚轮(向您的方向)。

WheelUp 向上转动鼠标滚轮(远离您的方向)。 WheelLeft WheelRight
[v1.0.48+]:向左或向右滚动。

需要 Windows Vista 或更高版本。这可以用在某些(但并非所有)带第二个滚轮或支持左右滚动的鼠标热键。在某些情况下,必须通过鼠标的自带软件包控制这个功能。不论鼠标如何特殊,Send 和 Click 都能在支持它们的程序里水平滚动。

键盘 注意: 字母和数字按键的名称和单个字母或数字相同. 例如: b 表示 "b" 键而 5 表示 "5" 键.

概述

CapsLock 大小写锁定键

Space 空格键

Tab Tab 键

Enter (或 Return) 回车键

Escape (或 Esc) 退出键

Backspace (或 BS) 退格键

光标控制

ScrollLock 滚动锁定键

Delete (或 Del) 删除键

Insert (或 Ins) 插入改写切换键

Home Home 键

End End 键

PgUp 向上翻页键

PgDn 向下翻页键

Up 向上方向键

Down 向下方向键

Left 向左方向键

Right 向右方向键

Numpad

NumLock 开启

NumLock 关闭

Numpad0

NumpadIns 0 / 插入改写切换键

Numpad1

NumpadEnd 1 / End 键

Numpad2

NumpadDown 2 / 向下方向键

Numpad3

NumpadPgDn 3 / 向下翻页键

Numpad4

NumpadLeft 4 / 向左方向键

Numpad5

NumpadClear 5 / 通常什么都不做

Numpad6

NumpadRight 6 / 向右方向键

Numpad7

NumpadHome 7 / Home 键

Numpad8

NumpadUp 8 / 向上方向键

Numpad9

NumpadPgUp 9 / 向上翻页键

NumpadDot

NumpadDel 十进制分隔符 / 删除键

NumpadDiv

NumpadDiv 除

NumpadMult

NumpadMult 乘

NumpadAdd

NumpadAdd 加

NumpadSub

NumpadSub 减

NumpadEnter

NumpadEnter 回车键

功能

F1 - F24 在大多数键盘顶部的 12 个或更多的功能键。

按键修饰符

LWin 左边的 Windows 徽标键。对应的热键前缀为 de><#de>。

RWin 右边的 Windows 徽标键。对应的热键前缀为 de>>#de>。

注意:与 Control/Alt/Shift 不同,没有一般的/中性的“Win”键,因为操作系统不支持。不过含 de>#de> 修饰符的热键可以被任何一个 Win 键触发。

Control (或 Ctrl) Control 键。单独作为热键(de>Control::de>)时它在弹起时触发,不过如果加上颚化符前缀可以改变这种情况。对应的热键前缀为 de>^de>。

Alt Alt 键。单独作为热键(de>Alt::de>)时它在弹起时触发,不过如果加上颚化符前缀可以改变这种情况。对应的热键前缀为 de>!de>。

Shift Shift 键。单独作为热键(de>Shift::de>)时它在弹起时触发,不过如果加上颚化符前缀可以改变这种情况。对应的热键前缀为 de>+de>。

LControl(或 LCtrl) 左 Control 键。对应的热键前缀为 de><^de>。

RControl(或 RCtrl) 右 Control 键。对应的热键前缀为 de>>^de>。

LShift 左 Shift 键。对应的热键前缀为 de><+de>。

RShift 右 Shift 键。对应的热键前缀为 de>>+de>。

LAlt 左 Alt 键。对应的热键前缀为 de><!de>。

RAlt 右 Alt 键。对应的热键前缀为 de>>!de>。

注意:如果您的键盘布局存在 AltGr 而不是 RAlt,那么您完全可以根据这里描述的那样通过 de><^>!de> 把它作为热键前缀使用。此外,de>LControl & RAlt::de> 可以把 AltGr 自身设置成热键。

多媒体

Browser_Back 后退

Browser_Forward 前进

Browser_Refresh 刷新

Browser_Stop 停止

Browser_Search 搜索

Browser_Favorites 收藏夹

Browser_Home 主页

Volume_Mute 静音

Volume_Down 调低音量

Volume_Up 增加音量

Media_Next 下一首

Media_Prev 上一首

Media_Stop 停止

Media_Play_Pause Play/Pause

Launch_Mail 打开默认的电子邮件程序

Launch_Media 打开默认的媒体播放器

Launch_App1 打开我的电脑

Launch_App2 打开计算器

注:上面列出的每个按键的功能可以通过修改 Windows 注册表进行替换。这个表格中显示的是在 Windows 系统的大多数版本中每个按键的默认功能。

特别

AppsKey 菜单键。这是调用右键上下文菜单的按键。

PrintScreen 捕获屏幕

CtrlBreak

暂停 暂停键

中断 中断键。由于此键和 Pause 含义相同,所以在热键中请使用 de>^CtrlBreakde> 代替 de>^Pausede> 或 de>^Breakde>。

帮助 帮助键。此键可能在大多数键盘上不存在。它通常和 F1 不同.

Sleep 休眠键。注意在一些键盘上的 sleep 键可能不是休眠功能。

以下用于冒号前::

下表中列出了可以发送的特殊按键(每个按键名称必须用大括号括起来):

按键名称 描述

{F1} - {F24} 功能键. 例如: {F12} 表示 F12.

{!} !

{#} #

{+} +

{^} ^

{{} {

{}} }

{Enter} 主键盘上的 Enter

{Escape} 或 {Esc} Esc

{Space} Space(仅对于要发送的按键序列开始或末尾的空格才需要这样表示, 而序列中间的空格是原义的)

{Tab} Tab

{Backspace} 或 {BS} Backspace(退格键)

{Delete} 或 {Del} Del(删除键)

{Insert} 或 {Ins} Ins

{Up} ↑(主键盘上的向上键)

{Down} ↓(主键盘上的向下键)

{Left} ←(主键盘上的向左键)

{Right} →(主键盘上的向右键)

{Home} Home(主键盘)

{End} End(主键盘)

{PgUp} PgUp(主键盘)

{PgDn} PgDn(主键盘)

{CapsLock} CapsLock(在 2k/XP 中使用 SetCapsLockState 更可靠). 发送 {CapsLock} 之前可能要求 SetStoreCapsLockMode Off.

{ScrollLock} ScrollLock(另请参阅: SetScrollLockState)

{NumLock} NumLock(另请参阅: SetNumLockState)

{Control} 或 {Ctrl} Ctrl(技术信息: 发送中性键的虚拟键码而不是左边键的扫描码)(译者注: 中性 Ctrl 键 VK 11, SC 01D)

{LControl} 或 {LCtrl} 左 Ctrl (技术信息: 发送左边键的虚拟键码而不是中性键)(译者注: 左 Ctrl 键 VK A2, SC 01D)

{RControl} 或 {RCtrl} 右 Ctrl(译者注: 右 Ctrl 键 VK A3, SC 11D)

{Control down} 或 {Ctrl down} 按住 Ctrl 直到发送 {Ctrl up}. 要按住左边或右边的键, 请使用 {RCtrl down} 和 {RCtrl up}.

{Alt} Alt(技术信息: 发送中性键的虚拟键码而不是左边键的扫描码)(译者注: 中性 Alt 键 VK 12, SC 038)

{LAlt} 左 Alt(技术信息: 发送左边键的虚拟键码而不是中性键)(译者注: 左 Alt 键 VK A4, SC 038)

{RAlt} 右 Alt(或 AltGr, 取决于键盘布局)

{Alt Down} 按住 Alt 直到发送 {Alt up}. 要按住左边或右边的键, 请使用 {RAlt down} 和 {RAlt up}.

{Shift} Shift(技术信息: 发送中性键的虚拟键码和左边键的扫描码)(译者注: 中性 Shift 键 VK 10, SC 02A)

{LShift} 左 Shift(技术信息: 发送左边键的虚拟键码而不是中性键)(译者注: 左 Shift 键 VK A0, SC 02A)

{RShift} 右 Shift

{Shift down} 按住 Shift直到发送 {Shift up}. 要按住左边或右边的键, 请使用 {RShift down} 和 {RShift up}.

{LWin} 左 Win

{RWin} 右 Win

{LWin down} 按住左 Win 直到发送 {LWin up}

{RWin down} 按住右 Win 直到发送 {RWin up}

{AppsKey} Menu(调用右键点击或上下文菜单)

{Sleep} Sleep.

{ASC nnnnn}

发送 Alt+nnnnn 小键盘上的按键组合, 可以用来生成键盘上不存在的特殊字符. 要生成 ASCII 字符, 请指定一个介于 1 和 255 之间的数字. 要生成 ANSI 字符 (在大多数语言中的标准), 请指定一个介于 128 和 255 之间的数字, 但需要在数字前加上一个前导零, 例如 {Asc 0133}.

要生成 Unicode 字符, 请指定一个介于 256 和 65535 之间的数字(不带前导零). 但是, 有些应用程序不支持这种方法. 对于替代方法, 请参阅下面的部分.

{U+nnnn}

[v1.0.90+]: 发送 Unicode 字符, 其中 nnnn 为不包括 0x 前缀的字符的十六进制值. 在 AutoHotkey 的 Unicode 版本中通常不需要这么做, 因为它包含的 Send 和 ControlSend 自动支持 Unicode 文本.

使用 SendInput() 或 WM_CHAR 发送这个字符而当前的发送模式无效. 以这种方式发送的字符通常不会触发快捷键或热键.

{vkXX}

{scYYY}

{vkXXscYYY}

发送一个虚拟按键为 XX 且扫描码为 YYY 的键击. 例如: Send {vkFFsc159}. 如果省略了 sc 或 vk 部分, 则会发送最适当的值.

XX 和 YYY 是十六进制值, 通常可以在主窗口的 View->Key history 菜单项找到. 另请参阅: 特殊按键

警告: 以这种方式组合 vk 和 sc, 仅在 Send 命令中有效. 在 [v1.1.27] 之前, 热键也允许使用, 但忽略 XX 后的任何非十六进制字符.

{Numpad0} - {Numpad9} 小键盘上的数字键(与 NumLock 打开时输入的一样). 例如: {Numpad5} 为数字 5.

{NumpadDot} .(小键盘上的点)(与 NumLock 打开时输入的一样).

{NumpadEnter} 小键盘上的 Enter

{NumpadMult} 小键盘上的 *(乘)

{NumpadDiv} 小键盘上的 /(除)

{NumpadAdd} 小键盘上的+(加)

{NumpadSub} 小键盘上的 -(减)

{NumpadDel} 小键盘上的 Del(此键和后面的小键盘按键是在 NumLock 关闭时输入的)

{NumpadIns} 小键盘上的 Ins

{NumpadClear} 小键盘上的 Clear(通常在 Numlock 关闭时输入 5).

{NumpadUp} 小键盘上的 ↑(向上键)

{NumpadDown} 小键盘上的 ↓(向下键)

{NumpadLeft} 小键盘上的 ←(向左键)

{NumpadRight} 小键盘上的 →(向右键)

{NumpadHome} 小键盘上的 Home

{NumpadEnd} 小键盘上的 End

{NumpadPgUp} 小键盘上的 PgUp(向上翻页)

{NumpadPgDn} 小键盘上的 PgDn(向下翻页)

{Browser_Back} 按下浏览器的 "后退" 按钮

{Browser_Forward} 按下浏览器的 "前进" 按钮

{Browser_Refresh} 按下浏览器的 "刷新" 按钮

{Browser_Stop} 按下浏览器的 "停止" 按钮

{Browser_Search} 按下浏览器的 "搜索" 按钮

{Browser_Favorites} 按下浏览器的 "收藏" 按钮

{Browser_Home} 启动浏览器并打开主页

{Volume_Mute} 主音量静音/取消静音. 通常相当于 SoundSet, +1, , mute.

{Volume_Down} 减小主音量. 通常相当于 SoundSet -5.

{Volume_Up} 增加主音量. 通常相当于 SoundSet +5.

{Media_Next} 在媒体播放器中播放下一曲目

{Media_Prev} 在媒体播放器中播放前一曲目

{Media_Stop} 停止媒体播放器

{Media_Play_Pause} 播放/暂停媒体播放器

{Launch_Mail} 启动电子邮件程序

{Launch_Media} 启动媒体播放器

{Launch_App1} 启动用户程序 1

{Launch_App2} 启动用户程序 2

{PrintScreen} PrtScr

{CtrlBreak} Ctrl+Break

{Pause} Pause

本文由博客一文多发平台 OpenWrite 发布!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/828629.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做亚马逊店铺怎么解决网络问题?

在全球电商市场迅速崛起的背景下&#xff0c;亚马逊已成为众多商家拓展海外市场的首选平台。然而&#xff0c;网络问题始终困扰着亚马逊商家&#xff0c;若不能有效解决&#xff0c;不仅影响工作效率&#xff0c;更可能面临店铺被封禁的风险。本文将详细介绍亚马逊店铺运营遇到…

xgp加速器免费 微软商店xgp用什么加速器

2001年11月14日深夜&#xff0c;比尔盖茨亲自来到时代广场&#xff0c;在午夜时分将第一台Xbox交给了来自新泽西的20岁年轻人爱德华格拉克曼&#xff0c;后者在回忆中说&#xff1a;“比尔盖茨就是上帝。”性能超越顶级PC的Xbox让他们趋之若鹜。2000年3月10日&#xff0c;微软宣…

Vision Pro“裸眼上车”,商汤绝影全新舱内3D交互亮相

2023年&#xff0c;Apple Vision Pro的横空出世让人们领略到了3D交互的魅力&#xff0c;商汤绝影通过深厚的技术研发实力和高效的创新迭代效率&#xff0c;带来两大全新座舱3D交互&#xff1a;3D Gaze高精视线交互和3D动态手势交互。 作为全球首创的能够通过视线定位与屏幕图标…

C语言中整型与浮点型在内存中的存储

今天让我们来看看整型的数据和浮点型的数据在内存中是怎么存储的呢 整型数据在内存中的存储 整型数据在内存中存储的是二进制的补码 正数的话也没什么可说的&#xff0c;原码反码补码都相同 我们来看看负数&#xff1a; 以-5为例 原码&#xff1a;10000000 00000000 00000000 0…

传染病模型SIR及其变体(python版本)

文章目录 传染病模型及其变体1. SI模型1.1代码2. SIS模型2.1 代码3. 基本再生数 basic reproductive number4. SIR模型4.1 代码5. SEIR模型5.1 代码6. SEIJR模型6.1 代码7. SEIJRD模型7.1 代码传染病模型及其变体 1. SI模型 在该模型里面,群体中只有两种人:易感者和感染者。…

Postman之页面简介 V9.31.0

Postman之页面简介 V9.31.0 一、顶部栏二、左部栏三、中部栏四、下部栏 一、顶部栏 &#xff08;1&#xff09;new选项框&#xff0c;生成新建请求、集合、环境等 &#xff08;2&#xff09;import选项框&#xff0c;可以导入文件、文件夹、链接、文本信息等 &#xff08;3&…

ros2_control【B站WMGIII教学学习记录】1

资源 https://www.bilibili.com/video/BV1ku411G7UR? 学习过程中存在bug&#xff0c;记录一下 1 Q:"package ‘joint_state_publisher_gui’ not found, searching: [/home A: sudo apt install ros-humble-joint-state-publisher2 https://fishros.org.cn/forum/to…

go语言并发实战——日志收集系统(八) go语言操作etcd以及利用watch实现对键值的监控

有关包的安装 我们要实现go语言对第三方包的操作需要我们下载第三方包go.etcd.io&#xff0c;下载命令&#xff1a; go get go.etcd.io/etcd/client/v3 ectd的put与get操作 相关函数说明与示例 我们想实现对etcd进行简单的操作的步骤还是比较简单的&#xff0c;在我上一篇文…

爬虫抓取网站数据

Fiddler 配置fiddler工具结合浏览器插件 配置fiddler Tools--Options 抓包技巧 谷歌浏览器开启无痕浏览,使用SwitchyOmega配置好代理端口 Ctrl x 清理所有请求记录,可以删除指定不需要日志方便观察 设置按请求顺序 观察cookie,观察请求hesder cookie和row返回结果 Swit…

【C语言】深入理解KMP算法及C语言实现

一、KMP算法简介 KMP算法&#xff08;Knuth-Morris-Pratt算法&#xff09;是一种高效的字符串匹配算法&#xff0c;由Donald Knuth、James H. Morris和 Vaughan Pratt共同发明。KMP算法的核心思想是当一次字符比较失败时&#xff0c;利用已经得到的部分匹配信息&#xff0c;将模…

vue-project-tree vue3 树形结构展示组件

GitHub&#xff1a;vue-project-tree by one-ccs Gitee&#xff1a;vue-project-tree by one-ccs 遵循 MIT 开源协议 文章目录 vue-project-tree一、使用二、API1、属性2、事件3、方法4、插槽 vue-project-tree 使用 Vue3 TS 实现的树形结构展示组件&#xff0c;有拖拽、排序…

服务器数据恢复—StorNext文件系统下raid5阵列数据恢复案例

服务器数据恢复环境&#xff1a; 昆腾某型号存储&#xff0c;8个存放数据的存储柜1个存放元数据的存储柜。 元数据存储&#xff1a;8组RAID1阵列1组RAID10阵列4个全局热备硬盘。 数据存储&#xff1a;32组RAID5阵列&#xff0c;划分2个存储系统。 服务器故障&#xff1a; 数据…

《QT实用小工具·四十一》无边框窗口

1、概述 源码放在文章末尾 该项目实现了无边框窗口效果&#xff0c;项目demo如下所示&#xff1a; 项目代码如下所示&#xff1a; #include "framelesswindow.h" #include <QGuiApplication> #include <QScreen>#ifdef Q_OS_WIN #include <window…

单例设计模式c++

什么是单例模式&#xff1f; 单例模式指在整个系统生命周期里&#xff0c;保证一个类只能产生一个实例&#xff0c;确保该类的唯一性。 单例模式分类 单例模式可以分为懒汉式和饿汉式&#xff0c;两者之间的区别在于创建实例的时间不同&#xff1a; 懒汉式&#xff1a;指系…

Mac 安装Nodejs

Nodejs介绍 简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台。 Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境&#xff0c;基于 Google 的 V8 引擎&#xff0c;V8 引擎执行 Javascript 的速度非常快&am…

带你走进不一样的策略模式

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 带你走进不一样的策略模式 前言策略模式简介概念解释 策略模式的结构策略模式优点项目实践之bean策略构思业务策略实现策略接口实现策略上下文业务实现 前言 在编程的世界里&#xff0c;每一次按键都…

刷代码随想录有感(46):平衡二叉树

这道题给我的教训&#xff1a;别轻视递归。 题干&#xff1a; 代码&#xff1a; int geiHeight(TreeNode* node){if(node NULL)return 0;int leftHeight getHeight(node -> left);if(leftHeight -1) return -1;int rightHeight getHeight(node -> right);if(rightH…

计算机网络基础认识

本篇文章是我在B站上看到关于计算机网络的介绍视频收到的启发。本篇文章的内容来自【网络】半小时看懂<计算机网络>_哔哩哔哩_bilibili 一、物理层 从常理来说&#xff0c;进行连个设备之间的通讯&#xff0c;首先最容易想到的就是使用一根线连接两个设备进行通讯。但是…

【MAC】删除自带的输入法

问题描述 平常使用mac办公&#xff0c;经常会非预期切换到自带的ABC输入法&#xff0c;令人很困惑。 解决方案&#xff1a; 1、下载PlistEdit Pro 链接&#xff1a;https://www.fatcatsoftware.com/plisteditpro/ 2、执行命令 sudo open ~/Library/Preferences/com.apple.…

手把手教会你做属于自己的网站《保姆级教程》

手把手教会你做属于自己的网站《保姆级教程》 前言开始教程特别说明下期内容预报 前言 什么是个人网站&#xff1f; 个人网站是指因特网上一块固定的面向全世界发布消息的地方&#xff0c;通常由域名&#xff08;也就是网站地址&#xff09;、程序和网站空间构成&#xff0c;并…