Windows-Disable-Blinken

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

KnorxThieus

Betreff: Windows-Disable-Blinken

BeitragFr, März 02, 2012 21:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!


Ich suche gerade nach einer Funktion zum Ermitteln eines Mausklickes in ein disabeltes Fenster.
Ich meine, dann, wenn das enabelte Fenster blinkt.
Kann ich irgendwie ermitteln, das es so einen Klick gab? Das Flimmern direkt ausschalten? Die user32.decsl habe ich Sad erfolglos auch schon durchsucht.

Wer mir helfen kann, dem danke ich!
Version: BlitzPlus / Blitz+
  • Zuletzt bearbeitet von KnorxThieus am Mi, Mai 13, 2015 13:38, insgesamt einmal bearbeitet

Der Eisvogel

BeitragFr, März 02, 2012 21:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Geht es hierbei um ein beliebiges Fenster, BlitzSys und dergleichen, oder das B3D Fenster?
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

KnorxThieus

BeitragSa, März 03, 2012 15:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Es geht um das eigene BlitzPlus-Fenster.

PS. Außerdem: Meine Signatur hat Folgendes geschrieben:
Version: BlitzPlus / Blitz+
Version: BlitzPlus / Blitz+

the FR3AK

BeitragSa, März 03, 2012 15:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Meinst du das Blinken unten in der Taskleiste? Wenn ja, schau dir mal diese Funktion in der Winapi an: http://msdn.microsoft.com/en-u...85%29.aspx

KnorxThieus

BeitragSa, März 03, 2012 15:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn sich ein Child-Fenster eines Parent-Fensters öffnet, und das Parent-Fenster disabelt. Klickt man dann ins disabelte Parent-Fenster, kommt ein "Ungültig"-Sound und das Child-Fenster blinkt.
Beispiel: Zitat:
Wenn man die Verknüpfungs-Eigenschaften von bsp. Audacity öffnet, und unter "Verknüpfung" "Anderes Symbol..." wählt, popt ja auch ein weiteres Fenster auf. Wenn man dann ins Parent-Fenster klickt, blinkt es ja wie bereits beschrieben.
user posted image
  • Zuletzt bearbeitet von KnorxThieus am Di, März 13, 2012 19:09, insgesamt einmal bearbeitet

Der Eisvogel

BeitragSa, März 03, 2012 17:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Was für Child-Fenster meinst du jetzt genau? Welche die du selbst erstellt hast oder Notify's?
Wenn es eigene sind, ist dieses Blinken soweit ich weiß garnicht vorhanden. Wenn du Notify's meinst, dann könntest du einfach MessageBoxA der WinAPI verwenden und kein Parent angeben und das Fenster manuel deaktivieren, dann kommt nur noch der Ton, aber die Meldung blinkt nicht. Wenn du auch keinen Ton willst, fang einfach alle Events ab und reagier nicht drauf, dann tut sich in dem Fenster auch nix.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

KnorxThieus

BeitragSa, März 03, 2012 18:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich meine selbst erstellte.
Natürlich habe ich auch DisableGadget erstellt.
Garantiert blinkt es!

Und wie soll ich
▬Eisvogel hat Folgendes geschrieben:
einfach alle Events abfangen
▬? Die stammen doch nicht vom Debugger (also Blitz selbst), das ist doch Werk Windows'.
Question

Trotzdem Danke für dein Verständnis Embarassed !
Version: BlitzPlus / Blitz+

ZEVS

BeitragSa, März 03, 2012 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Es liegt in der Natur von DisableGadget, keine Eingaben beim Gadget mehr zuzulassen. Für den Fall Window bedeutet das genau das, was du beschrieben hast. Wieso benutzt du nicht EnableGadget?

ZEVS

KnorxThieus

BeitragSa, März 03, 2012 18:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Mein Ziel ist es, das der User nicht in das Parent-Fenster wechseln kann.

