Hallo Leute,
möchte einen Termin direkt aus dem Kalender in der Taskleiste übernehmen. Sprich, ich klicke auf die Taskleiste und der Windows Kalender/Uhrzeit öffnet sich, nun Klicke ich auf einen Tag und möchte diesen in mein Programm übernehmen!
Hat jemand ein Ahnung wie ich an die Sache herankomme?
Gruss ... Velindos!
DPCLK aus Windows Taskkalender
DPCLK aus Windows Taskkalender
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
Re: DPCLK aus Windows Taskkalender
Welchen Kalender meinst du? Meinst du diese Windows 8/10 App?
Re: DPCLK aus Windows Taskkalender
Hallo,
in der Windows Taskleiste befindet sich die Anzeige "15:33|Montag|19.09.2016" am rechten Rand! Hier kann man mittels LCLK auf die Anzeige ein Fenster mit der Uhr und dem Kalender öffnen. Innerhalb dieses Fenster wird das aktuelle Monat angezeigt.
Nun kann man innerhalb des angezeigten Kalender einzelne Tage mit den Cursor anwählen, und diese per LCLK bedienen. Leider ... geschieht bei LCLK auf einen Tag nichts.
Ich möchte aber den LCLK für meinen Kalender verwenden. Das heisst ich Klicke auf den Tag und erhalte den Tag oder etc. um mir den Tag vorzubelegen. Den Rest mache ich in meinen Kalender. Optimale wäre das ich mit dem LCLK mein Programm öffnen könnte und den geklickten TAG übergeben bekomme!
Habe aber keine Ahnung wie ich das Anstellen muss!
Gruss ... Velindos!
in der Windows Taskleiste befindet sich die Anzeige "15:33|Montag|19.09.2016" am rechten Rand! Hier kann man mittels LCLK auf die Anzeige ein Fenster mit der Uhr und dem Kalender öffnen. Innerhalb dieses Fenster wird das aktuelle Monat angezeigt.
Nun kann man innerhalb des angezeigten Kalender einzelne Tage mit den Cursor anwählen, und diese per LCLK bedienen. Leider ... geschieht bei LCLK auf einen Tag nichts.
Ich möchte aber den LCLK für meinen Kalender verwenden. Das heisst ich Klicke auf den Tag und erhalte den Tag oder etc. um mir den Tag vorzubelegen. Den Rest mache ich in meinen Kalender. Optimale wäre das ich mit dem LCLK mein Programm öffnen könnte und den geklickten TAG übergeben bekomme!
Habe aber keine Ahnung wie ich das Anstellen muss!
Gruss ... Velindos!
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
Re: DPCLK aus Windows Taskkalender
LCLK heißt für dich Linksklick oder?
Man könnte bei einem globalen Linksklick-Event ermitteln, welches Fenster sich unter dem Mauscursor befindet und dann den Wert des DateControls auslesen.
Unter Windows 7 würde es zwar noch funktionieren, aber spätestens unter Windows 10 nicht, weil dieser Kalender von Microsoft überarbeitet wurde und nun eine App ist. Mit WinAPI hat man darauf keinen Zugriff, weil das alles ein "Windows.UI.Core.CoreWindow"-Control ist.
Warum sollte man als Nutzer zuerst den Tag im Windows-Kalender auswählen und den Rest in deinem Programm? Warum stellst du keinen eigenen Kalender bereit? Dann hast du die volle Zugriffsmöglichkeit und das sogar ohne WinAPI.
Man könnte bei einem globalen Linksklick-Event ermitteln, welches Fenster sich unter dem Mauscursor befindet und dann den Wert des DateControls auslesen.
Unter Windows 7 würde es zwar noch funktionieren, aber spätestens unter Windows 10 nicht, weil dieser Kalender von Microsoft überarbeitet wurde und nun eine App ist. Mit WinAPI hat man darauf keinen Zugriff, weil das alles ein "Windows.UI.Core.CoreWindow"-Control ist.
Warum sollte man als Nutzer zuerst den Tag im Windows-Kalender auswählen und den Rest in deinem Programm? Warum stellst du keinen eigenen Kalender bereit? Dann hast du die volle Zugriffsmöglichkeit und das sogar ohne WinAPI.
Re: DPCLK aus Windows Taskkalender
Hallo,
danke für deine Erklärung!
Gruss ... Velindos
danke für deine Erklärung!
Weisst du zufällig welchen Programm-Namen das Fenster hat? Windows 10 verwende ich nicht mehr, spioniert mir zuviel!Unter Windows 7 würde es zwar noch funktionieren, aber spätestens unter Windows 10 nicht!
Wollte ja meinen Kalender über den LCLK auf den Taskkalender aufrufen!Warum stellst du keinen eigenen Kalender bereit?
Gruss ... Velindos
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
Re: DPCLK aus Windows Taskkalender
Auf jeden Fall explorer.exe.Velindos hat geschrieben:Weisst du zufällig welchen Programm-Namen das Fenster hat? Windows 10 verwende ich nicht mehr, spioniert mir zuviel
Du brauchst aber den Klassennamen, um die Handle-Nummer zu ermitteln. D.h. du musst das Fenster mit FindWindow_() und FindWindowEx_() oder EnumWindows_() finden.
Beispiel mit FindWindow_() und FindWindowEx_(): http://www.rsbasic.de/aktualisierung/wi ... stecken.pb
So ungefähr musst du auch machen, wenn du mit FindWindow_() und FindWindowEx_() arbeiten möchtest.
Der vollständige Pfad zum Zielfenster:

Ansonsten kannst du die Handle-Nummer auch direkt mit folgendem Code ermitteln: http://www.rsbasic.de/aktualisierung/wi ... mitteln.pb
Re: DPCLK aus Windows Taskkalender
Wenn du die Handle-Nummer hast, kannst du mit SendMessage_() und #MCM_GETCURSEL das ausgewählte Datum ermitteln.
Beispiel:
Beispiel:
Code: Alles auswählen
EnableExplicit
Define SYSTEMTIME.SYSTEMTIME
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CalendarGadget(1, 10, 10, 250, 250)
ButtonGadget(2, 10, 270, 250, 20, "Ausgewähltes Datum ermitteln", 0)
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case 2
SendMessage_(GadgetID(1), #MCM_GETCURSEL, 0, SYSTEMTIME)
Debug Str(SYSTEMTIME\wDay) + "." + Str(SYSTEMTIME\wMonth) + "." + Str(SYSTEMTIME\wYear)
EndSelect
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
EndIf
Re: DPCLK aus Windows Taskkalender
Hallo,
Danke für deinen Vorschlag, bin mal am Versuchen!
Gruss ... Velindos!
Danke für deinen Vorschlag, bin mal am Versuchen!
Gruss ... Velindos!
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)