| |

Fortgeschrittene Programmierung1. Brauchbarer Ansatz | |  | Autor: VBStein | Datum: 07.09.08 15:32 |
| Hai,
so. Der User kann an seinem Window ziehen und machen: Er hat nichts davon, er kann die Zeit nicht mehr aufhalten. Ist die eingestellte Zeit verstrichen kommt gnadenlos ein Ende ;) (huch, das ist ja philosophisch )
GetMessage() habe ich einfach durch WaitMessage() und einem nachfolgenden DoEvents ersetzt. Die CPU- Last ist Dank der Waitfunktion bei 0%. Da wieder richtige API-Funktionen verlangt werden, entfällt auch eine Krücke für den AddressOf-Operator.
Option Explicit
Private Declare Function WaitMessage Lib "user32.dll" () As Long
Private Declare Function CreateTimerQueue Lib "kernel32.dll" () As Long
Private Declare Function CreateTimerQueueTimer Lib "kernel32.dll" ( _
ByRef hTimerQ As Long, _
ByVal hQueue As Long, _
ByVal pCallBack As Long, _
ByVal lParam As Long, _
ByVal nDuration As Long, _
ByVal nPeriod As Long, _
ByVal nFlags As Long) As Long
Private Declare Function DeleteTimerQueue Lib "kernel32.dll" ( _
ByVal TimerQueue As Long) As Long
Private Declare Function DeleteTimerQueueTimer Lib "kernel32.dll" ( _
ByVal TimerQueue As Long, _
ByVal Timer As Long, _
ByVal CompletionEvent As Long) As Long
Private hQueue As Long
Private hTimerQ As Long
Private doBreak As Boolean
Private Function WaitForTimer(lParam As Long, ByVal nWhat As Long) As Long
DeleteTimerQueueTimer hQueue, hTimerQ, 0
DeleteTimerQueue hQueue
doBreak = True
End Function
Public Sub WaitforMyTime(ByVal nMilliseconds As Long)
hQueue = CreateTimerQueue
CreateTimerQueueTimer hTimerQ, hQueue, AddressOf WaitForTimer, 0, _
nMilliseconds, 0, 0
doBreak = False
Do While doBreak = False
WaitMessage
DoEvents
Loop
End Sub Nachteil: Das Ganze ist erst ab Win2k/XP brauchbar. Brauchbar meint hier: Der User kann die eingestellte Zeit nicht mehr durch Eingriffe in die Events verlängern oder beeinflussen; er wird
es vielmehr unterlassen.
Beitrag wurde zuletzt am 07.09.08 um 16:02:22 editiert. |  |
 Schleife anhalten verhindern, wenn die maus den form-fenster... | 1.452 | dj.tommy | 03.09.08 21:29 |   Re: Schleife anhalten verhindern, wenn die maus den form-fen... | 962 | Dieter | 04.09.08 09:10 |    Re: Schleife anhalten verhindern, wenn die maus den form-fen... | 1.047 | dj.tommy | 04.09.08 15:25 |     Re: Schleife anhalten verhindern, wenn die maus den form-fen... | 980 | VBStein | 04.09.08 17:32 |      Re: Schleife anhalten verhindern, wenn die maus den form-fen... | 894 | dj.tommy | 04.09.08 17:59 |       Re: Schleife anhalten verhindern, wenn die maus den form-fen... | 919 | VBStein | 04.09.08 19:53 |        Re: Schleife anhalten verhindern, wenn die maus den form-fen... | 899 | dj.tommy | 06.09.08 11:18 |         Re: Schleife anhalten verhindern, wenn die maus den form-fen... | 907 | VBStein | 06.09.08 11:32 |          Re: Schleife anhalten verhindern, wenn die maus den form-fen... | 909 | dj.tommy | 06.09.08 11:37 |           Re: Schleife anhalten verhindern, wenn die maus den form-fen... | 884 | VBStein | 06.09.08 20:29 |   Re: Schleife anhalten verhindern, wenn die maus den form-fen... | 965 | dj.tommy | 06.09.08 20:46 |    Re: Schleife anhalten verhindern, wenn die maus den form-fen... | 874 | VBStein | 06.09.08 21:27 |   Re: Schleife anhalten verhindern, wenn die maus den form-fen... | 951 | dj.tommy | 06.09.08 21:44 |    Re: Schleife anhalten verhindern, wenn die maus den form-fen... | 1.164 | VBStein | 07.09.08 14:06 |     Re: Schleife anhalten verhindern, wenn die maus den form-fen... | 896 | dj.tommy | 07.09.08 14:20 |      1. Brauchbarer Ansatz | 1.014 | VBStein | 07.09.08 15:32 |       Re: 1. Brauchbarer Ansatz | 921 | dj.tommy | 07.09.08 16:09 |        Re: 1. Brauchbarer Ansatz | 907 | VBStein | 07.09.08 16:31 |         Re: 1. Brauchbarer Ansatz | 1.048 | dj.tommy | 07.09.08 17:08 |          2. CMD.EXE - im Nachbau | 1.261 | VBStein | 07.09.08 19:14 |           Re: 2. CMD.EXE - im Nachbau | 979 | dj.tommy | 07.09.08 20:21 |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Neu! sevCommand 4.0 
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|