Zamykanie okna systemu Windows według jego tytułu

Cze wszystkim

Szukam sposobu na zamknięcie okna systemu Windows za pomocą samego tytułu okna.

Mam ten kod, ale mam błąd " typ zdefiniowany przez użytkownika nie jest zdefiniowany " w " Dim w As Window "

Dim w As Window, Ligne As Integer
Ligne = 1
For Each w In Windows
Cells(Ligne, 1) = w.Caption
Ligne = Ligne + 1
Next w
Window.Activate ("Bonjour")
Window.Close ("Bonjour")

Myślę, że z pewnością jest to funkcja lub odniesienie do dodania, ale nie mogę znaleźć, który.

Masz pomysł?

Witam

O ile się nie mylę, jest to funkcja Excela, ale nie działa na SW.
Powinieneś przyjrzeć się temu tematowi i dostosować proponowany kod, aby móc przechwycić okno i zamknąć Centrowanie formularza użytkownika na ekranie - Makro - myCAD Forum

2 polubienia

Witam;
Jakiego rodzaju okno " Windows " chcesz zamknąć?
możliwe jest zablokowanie niektórych z nich za pomocą zarządzania " Ostrzeżeniami " w interfejsach API solidworks:
https://help.solidworks.com/2016/English/api/swconst/SOLIDWORKS.Interop.swconst~SOLIDWORKS.Interop.swconst.swFileSaveWarning_e.html
lub za pomocą funkcji " Cichy ":

Tak, absolutnie, zrobiłem trochę badań nad kodem VBA i pomyślałem, że to może zadziałać.
Oczywiście, że nie.

Jest to wyskakujące okienko zewnętrznego oprogramowania.

Udało mi się uciec z tym kodem:

Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Any, _
    ByVal lpWindowName As String) As Long
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

Const WM_CLOSE = &H10
Dim Mywin
    Mywin = FindWindow(vbNullString, "Make a donation")
    Call SendMessage(Mywin, WM_CLOSE, 0, 0)

@treza88 jeśli problem zostanie rozwiązany, możesz wybrać własną odpowiedź jako najlepszą odpowiedź, aby zamknąć temat i w razie potrzeby pomóc innemu użytkownikowi, który ma taką samą potrzebę.

1 polubienie