Aktuelles Datum auf Funktionstaste

Hallo,
Ich schreibe am tag bestimmt 1000 mal ein Datum in irgendwelche Listen und dachte mir das es doch Möglich sei dieses Auf eine F-Taste zu legen zb F11. Ich möchte es aber nicht aus der Zwischen ablage einfügen da dort normalerweise ein anderer Wert zwischengespeichert wird.
das geht nur über ein Makro oder ? wie realisier ich sowas ?

Mfg jonny

Hi Joe,

Ich schreibe am tag bestimmt 1000 mal ein Datum in
irgendwelche Listen und dachte mir das es doch Möglich sei
dieses Auf eine F-Taste zu legen zb F11. Ich möchte es aber
nicht aus der Zwischen ablage einfügen da dort normalerweise
ein anderer Wert zwischengespeichert wird.
das geht nur über ein Makro oder ? wie realisier ich sowas ?

Du hast doch VB! Schreib Dir 'n Programm, das nur als Trayicon angezeigt wird und den Prozessor nicht belastet. Mit VB kennst Du Dich inzwischen so gut aus, daß das nur 'ne Fingerübung wird. :smile:

Gruß, Rainer

Das Projekt
Hi Joe,

ich hab’s mal schnell getippt, die Zeit ist doch OK? :smile:

die Form:

Option Explicit

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Private Sub Command1\_Click()
 TrayDelete
 End
End Sub

Private Sub Form\_Load()
 TrayAdd Me.hwnd, Me.Icon, "date-writer", MouseMove
 Me.Hide
End Sub

Private Sub Form\_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim cEvent As Single
cEvent = X / Screen.TwipsPerPixelX
Select Case cEvent
 Case LeftUp
 Form1.WindowState = 0
 Me.Show
 Case RightUp
 Form1.WindowState = 0
 Me.Show
End Select
End Sub

Private Sub Form\_QueryUnload(Cancel As Integer, UnloadMode As Integer)
 TrayDelete
 End
End Sub

Private Sub Form\_Resize()
 If Me.WindowState = vbMinimized Then
 Me.Hide
 DoEvents
 End If
End Sub

Private Sub Timer1\_Timer()
 If GetAsyncKeyState(122) Then
 SendKeys Date
 End If
End Sub

Und ein Modul (irgendwann mal bei PlanetSourcecode.com geladen und leicht verändert) …

Option Explicit

Const NIF\_MESSAGE As Long = &H1
Const NIF\_ICON As Long = &H2
Const NIF\_TIP As Long = &H4
Const NIM\_ADD As Long = &H0
Const NIM\_MODIFY As Long = &H1
Const NIM\_DELETE As Long = &H2

Public Type NOTIFYICONDATA
 cbSize As Long
 hwnd As Long
 uId As Long
 uFlags As Long
 uCallBackMessage As Long
 hIcon As Long
 szTip As String \* 64
End Type

Public Enum TrayRetunEventEnum
 MouseMove = &H200
 LeftUp = &H202
 LeftDown = &H201
 LeftDbClick = &H203
 RightUp = &H205
 RightDown = &H204
 RightDbClick = &H206
 MiddleUp = &H208
 MiddleDown = &H207
 MiddleDbClick = &H209
End Enum

Public Enum ModifyItemEnum
 ToolTip = 1
 Icon = 2
End Enum

Public Bild As String
Public Zaehler As Integer
Public TrayIcon As NOTIFYICONDATA
Public Declare Function Shell\_NotifyIcon Lib "shell32" Alias "Shell\_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean

Public Sub TrayAdd(hwnd As Long, Icon As Picture, \_
 ToolTip As String, ReturnCallEvent As TrayRetunEventEnum)
 With TrayIcon
 .cbSize = Len(TrayIcon)
 .hwnd = hwnd
 .uId = vbNull
 .uFlags = NIF\_ICON Or NIF\_TIP Or NIF\_MESSAGE
 .uCallBackMessage = ReturnCallEvent
 .hIcon = Icon
 .szTip = ToolTip & vbNullChar
 End With
 Shell\_NotifyIcon NIM\_ADD, TrayIcon
End Sub

Public Sub TrayDelete()
 Shell\_NotifyIcon NIM\_DELETE, TrayIcon
