Réponses:
Ce code AutoIt mettra l'horodatage dans votre presse-papiers pour que vous puissiez le coller où vous le souhaitez. Il utilise le nom d'utilisateur actuellement connecté. Il est impossible d'obtenir les initiales de la personne sur l'ordinateur à moins qu'il ne soit stocké quelque part. Si nous en savions plus sur la façon dont vous avez l'intention de l'utiliser, nous pourrions probablement vous donner une meilleure solution.
HotKeySet("^D", "PasteDate") ;Control+D
While 1
Sleep(100)
WEnd
Func PasteDate()
ClipPut(@UserName & " " & @MON & "/" & @MDAY & "/" & StringRight(@YEAR, 2) & " " & @HOUR & ":" & @MIN & ":" & @SEC)
EndFunc
La seule façon pour moi d’obtenir les initiales est si Microsoft Office est installé et si les utilisateurs ont entré leur nom complet dans Options, leurs initiales seront alors stockées dans les préférences de l’utilisateur et donc disponibles dans le registre. Si tel est le cas, il devrait être possible d'accéder à cette valeur de registre dans AutoHotKey, à l'aide de la fonction RegRead .
La clé de registre qui stocke les initiales de l'utilisateur est la suivante:
HKEY_CURRENT_USER\Software\Microsoft\Office\Common\UserInfo
Pour afficher la lecture de cette valeur de registre, le code suivant obtient la valeur de registre et l'affiche:
!+^b::
RegRead, Initials, HKEY_CURRENT_USER, Software\Microsoft\Office\Common\UserInfo, UserInitials
MsgBox, Initials are: %Initials%
Return
La documentation ci-dessus est liée à plus d'informations sur la vérification des erreurs, pour voir si cette clé est réellement disponible. Vous pouvez toujours utiliser le nom d'utilisateur, comme suggéré par MaQleod, si les initiales ne sont pas disponibles de cette façon.
Et pour une autre façon de formater la date ... Dans AutoHotKey, et probablement aussi avec AutoIt, vous pouvez utiliser FormatTime
et CurrentDateTime
obtenir un bon contrôle sur le formatage.
Par exemple, voici différents raccourcis que j’utilise pour insérer la date dans différents formats, pour différentes situations:
; Today - paste in date - separated with slashes - suitable for, e.g. OneNote
+^!T::
FormatTime, CurrentDateTime,, dd/MM/yyyy
SendInput %CurrentDateTime%
Return
; Today - paste in date - separated with underscores - suitable for, e.g. filenames
+^!Y::
FormatTime, CurrentDateTime,, yyyy_MM_dd
SendInput %CurrentDateTime%
Return
; Today - paste in date and time - separated with underscores - suitable for, e.g. filenames
+^!U::
FormatTime, CurrentDateTime,, yyyy_MM_dd_HH_mm
SendInput %CurrentDateTime%
Return
; Today - as above, but with fewer underscores
+^!I::
FormatTime, CurrentDateTime,, yyyyMMdd_HHmm
SendInput %CurrentDateTime%
Return
; Today - paste in date and time - in same format that OneNote 2007 generates, e.g. 04/01/2011, 22:56
+^!O::
FormatTime, CurrentDateTime,, dd/MM/yyyy, HH:mm
SendInput %CurrentDateTime%
Return
Donc, enchaîner tout ça ensemble donne:
^d::
RegRead, Initials, HKEY_CURRENT_USER, Software\Microsoft\Office\Common\UserInfo, UserInitials
Send <
Send, %Initials%{SPACE}
FormatTime, CurrentDateTime,, MM/dd/yyyy HH:mm:ss
SendInput %CurrentDateTime%
Send >
Return
Après avoir chargé ce code dans AutoHotKey, lorsque je frappe Control + D, c'est comme si j'avais tapé:
<CM 10/05/2011 23:57:37>