Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  VBasic / vb.net / vbs / wsh
  VB.Net Systemmeldung (Dialogfenster) automatisch schließen

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
Autor Thema:  VB.Net Systemmeldung (Dialogfenster) automatisch schließen (1547 mal gelesen)
Dirk.B
Mitglied
Tischler / Leiter Arbeitsvorbereitung


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

Beiträge: 534
Registriert: 25.11.2003

AutoCAD 2021/2022
CAD+T
HP ZBook 15 G4, 64-bit,
WIN 10 Pro

erstellt am: 18. Okt. 2013 10:00    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


AutoCAD_Meldung.jpg

 
Hallo zusammen!

Ich habe folgendes Problem.
Für eine Anwendung (AutoCAD) habe ich eine kleines Tool in VB.Net geschrieben in dem Dateien aus einem Verzeichnis in einem Schleifendurchlauf geöffnet, bearbeitet und wieder geschlossen werden.
Nun kann es sein, dass zwischendurch eine Anwendungsmeldung (Dialogbpx, siehe Anlage) erschein, die den Schleifendurchlauf unterbricht um mit ok bestätigt zu werden.

Kann ich solch ein Dialogfenster abfangen und automatisch mit ok bestätigen?

In AutoCAD gibt es dazu leider keine Möglichkeit.

Für Hilfe, vielen Dank im Voraus.

------------------
Gruß

Dirk

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

RSchulz
Ehrenmitglied V.I.P. h.c.
Head of CAD, Content & Collaboration / IT-Manager



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

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 18. Okt. 2013 10:37    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 Dirk.B 10 Unities + Antwort hilfreich

Hallo Dirk,

ich habe dir da mal eben etwas zusammen geschrieben (ungetestet!). Jedenfalls löseich das so oder so ähnlich...

Code:

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Sub FindWindowAndClose(ByVal Title as String)

    Dim hWndTmp1        As Long
    Dim hWndTmp2        As Long
    Dim i               As Integer
   
    On Error Resume Next
    i = 0
   
    'Find the Window  
    Do

        hWndTmp1 = FindWindow(vbNullString, Title)
   
        If hWndTmp1 <> 0 Then

            'close Window however it could be closed           

        End If
          
        Application.DoEvents()
        Wait (100)
        i = i + 1
       
        'exit sub after 10 Seconds
        If i = 100 then exit Sub
            
    Loop Until hWndTmp1 <> 0
   
    'waiting until the window is closed
    Do
                                  
        hWndTmp1 = FindWindow(vbNullString, Title)
        Application.DoEvents()
        Wait (100)
                           
    Loop Until hWndTmp1 = 0
           
End Sub

Public Sub Wait(ByVal i as Integer)

    Dim StartTime As Date = Now

    Do Until (Now - StartTime).Milliseconds > i
        Application.DoEvents()
    Loop

End Sub


Klar muss hier verfeinert werden und ich würde eher mit einem Timer arbeiten, der einmalig durchläuft, aber lösbar sollte dein Problem sein, solange du an das Fenster heran kommst bzw. es identifizieren kannst.

HTH

/Edit: Habe etwas vergessen und natürlich nicht bedacht, dass du dich im .Net aufhälst.  siehe "Application.DoEvents()"

------------------
MFG
Rick Schulz

Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

[Diese Nachricht wurde von RSchulz am 18. Okt. 2013 editiert.]

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

Dirk.B
Mitglied
Tischler / Leiter Arbeitsvorbereitung


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

Beiträge: 534
Registriert: 25.11.2003

erstellt am: 19. Okt. 2013 14:35    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

Hallo Rick!

Vielen Dank!
Das mit dem FindWindow funktioniert.

------------------
Gruß

Dirk

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

Arne Peters
Ehrenmitglied V.I.P. h.c.
CAD Dokumentation / Training / Programmierung / Datenbanken


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

Beiträge: 7250
Registriert: 05.2002.24

Solid Edge Seminarunterlagen
Training, Beratung, Programmierung

erstellt am: 20. Okt. 2013 19:16    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 Dirk.B 10 Unities + Antwort hilfreich

Vielleicht bietet AutoCAD ja die Möglichkeit Meldungen zu unterdrücken. Bei Solid Edge gibt es sowas.

------------------
Arne

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)2023 CAD.de | Impressum | Datenschutz