Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Letzte Dokumente per Makro öffnen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
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


Sehen Sie sich das Profil von KSAH an!   Senden Sie eine Private Message an KSAH  Schreiben Sie einen Gästebucheintrag für KSAH

Beiträge: 113
Registriert: 18.06.2015

SolidWorks 2010 bis 2021

erstellt am: 05. Feb. 2024 14:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von R3vo an!   Senden Sie eine Private Message an R3vo  Schreiben Sie einen Gästebucheintrag für R3vo

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KSAH 10 Unities + Antwort hilfreich

Hallo,

Mausgeste ist keine Option?

Warum sich der Numblock meldet wenn du als Key "R" sendest hab ich noch nicht so ganz verstanden.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

RBE
Mitglied
TechSupport; Bechtle PLM Deutschland GmbH


Sehen Sie sich das Profil von RBE an!   Senden Sie eine Private Message an RBE  Schreiben Sie einen Gästebucheintrag für RBE

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KSAH 10 Unities + Antwort hilfreich

swApp.runcommand 3229, ""

------------------
Grüße, RBE
----------

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KSAH
Mitglied
Freiberufler


Sehen Sie sich das Profil von KSAH an!   Senden Sie eine Private Message an KSAH  Schreiben Sie einen Gästebucheintrag für KSAH

Beiträge: 113
Registriert: 18.06.2015

SolidWorks 2010 bis 2021

erstellt am: 05. Feb. 2024 15:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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)


Sehen Sie sich das Profil von Christian_W an!   Senden Sie eine Private Message an Christian_W  Schreiben Sie einen Gästebucheintrag für Christian_W

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KSAH 10 Unities + Antwort hilfreich

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


Sehen Sie sich das Profil von KSAH an!   Senden Sie eine Private Message an KSAH  Schreiben Sie einen Gästebucheintrag für KSAH

Beiträge: 113
Registriert: 18.06.2015

SolidWorks 2010 bis 2021

erstellt am: 06. Feb. 2024 13:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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))


Sehen Sie sich das Profil von ad_man an!   Senden Sie eine Private Message an ad_man  Schreiben Sie einen Gästebucheintrag für ad_man

Beiträge: 1366
Registriert: 20.12.2003

erstellt am: 06. Feb. 2024 15:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KSAH 10 Unities + Antwort hilfreich

Hallo,

mit der GetRecentFiles-Methode bekommst du schon mal die Liste der letzten Files:

https://help.solidworks.com/2023/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.ISldWorks~GetRecentFiles.html

Ist vielleicht schon mal ein Anfang 

------------------
==========
Gruß
Andreas
==========

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HenryV
Mitglied
Konstrukteur, Engineering


Sehen Sie sich das Profil von HenryV an!   Senden Sie eine Private Message an HenryV  Schreiben Sie einen Gästebucheintrag für HenryV

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KSAH 10 Unities + Antwort hilfreich

Angelehnt an meinen älteren Beitrag -> API: Kommentar-Indikator einblenden

Code:
#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 If

Dim 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


Sehen Sie sich das Profil von KSAH an!   Senden Sie eine Private Message an KSAH  Schreiben Sie einen Gästebucheintrag für KSAH

Beiträge: 113
Registriert: 18.06.2015

SolidWorks 2010 bis 2021

erstellt am: 07. Feb. 2024 11:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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


Sehen Sie sich das Profil von HenryV an!   Senden Sie eine Private Message an HenryV  Schreiben Sie einen Gästebucheintrag für HenryV

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für KSAH 10 Unities + Antwort hilfreich

Die WM_COMMAND-Nachricht ist eine Windows-Nachricht.

Das SHOW_RECENTDOCS hab ich mit dem Tool Microsoft Spy++ ermittelt.

------------------
21 ist nur die halbe Antwort.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KSAH
Mitglied
Freiberufler


Sehen Sie sich das Profil von KSAH an!   Senden Sie eine Private Message an KSAH  Schreiben Sie einen Gästebucheintrag für KSAH

Beiträge: 113
Registriert: 18.06.2015

SolidWorks 2010 bis 2021

erstellt am: 07. Feb. 2024 13:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Die WM_COMMAND-Nachricht ist eine Windows-Nachricht.

Stimmt, in meinen Büchern ist die auch drin. Bin damals nicht so tief ins Windows gedrungen. Spy++ kannte ich auch nicht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz