AutoHotkey:用显示名称和日期+时间替换缩写的用户名
如何创建一个AutoHotkey脚本,用我的完整显示名称(包括时间戳)替换我的缩写网络用户名?AutoHotkey:用显示名称和日期+时间替换缩写的用户名
andzi:
应Andreas Zita (2011-04-08 09:56):
代替我想这是一个动态的热字串可应用于任何用户名。
我认为你可以生成一个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
附:这只是一个例子,在你的情况下,可以生成用户的热键为:
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。
谢谢,但要复杂。如果我有一个.exe,同时返回缩写。用户名和显示名称,我可以以某种方式在触发器中使用它吗? – 2011-04-08 10:55:08
这并不复杂,但现在我不能尝试,因为我在Ubuntu下。试试看,祝你好运!顺便说一下,ahk有文件I/O支持,但我已经忘记了大部分。 – 2011-04-08 16:30:04
你想要的是一个热点!您可以阅读帮助文件中的文档以了解有关热点的信息。
具体来说,试试这个代码:
::andzi::
SendInput Andreas Zita (%A_YYYY%-%A_MM%-%A_DD% %A_Hour%:%A_Min%)
return
运行脚本,类型andzi,然后按空间。
对不起,不清楚。我的意思是替换任何用户名...动态热点。 – 2011-04-15 18:35:15
你在哪里做替换?我不太明白这是什么意思。 – 2011-04-09 09:15:56