Comment puis-je afficher les initiales et l'horodatage de l'utilisateur en utilisant un format spécifique lorsque l'utilisateur appuie sur Ctrl-D?


Réponses:


0

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

0

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 FormatTimeet CurrentDateTimeobtenir 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>
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.