AutoHotkey:用显示名称和日期+时间替换缩写的用户名

问题描述:

如何创建一个AutoHotkey脚本,用我的完整显示名称(包括时间戳)替换我的缩写网络用户名?AutoHotkey:用显示名称和日期+时间替换缩写的用户名

andzi:Andreas Zita (2011-04-08 09:56):

代替我想这是一个动态的热字串可应用于任何用户名。

+0

你在哪里做替换?我不太明白这是什么意思。 – 2011-04-09 09:15: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。

+0

谢谢,但要复杂。如果我有一个.exe,同时返回缩写。用户名和显示名称,我可以以某种方式在触发器中使用它吗? – 2011-04-08 10:55:08

+0

这并不复杂,但现在我不能尝试,因为我在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,然后按空间。

+0

对不起,不清楚。我的意思是替换任何用户名...动态热点。 – 2011-04-15 18:35:15