End Sub

Public Sub TrayModify(Item As ModifyItemEnum, vNewValue As Variant)
 Select Case Item
 Case ToolTip
 TrayIcon.szTip = vNewValue & vbNullChar
 Case Icon
 TrayIcon.hIcon = vNewValue
 End Select
 Shell\_NotifyIcon NIM\_MODIFY, TrayIcon
End Sub

Gruß, Rainer

Danke !!!
die Taste wird hier festgelegt oder ? 122 = Z laut Ascii oder ?
GetAsyncKeyState(122)

mfg joe

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Joe,

die Taste wird hier festgelegt oder ? 122 = Z laut Ascii oder
?
GetAsyncKeyState(122)

die Stelle ist richtig, aber ‚Z‘ stimmt nicht, das ist F11, wolltest Du doch so. Das hat mit ASCII nichts zu tun. Die Tabelle habe ich gerade nicht zur Hand, ich habe die Taste einfach gedrückt und gelesen. :smile:

Gruß, Rainer

hmpf. bei mir spuckt er nix aus.
Hat bei mir evtl eine anderes Programm / Windows F11 schon für eine Option reserviert ? wer ist da „stärker“ wenn ich zb in eine HTML seite eine datum eintragen möchte ist f11 fullscreen :confused: evtl ist „rollen“ die bessere wahl. Wie hast du die 122 ausgelesen ?

ich habe die Taste :einfach gedrückt und gelesen. :smile:

diggn Dank, mfg joe

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Joe,

hmpf. bei mir spuckt er nix aus.

hmmm, versuch 'ne andere Taste, Esc (27) ist immer einen Versuch wert.

Hat bei mir evtl eine anderes Programm / Windows F11 schon für
eine Option reserviert ? wer ist da „stärker“ wenn ich zb in
eine HTML seite eine datum eintragen möchte ist f11 fullscreen

/ evtl ist „rollen“ die bessere wahl. Wie hast du die 122

ausgelesen ?

Nimm das ‚Miniprogramm‘, Timerineterval = 100.

Option Explicit

Private Declare Function GetAsyncKeyState Lib "user32" \_
(ByVal vKey As Long) As Integer

Private Sub Timer1\_Timer()
 Dim i As Integer
 For i = 0 To 255
 If GetAsyncKeyState(i) Then
 List1.AddItem i
 End If
End Sub

Gruß, Rainer

hallo jonny,
hast du schon mal von ac’tivaid (ist ein Projekt der c’t, basiert auf AutoHotkey) gehört? Damit kanst du dir Hotkeys ohne Ende selbst definieren und noch tausen andere Funktionen. Ist mit sicherheit besser als eine handgefrickelte Lösung auf VB-Basis, die dann nur in irgendwelchen ‚Office‘-Programme tut.

gruss
bernhard

Hallo Bernhard,

hast du schon mal von ac’tivaid (ist ein Projekt der c’t,
basiert auf AutoHotkey) gehört? Damit kanst du dir Hotkeys
ohne Ende selbst definieren und noch tausen andere Funktionen.
Ist mit sicherheit besser als eine handgefrickelte Lösung auf
VB-Basis, die dann nur in irgendwelchen ‚Office‘-Programme
tut.

1.) funktioniert das mit VB nicht nur mit Office.
2.) Woher weißt Du, ob das Programm, das Du vorschlägst nicht auch mit VB geschrieben ist?
3.) Mir ist es lieber ich habe den Quellcode und kann das Programm meinen Wünschen anpassen.

Ein fertiges Programm saugen und damit leben müssen, wie es der Entwickler gebaut hat ist mit Sicherheit nicht besser als ein selbst geschriebenes VB-Programm.

Gruß, Rainer

Hallo Rainer,

ich habe nur versucht, ein Programm vorzuschlagen, mit dem man solche Lösungen realisieren kann. AutoHotkey ist eine Scriptsprache, um genau solche Aufgabenstellungen in wenigen Minuten zu erledigen.

Schaes dir doch einfach mal an.
http://de.wikipedia.org/wiki/Autohotkey

Im Gegensatz zu VB sogar OpenSource.

gruss
bernhard

Hallo Bernhard,