Idea ganz plötzlich::: Wie wäre es, einen Screenshot des Parent-Windows' über dem einzublenden?

'Fühl mich schon besser Wink
Version: BlitzPlus / Blitz+

ozzi789

BeitragSa, März 03, 2012 18:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Könntest du einen Code posten, dann kann ich mir das mal anschauen

Grüsse
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5
 

PhillipK

BeitragSa, März 03, 2012 20:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, Snapshot klingt nun wirklich nach einer "dreckigen" lösung Smile

Zwar wirds keinen Computer kümmern, doch es wird sicher irgendwo einen Fehler oder Befehl geben, der das löst. Dafür dann jedesmal einen Snapshot anfertigen zu lassen, fände ich persönlich zu doof. Ist alles nur unnötige mehrlast am Computer, die einfach nicht sein muss. Klar, kümmert echt keinen PC mehr und selbst die krücke von 1998 die ich hier stehen habe, dürfte das hinkriegen.. aber.. Very Happy Da wär mir das blinken lieber ^^

Warum genau stört dich das blinken denn?
Eingefleischte user werden das sicher schon "übersehen" und sich nicht drum kümmern. Bringt doch keinen um Smile

BladeRunner

Moderator

BeitragSa, März 03, 2012 21:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Exakt: beschreib uns genau warum du das erreichen willst und was genau. Denn nur dann kann man auch wirklich helfen.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Der Eisvogel

BeitragSa, März 03, 2012 22:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich ein Fenster mittels DisableGadget deaktiviere, und drauf klicke, kommt lediglich der Ton, aber es blinkt absolut nichts.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

KnorxThieus

BeitragSo, März 04, 2012 18:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Na gut:

@ozzi: (Aber nicht verkaufen! Wink )
BlitzBasic: [AUSKLAPPEN]
Include "Files\bb\Functions.bb"

Dim times$(7, 288)
Dim ntftxt$(7, 288)
Repeat : Until Right$(MilliSecs(), 3) = "000"
Global timer = CreateTimer(1)
Global ProgramPath$ = "C:\Users\Chrissi\Documents\BlitzPlus\KTs TimeTabler\";GetProgramPath$()
;build graphics

Select GetTaskBarInfo(2)
Case 1, 3
xdif = -1
Case 2, 4
ydif = 1
End Select
Select GetTaskBarInfo(2)
Case 1, 3
w = ClientWidth(Desktop()) + (GetTaskBarInfo(1) * xdif)
h = ClientHeight(Desktop())
Case 2, 4
w = ClientWidth(Desktop())
h = ClientHeight(Desktop()) + (GetTaskBarInfo(1) * ydif)
End Select

Global win = CreateWindow("KTs TimeTabler", w / 6, h / 6, w / 6 * 4, h / 6 * 4, Desktop())
AppTitle "KTs TimeTabler"
Global tabber = CreateTabber(0, 0, ClientWidth(win), ClientHeight(win), win)
tabber_icons = LoadIconStrip("Files\bmp\Tabber_icons.bmp")
SetGadgetLayout tabber, 1, 1, 1, 1
SetGadgetIconStrip tabber, tabber_icons
AddGadgetItem tabber, "Startseite", True, 0
AddGadgetItem tabber, "Lesemodus", alse, 1
AddGadgetItem tabber, "Schreibemodus", False, 2

Global tabber_cp_homepage = CreatePanel(0, 0, ClientWidth(tabber), ClientHeight(tabber), tabber)
Global tabber_cp_reading = CreatePanel(0, 0, ClientWidth(tabber), ClientHeight(tabber), tabber)
Global tabber_cp_writing = CreatePanel(0, 0, ClientWidth(tabber), ClientHeight(tabber), tabber)
SetGadgetLayout tabber_cp_homepage, 1, 1, 1, 1
SetGadgetLayout tabber_cp_reading, 1, 1, 1, 1
SetGadgetLayout tabber_cp_writing, 1, 1, 1, 1

Global homepage_htmlv = CreateHtmlView(0, 0, ClientWidth(tabber_cp_homepage), ClientHeight(tabber_cp_homepage), tabber_cp_homepage, 3)
SetGadgetLayout homepage_htmlv, 1, 1, 1, 1
HtmlViewGo homepage_htmlv, ProgramPath$ + "Files\html\homepage.html"
;;;MENU laden
menu1 = CreateMenu("&Datei", 1, WindowMenu(win))
menu11 = CreateMenu("&Neu", 11, menu1)
menu12 = CreateMenu("Ö&ffnen", 12, menu1)
menu13 = CreateMenu("&Speichern", 13, menu1)
menu14 = CreateMenu("Speichern &unter...", 14, menu1)
menu_sx = CreateMenu("", 0, menu1)
menu15 = CreateMenu("&Drucken", 15, menu1)
menu16 = CreateMenu("Druc&ken unter...", 16, menu1)
menu_sx = CreateMenu("", 0, menu1)
menu17 = CreateMenu("S&chließen", 17, menu1)
menu18 = CreateMenu("&Beenden", 18, menu1)
;menu2 = CreateMenu("&Bearbeiten", 1, WindowMenu(win))
;menu21 = CreateMenu("&Neu", 11, menu1)

UpdateWindowMenu(win)

HotKeyEvent 49, 2, $1001, 11
HotKeyEvent 24, 2, $1001, 12
HotKeyEvent 31, 2, $1001, 13
HotKeyEvent 31, 3, $1001, 14
HotKeyEvent 25, 2, $1001, 15
HotKeyEvent 25, 3, $1001, 16
HotKeyEvent 16, 3, $1001, 17
HotKeyEvent 1, 7, $1001, 17
HotKeyEvent 16, 2, $1001, 18


;Main loop
ChangeModeHomePage(1)
StartView()
ChangeModeHomePage()








Function ControlGeneralEvents()
Select WaitEvent()
Case $401
Select EventSource()
Case tabber
Select EventData()
Case 0
ChangeModeHomePage()
Case 1
ChangeModeReading()
Case 2
ChangeModeWriting()
End Select
End Select
Case $803
EndRequest()
Case $1001
Select EventData()
Case 11
ChangeModeWriting()
Case 12
ChangeModeReading()
Case 17
ChangeModeHomePage()
Case 18
EndRequest()
End Select
End Select
End Function

Function ChangeModeWriting()
SelectGadgetItem tabber, 2
ModifyGadgetItem tabber, 2, GadgetItemText$(tabber, 2), 5
ModifyGadgetItem tabber, 1, GadgetItemText$(tabber, 1), 1
ModifyGadgetItem tabber, 0, GadgetItemText$(tabber, 0), 0
HideGadget tabber_cp_reading
HideGadget tabber_cp_homepage
ShowGadget tabber_cp_writing

Notify "Writing-Mode"
End Function

Function ChangeModeReading()
; Stop
;graphics
SelectGadgetItem tabber, 1
ModifyGadgetItem tabber, 1, GadgetItemText$(tabber, 1), 4
ModifyGadgetItem tabber, 2, GadgetItemText$(tabber, 2), 2
ModifyGadgetItem tabber, 0, GadgetItemText$(tabber, 0), 0
HideGadget tabber_cp_homepage
HideGadget tabber_cp_writing
ShowGadget tabber_cp_reading


file$ = RequestFile$("TTL TimeTableList öffnen", ".ttl, .txt", False, "*.ttl")
If FileType(file$) > 0 ReadTimeTable(file$)
Repeat
ttd$ = ControlWritingDates$()
If ttd$ <> "" Notify ttd$
ControlGeneralEvents()
Forever
End Function

