如何创建一个AutoHotkey脚本,用我的完整显示名称(包括时间戳)替换我的缩写网络用户名?
andzi:
应替换为Andreas Zita (2011-04-08 09:56):
我希望这是一个动态热字符串,可以应用于任何用户名。
答案 0 :(得分:0)
我认为你可以生成一个ahk脚本并动态包含它,因为username是一个变量。我已经尝试过自己构建一个非常复杂的键映射。
; This include() allows variable expression in the path parameter.
_include(path) {
local verf := 3, veri := 3
slash := instr(path, "\", false, 0)
if (slash != 0) {
base := substr(path, slash + 1)
} else {
base = %path%
}
filecreatedir %a_appdata%\.hotkey
inst = %a_appdata%\.hotkey\%base%
filegettime, verf, %path%
filegettime, veri, %inst%
if (verf != veri) {
ifexist, %path%
{
filecopy, %path%, %inst%, 1
if errorlevel {
msgbox can't include %path%: failed to copy to %inst%.
} else {
reload
}
} else {
filedelete, %inst%
if errorlevel {
msgbox failed to clean %inst%.
} else {
reload
}
}
}
}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; User Extension {
userhotkey = %HOME%\etc\hotkey
_include(userhotkey)
#include *i %a_appdata%\.hotkey\hotkey
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;}
此处,功能_include()
会在%APPDATA%
下生成一个临时文件,然后#include
生成一个临时文件。
请参阅:http://svn.bodz.net/core/trunk/etc/hotkey
P.S。这只是一个示例,在您的情况下,您可以生成用户热键:
generate.bat:
@echo off
REM generate the ahk line to translate username to display name and datetime.
echo %USERNAME%:Your Name %DATETIME% >user.ahk
在主要的ahk脚本中,在#include之前执行generate.bat。
答案 1 :(得分:0)
你想要的是一个热点!您可以阅读帮助文件中的文档以了解hotstrings。
具体来说,请尝试以下代码:
::andzi::
SendInput Andreas Zita (%A_YYYY%-%A_MM%-%A_DD% %A_Hour%:%A_Min%)
return
运行脚本,输入andzi,然后按空格键。