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. 
Gruß, Rainer
Das Projekt
Hi Joe,
ich hab’s mal schnell getippt, die Zeit ist doch OK? 
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. 
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
evtl ist „rollen“ die bessere wahl. Wie hast du die 122 ausgelesen ?
ich habe die Taste :einfach gedrückt und gelesen. 
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. 
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. 
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.
Trotzdem kann ich mit VB ‚richtig‘ programmieren.
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 
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