Function ChangeModeHomePage(ret = False)
SelectGadgetItem tabber, 0
ModifyGadgetItem tabber, 0, GadgetItemText$(tabber, 0), 3
ModifyGadgetItem tabber, 1, GadgetItemText$(tabber, 1), 1
ModifyGadgetItem tabber, 2, GadgetItemText$(tabber, 2), 2
HideGadget tabber_cp_reading
HideGadget tabber_cp_writing
ShowGadget tabber_cp_homepage
If ret Return

Repeat
ControlGeneralEvents()
Forever
End Function

Function EndRequest()
If Confirm("KTs TimeTabler beenden?") End
End Function





Function ControlWritingDates$()
;Stop
wd = GetWeekDay()
For a = 0 To 288
If times$(wd, a) = CurrentTime$();Left$(times$(wd, a), 6) = Left$(CurrentTime$(), 6) And Int(Right$(times$(wd, a), 2)) - 1 => Int(Right$(CurrentTime$(), 2));
Return ntftxt$(wd, a)
EndIf
Next
End Function






Function ReadTimeTable(file$)
; Stop
files = ReadFile(file$)
If files = 0
Notify "Fehler: " + Chr$(13) + "Ungültige Datei", 1
Return "Fehler: " + Chr$(13) + "Ungültige Datei"
EndIf
l_1$ = ReadLine$(files)
l_2$ = ReadLine$(files)
ilb = IsLineBreak(files)
If l_1$ <> "TTL TimeTableList " + GetFileName$(file$) Or l_2$ = "By KnorxThieus TimeTabler" Or ilb = 0
DebugLog "missing intro" + Chr$(13) + l_1$ + ", " + l_2$ + ", " + ilb + Chr$(13) + GetFileName(file$)
EndIf
Repeat
l$ = ReadLine(files)
Repeat
lcut1$ = Left$(l$, Instr(l$, "-"))
lcut2$ = Left$(l$, Instr(l$, "+"))
eor = False
If Len(lcut1$) = Len(lcut2$)
lfin$ = l$
eor = True
ElseIf Len(lcut1$) < Len(lcut2$)
lfin$ = lcut1$
l$ = Mid$(l$, Instr(l$, "-"))
ElseIf Len(lcut2$) < Len(lcut1$)
lfin$ = lcut2$
l$ = Mid$(l$, Instr(l$, "+"))
EndIf
ok = False
Select lfin$
Case "Montag" : lday = 1
ok = True
Case "Dienstag" : lday = 2
ok = True
Case "Mittwoch" : lday = 3
ok = True
Case "Donnerstag" : lday = 4
ok = True
Case "Freitag" : lday = 5
ok = True
Case "Samstag" : lday = 6
ok = True
Case "Sonnabend" : lday = 6
ok = True
Case "Sonntag" : lday = 7
ok = True
End Select
; If ok = False And Not Eof(files)
; Return "l$ is no weekday. not eof(files)"
; EndIf
Until eor

l$ = ReadLine$(files) ;!!!vervollständigung auf zwei doppelpunkte
time$ = Left$(l$, Instr(l$, " ") - 1) ;!!!
colon1 = Instr(l$, ":")
colon2 = Instr(l$, ":", colon1 + 1)
If Not colon1
times$(lday, timestplace) = time$ + ":00:00" ;!!!
ElseIf Not colon2
times$(lday, timestplace) = time$ + ":00" ;!!!
Else
times$(lday, timestplace) = time$ ;!!!
EndIf
ntftxt$(lday, timestplace) = Mid$(l$, Instr(l$, " ") + 1)
timestplace = timestplace + 1 ;!!!
Until Eof(files); Or

; For a = 1 To 7
; For b = 0 To 288
; DebugLog "Tag Nr." + a + ": Um " + times$(a, b) + " Uhr " + Chr$(34) + ntftxt$(a, b) + Chr$(34)
; Next
; Next
End Function