ich habe nur versucht, ein Programm vorzuschlagen, mit dem man
solche Lösungen realisieren kann. AutoHotkey ist eine
Scriptsprache, um genau solche Aufgabenstellungen in wenigen
Minuten zu erledigen.

OK. Das hat mit VB aber auch nicht lang gedauert. :smile:

Schaes dir doch einfach mal an.
http://de.wikipedia.org/wiki/Autohotkey

Mach ich. Einen Blick habe ich gerade mal darauf geworfen, heute Abend werden’s dann noch ein paar mehr, klingt interessant.

Im Gegensatz zu VB sogar OpenSource.

Das ist natürlich ein Vorteil, aber mit VB arbeitet Joe ja schon. Das fertige Projekt in den Editor kopieren ging sicher schnell. :smile:

Mich hat an Deinem Text ‚hand gefrickelte‘ gestört, das klingt irgendwie abwertend, deshalb die Antwort.

Gruß, Rainer

Hallo Rainer,

Mich hat an Deinem Text ‚hand gefrickelte‘ gestört, das
klingt irgendwie abwertend, deshalb die Antwort.

ich gebs zu, das war z.T. auch so gemeint - ich habe schon einige ‚Einweglösungen‘ gesehen, die sich Leute ohne Ahnung dann mit VB zurechtgestoppelt haben. Natürlich kann man auch mit VB ‚richtig‘ entwickeln (aber echte Programmierer programmieren sowieso in jeder Sprache wie in FORTRAN).

gruss zurück
bernhard

Hallo Bernhard,

ich habe schon
einige ‚Einweglösungen‘ gesehen, die sich Leute ohne Ahnung
dann mit VB zurechtgestoppelt haben. Natürlich kann man auch
mit VB ‚richtig‘ entwickeln (aber echte Programmierer
programmieren sowieso in jeder Sprache wie in FORTRAN).

ich bin aber kein echter Programmierer, ich bin Schlosser. :smile: Trotzdem kann ich mit VB ‚richtig‘ programmieren. :smile: Es gibt nur wenig, was mit VB nicht sinnvoll zu machen ist. (schnelle Spiele z.B.) Das ist einer der Gründe, warum mir immer wieder die Motivation fehlt, endlich mal C++ zu lernen, ich weiß nicht so recht wozu.

Gruß, Rainer

Moin,
Habe das Programm mal geladen aber wo ich schon installer.exe sehe, da wird unser Administrator nur ins fäustchen lachen:/ Ich bin nur User:stuck_out_tongue:

Ich brauche ja nur ein Prog das mir auf eine Taste das Datum legt. mehr nicht. eine kleine exe für ein datum.

Aber danke für die Info.

mfg joe

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Auch mit ESC nicht … wenn wir vom schwimmen wieder da sind habe ich hoffentlich etwas zeit zum probieren.

danke mfg joe

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Joe,

Auch mit ESC nicht … wenn wir vom schwimmen wieder da sind
habe ich hoffentlich etwas zeit zum probieren.

??? Hast Du in den Timer ‚Interval 100‘ o.ä. eingetragen? Den Timer ‚enabled‘?

Gruß, Rainer

Danke Rainer !!
Oft hilft es einfach mal 3 tage PAuse zu machen !!
alles Funktioniert wunderbar !
Was ich falsch gemacht habe sage ich lieber nicht, ist mir schon etwas unangnehm :stuck_out_tongue:

DANKE Rainer bis die tage!

mfg Jonny

Wenn ich den Interval Timer hochsetze habe ich immernoch das problem das sobald ich meine Mausrad zulange drücke das Datum 2mal oder mehr ausgegeben wird.

mfg jonny

Sorry, es macht sinn vorher alle prozesse zu beenden.

P THX

Hi Joe,

Wenn ich den Interval Timer hochsetze habe ich immernoch das
problem das sobald ich meine Mausrad zulange drücke das Datum
2mal oder mehr ausgegeben wird.

Ja, ist so. Wenn das nicht sein soll/darf, kannst Du das Programm mit einer zweiten Prüfung in der Schleife gefangen halten, bis die Taste wieder los gelassen wird.

Üblich und nötig ist das aber nicht, im Windows hat man mit jeder anderen Taste auch dieses ‚Problem‘.

Gruß, Rainer