概述
定义一个热键 ctrl+q 会显示一个日历,然后根据选择日期 生成一个链接
#IfWinActive ahk_exe Obsidian.exe
^q::
answer := Dialog("请选择一个日期,本工具会以wiki链接形式输出", "good")
send [[%answer%]]
return
Gui, Add, MonthCal, vMyCalendar gButton
Gui, show
Dialog(Question, DefaultValue := "") {
return new Dialog(Question, DefaultValue).Wait()
}
class Dialog
{
__New(Question, DefaultValue) {
Gui, New, +hwndhGui +LabelDialog.On_, Dialog
this.hwnd := hGui
Gui, Add, Text,, % Question
; Gui, Add, MonthCal, hwndhEdit vMyCalendar gButton
Gui, Add, MonthCal, hwndhEdit
this.hEdit := hEdit
Gui, Add, Button, gDialog.On_ButtonSendAnswer, 确定
this.SaveStatus := False
Gui, Show, w400 h400
Dialog.Instances[hGui] := this
}
On_Close() {
MsgBox, 4, % " ", Do you want to close the window?
IfMsgBox, No
Return 1
Dialog.RemoveInstance(A_Gui)
}
On_ButtonSendAnswer() {
this := Dialog.Instances[A_Gui]
this.SaveStatus := True
Dialog.RemoveInstance(this.hwnd)
Gui, Cancel
}
RemoveInstance(hwnd) {
Dialog.Instances.Delete(hwnd)
}
Wait() {
dhw := A_DetectHiddenWindows
DetectHiddenWindows, Off
WinWaitClose, % "ahk_id " this.hwnd
DetectHiddenWindows, % dhw
If !this.SaveStatus
Return "not saved"
GuiControlGet, value,, % this.hEdit
return value
}
__Delete() {
Gui, % this.hwnd ":Destroy"
}
}
#if
最后
以上就是自然大白为你收集整理的【AHK】在Obsidian中以选定日期生成链接的全部内容,希望文章能够帮你解决【AHK】在Obsidian中以选定日期生成链接所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复