Function StartView()
DisableGadget win
startwin = CreateWindow("KTs TimeTabler", GadgetX(win) + GadgetWidth(win) / 4, GadgetY(win) + GadgetHeight(win) / 4, GadgetWidth(win) / 2, GadgetHeight(win) / 2, 0, 2 + 16);7)
AddWindowMinimizeButton(startwin)
GlassPlusInit($FFFFFFFF)
gwin = MakeGlassWindow(QueryObject(startwin, 1), -1, 0, 0, 0)
EnableGlassDrag(gwin, True)
Repeat
Select WaitEvent()
Case $801, $802
DisableGadget startwin
SetGadgetShape startwin, GadgetX(win) + GadgetWidth(win) / 4, GadgetY(win) + GadgetHeight(win) / 4, GadgetWidth(win) / 2, GadgetHeight(win) / 2
EnableGadget startwin
End Select
Forever
End Function

EDIT: hat Folgendes geschrieben:
Und bitte meckert nicht rum, ich weiß, der Stil ist schlecht ich hab falsch angefangen und falsch aufgebaut....
Darum geht's ja jetzt nicht! Rolling Eyes Wink


@PhillipK & BladeRunner:
Das Blinken stört mich so, weil ich ein verglastes Fenster (GlassPlus von ChristianK) habe. Das blinkt alles!

@Der Eisvogel:
Ich rede von Child- und Parentfenstern.

[EDIT: Ups!]

PS: Idea : Gibt es in der WinApi, Bass.dll oder so was denn einen Befehl, um Systemsounds zu de/aktivieren?
Version: BlitzPlus / Blitz+

Holzchopf

Meisterpacker

BeitragSo, März 04, 2012 21:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein wenig Off-Topic, aber zum KnorxThieus hat Folgendes geschrieben:
PS: Idea : Gibt es in der WinApi, Bass.dll oder so was denn einen Befehl, um Systemsounds zu de/aktivieren?
muss ich mich melden.

Na hoffentlich gibt es sowas nicht! Das einzige, wovon ich will, dass es in meinen Systemeinstellungen rumwuschelt, bin ich - und zwar nur dann, wenn ich das gezielt in der dafür vorgesehenen Systemsteuerung tue.

Oder meinst du, um an die Systemsound-Dateien ranzukommen, um sie selbst zu laden und per PlaySound abzuspielen?
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

ozzi789

BeitragSo, März 04, 2012 22:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein Code den ich nicht ausführen kann um mir das anzuschauen hilft mir ziemlich wenig :/
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

KnorxThieus

BeitragDi, März 06, 2012 17:02
Antworten mit Zitat
Benutzer-Profile anzeigen
ozzi: Ich habs auch grad bemerkt. Files fehlen. Kannst du die rausstreichen? Ich weiß nicht, wie man ein Verzeichnis hochlädt. Sad Embarassed
Aber geht ein zip?

Holzchopf: Ich meine, den Windows-7-Lautestärkemixer nachzuahmen.
user posted image
Version: BlitzPlus / Blitz+
 

PacMani

BeitragDi, März 06, 2012 21:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Uark, alleine das Ändern der gesamten Systemlautstärke war unverständlich aufwendig, als ich das das letzte Mal schon unter C# probierte.

ozzi789

BeitragMi, März 07, 2012 9:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weis immernoch nicht was genau du meinst, aber anstatt das ganze Fenster zu disabeln würde ich einfach alle Gadgets auf dem Fenster disabeln.
So kannst du die Klicks aufs Fenster immernoch abfangen + kein geklimper von Windows.

Grüsse
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

KnorxThieus

BeitragMi, März 07, 2012 15:57
Antworten mit Zitat
Benutzer-Profile anzeigen
@ozzi789: das sieht aber "amateurisch" aus. Das Menü- geht noch mit DisableMenu WindowMenu(win).
Aber dann blinkt das Parent-Fenster ja, weil es aktiviert - und auf Eventabfrage wieder deselektiert wird. Sad

Soll ich noch zippen?


Pac-Man: Vielleicht arbeitet Windows-7-Lautestärkemixer ja mit einer eigenen DLL? Question
Version: BlitzPlus / Blitz+

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group