| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| SPS |
Autor
|
Thema: Letzte Dokumente per Makro öffnen (303 / mal gelesen)
|
KSAH Mitglied Freiberufler
Beiträge: 113 Registriert: 18.06.2015 SolidWorks 2010 bis 2021
|
erstellt am: 05. Feb. 2024 14:27 <-- editieren / zitieren --> Unities abgeben:
Servus, ein Kunde wünscht unbedingt mit einem Maustastendruck die letzten Dokumente zu öffnen. Auf die Taste "R" konnte ich ihn nicht einstimmen. Es muss ein Mausbutton sein. Ich habe mit SendKeys die Taste gesenedet. Es funktioniert. Aber die Nummlock schaltet sich um. (Könnte man zurückschalten) Aber auf dem Bildschirm erscheint eine Meldung, dass die Nummlock Taste betätigt wird. (stört natürlich) Ich habe früher mit C++ programmiert. So kenne ich auch die Nachrichten mit der Windows arbeitet. Ich habe mir das Handle des vordersten Fenster geholt und wollte per SendMessage den Tastendruck simulieren, Nachrichten WM_KexDown und WM_KeyUp ans Fenster senden. Aber es geht nicht. Das Makro arbeitet, aber nichts passiert. Was könnte man noch tun, um das blöde Fenster zu öffnen? In der API-Hilfe ist nichts drin. Vielleicht denke ich auch zu kompliziert. Hat jemand eine Idee? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
R3vo Mitglied staatl. gepr. Techniker, Konstrukteur
Beiträge: 107 Registriert: 03.11.2021 Programme: CAD: SolidWorks 2021 SP5.1 PDM: SpeedyPDM 7.5 ------------------------ CPU: i7 10700 GPU: Nvidia Quadro RTX4000 RAM: 64 Gbyte Datenträger: SSD
|
erstellt am: 05. Feb. 2024 14:59 <-- editieren / zitieren --> Unities abgeben: Nur für KSAH
|
RBE Mitglied TechSupport; Bechtle PLM Deutschland GmbH
Beiträge: 291 Registriert: 11.02.2002 HP ZBook 17 G5 Core i9 2.9GHz 32GB RAM Quadro P4200 Win11 SolidWorks2024 SP1
|
erstellt am: 05. Feb. 2024 15:05 <-- editieren / zitieren --> Unities abgeben: Nur für KSAH
|
KSAH Mitglied Freiberufler
Beiträge: 113 Registriert: 18.06.2015 SolidWorks 2010 bis 2021
|
erstellt am: 05. Feb. 2024 15:45 <-- editieren / zitieren --> Unities abgeben:
Zitat: swApp.runcommand 3229, ""
Das ist der Startdialog. Aber wenigstens etwas. Aber warum geht nichts mit den Windowsfunktionen? Zitat: Mausgeste ist keine Option?Warum sich der Numblock meldet wenn du als Key "R" sendest hab ich noch nicht so ganz verstanden.
Ich weiß nicht mal ob Mausgesten benutzt werden. Die VBA Foren für Excel sind über das Thema voll. SendKeys schaltet den Num Lock um. Egal was man drücken will. Und das Schlimme, bei mehren Befehlen SendKeys im Makro schaltet der Num Lock manchmal nicht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 06. Feb. 2024 12:34 <-- editieren / zitieren --> Unities abgeben: Nur für KSAH
Zitat: ... Vielleicht denke ich auch zu kompliziert. Hat jemand eine Idee?
apropos kompliziert: in HKCU\SOFTWARE\SolidWorks\SOLIDWORKS 20xx\Recent File List\ sind die Schlüssel File1, File2, File3, ... File10 Möglicherweise aber aus der letzten Session, das hab ich nicht probiert ...
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KSAH Mitglied Freiberufler
Beiträge: 113 Registriert: 18.06.2015 SolidWorks 2010 bis 2021
|
erstellt am: 06. Feb. 2024 13:39 <-- editieren / zitieren --> Unities abgeben:
swApp.RunCommand swCommands_Start_Screen, "" ist der Home Button, wie man mir mitteilte. (Das Haus ganz oben) Nicht aufgefallen, nie benutzt. swCommands_Start_Screen = 3229 Es ist leider nicht was ich suche. Man wünscht nur einen Button, und keine Gesten. Es ist schon zum Verzweifeln. Nachtrag: Das Handle zu SW habe ich das passt. Ich habe gerade versuchsweise mit SetWindowPos die Position des Fensters verändert. Also liegt es am SendMessage [Diese Nachricht wurde von KSAH am 06. Feb. 2024 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ad_man Mitglied freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))
Beiträge: 1366 Registriert: 20.12.2003
|
erstellt am: 06. Feb. 2024 15:21 <-- editieren / zitieren --> Unities abgeben: Nur für KSAH
|
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 06. Feb. 2024 17:51 <-- editieren / zitieren --> Unities abgeben: Nur für KSAH
Angelehnt an meinen älteren Beitrag -> API: Kommentar-Indikator einblendenCode: #If VBA7 Then Private Declare PtrSafe Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long #Else Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long #End IfDim swApp As SldWorks.SldWorks Sub main() Const WM_COMMAND As Long = &H111 Const SHOW_RECENTDOCS As Long = 51573 Set swApp = Application.SldWorks Dim swFrame As SldWorks.Frame Set swFrame = swApp.Frame SendMessage swFrame.GetHWnd(), WM_COMMAND, SHOW_RECENTDOCS, 0 End Sub
------------------ 21 ist nur die halbe Antwort. [Diese Nachricht wurde von HenryV am 06. Feb. 2024 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KSAH Mitglied Freiberufler
Beiträge: 113 Registriert: 18.06.2015 SolidWorks 2010 bis 2021
|
erstellt am: 07. Feb. 2024 11:17 <-- editieren / zitieren --> Unities abgeben:
Danke der Code funktioniert. Meine Definition von SendMessage war falsch. Dann weiter experimentiert. Meine Lösung fürs Handle funktioniert. Aber mit den Systemnachrichten WM_KEYDOWN usw. funktioniert nicht. WM_COMMAND muss eine Anwendungsspezifische Nachricht sein. Und die wParam Information ist auch nicht in der API von SW drin. Woher kommen die Infos? Würde ich gerne als Hintergrundwissen finden. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 07. Feb. 2024 12:01 <-- editieren / zitieren --> Unities abgeben: Nur für KSAH
|
KSAH Mitglied Freiberufler
Beiträge: 113 Registriert: 18.06.2015 SolidWorks 2010 bis 2021
|
erstellt am: 07. Feb. 2024 13:36 <-- editieren / zitieren --> Unities abgeben:
|