WinAPI - FlashWindowEx... [erledigt]
Übersicht

![]() |
d-bugBetreff: WinAPI - FlashWindowEx... [erledigt] |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zu Hülf, zu Hülf!!!!
Vielleicht bin ich ja total betriebsblind, aber irgendwie sehe ich den Grund für diese Fehlermeldung: Code: [AUSKLAPPEN] K:/Dev/___Code/___bak/.bmx/flashwindowex.bmx.gui.release.win32.x86.o(code+0x1f0): undefined reference to `FlashWindowEx@4'
bei folgendem Code nicht: Code: [AUSKLAPPEN] 'fängt 10 sekunden nach start an zu flashen, wenns inaktiv ist
SuperStrict Type FLASHWINFO Field cbSize:Int Field hwnd:Int Field dwFlags:Int Field uCount:Int Field dwTimeout:Int End Type Const FLASHW_STOP:Int = 0 Const FLASHW_CAPTION:Int = 1 Const FLASHW_TRAY:Int = 2 Const FLASHW_ALL:Int = FLASHW_CAPTION | FLASHW_TRAY Const FLASHW_TIMER:Int = 4 Const FLASHW_TIMERNOFG:Int = 12 Extern "win32" Function FlashWindowEx:Int (FWInfo:Byte Ptr)="FlashWindowEx@4" End Extern Function FlashWindow (gadget:Tgadget) Local FWinfo:FLASHWINFO = New FLASHWINFO FWInfo.cbSize = SizeOf(FWinfo) FWInfo.hwnd = QueryGadget (gadget, QUERY_HWND) FWInfo.dwFlags = FLASHW_ALL | FLASHW_TIMERNOFG FWInfo.uCount = 0 FWInfo.dwTimeout = 0 FlashWindowEx (FWInfo) End Function '---------------------------------------------------------------- test Local window:TGadget = CreateWindow ("Blink mich dusselig!!!", 200, 200, 500, 300) Local a:Int=0 'FlashWindow( window ) Local timer:TTimer = CreateTimer(1) Repeat Select WaitEvent () Case EVENT_WINDOWCLOSE End Case EVENT_TIMERTICK a = a + 1 If a = 10 Then FlashWindow(window) EndIf End Select Forever cheers |
||
- Zuletzt bearbeitet von d-bug am Do, Aug 23, 2007 17:19, insgesamt 2-mal bearbeitet
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vermutlich gibts die Funktion einfach nicht in Win32 selbst sondern kommt über eine Zusatzlibrary von Windows.
In welcher DLL die von der WinAPI genutzt werden, sollte es denn sein? |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nene, ist regulär in der User32.dll also nichts ungewöhnliches dran. | ||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Meine Vermutung:
BlitzMax holt sich die Definitionen aus den Libs in BlitzMax/lib. In diesem Fall "libuser32.a". In der Datei ( ich hab nachgeschaut ) ist FlashWindowEx nicht definiert ( nur FlashWindow ). Scheint wohl einfach alt zu sein, die Datei. Du musst dir wohl entweder eine neue Lib holen oder LoadLibrary benutzen. Edit Im neuen MinGW ist es mit drin. |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das heisst mit der kommenden BM Version sollts gehen ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das heißt, wenn man nicht warten will tauscht man sie eben einfach so aus... ![]() Danke ProGamer.Coder, hat funktioniert... (Zumindest das Kompilieren) |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ist eine Möglichkeit, zumindest wenn man nicht vor hatte MaxGUI zu nutzen bis zum nächsten Release ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Auch da eine negative Antwort... MaxGUI funktioniert seltsamer Weise nach wie vor, solange du nur die libuser32.a austauschst und nicht die kompletten libs! Also bislang konnte ich zumindest noch keine Einschrenkungen feststellen.
cheers Hab übrigens mal das obige Example durch ein lauffähiges ersetzt (Danke Dee!) |
||
#ReaperNewsposter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke, hat mir auch geholfen ![]() Und ich dachte schon ich wäre zu blöd für BlockInput()^^° ![]() ![]() |
||
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7 |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
d-bug hat Folgendes geschrieben: Auch da eine negative Antwort... MaxGUI funktioniert seltsamer Weise nach wie vor, solange du nur die libuser32.a austauschst und nicht die kompletten libs! Also bislang konnte ich zumindest noch keine Einschrenkungen feststellen.
cheers Hab übrigens mal das obige Example durch ein lauffähiges ersetzt (Danke Dee!) Dachte du hättest es komplett ersetzt, nicht nur die .a File ![]() Dann ist klar, dann sollte alles noch gehen. (der neue MingW würde auch gehen, wenn die MaxGUI C++ Gadget Klassen nicht gleich heissen würden wie die von MingW, kooomischerweise ^^) Aber freut mich natürlich das es geht ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da hab ich doch was für Hörrn D-bug ![]() Code: [AUSKLAPPEN] SuperStrict
Framework brl.maxgui Import brl.win32maxgui Import brl.eventqueue Import brl.event Import brl.timer ?Win32 Import PUB.win32 Extern "Win32" Function FreeLibrary(HLib:Int) End Extern Global FlashWindowEx:Int(pfwi:Byte Ptr) Local Lib:Int = LoadLibraryA("user32") FlashWindowEx = GetProcAddress(Lib,"FlashWindowEx") FreeLibrary Lib ?linux Function FlashWindowEx(hWnd:Int,Mode:Int,Count:Int=3,Speed:Int=0) Return End Function ?osx Function FlashWindowEx(hWnd:Int,Mode:Int,Count:Int=3,Speed:Int=0) Return End Function ? Type TWindowFlasher Function FlashWindow:Int(Window:TGadget,FlashMode:Int,FlashCount:Int,Speed:Int=0) Local FWI:TFlashInfo = New TFlashInfo FWI.cbSize = SizeOf(TFlashInfo) FWI.dwFlags = FlashMode FWI.dwTimeout = Speed FWI.hWnd = QueryGadget(window,1) FWI.uCount = FlashCount FlashWindowEx(FWI) End Function End Type Type TFlashInfo Field cbSize:Int Field hWnd:Int Field dwFlags:Int Field uCount:Int Field dwTimeOut:Int End Type '--------------------- sample Local hWnd:TGadget = CreateWindow("TestWindow",0,0,800,600,Null,WINDOW_TITLEBAR) Local hButton:TGadget = CreateButton("Flash window",200,200,200,25,hWnd) Local timer:TTimer = TTimer.create(200) Repeat WaitEvent() Select currentevent.id Case $4003 End Case EVENT_GADGETACTION TWindowFlasher.FlashWindow(hWnd,1,3,200) End Select timer.wait() Forever |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ui Junkprogger... Danke schön, aber wo ist denn jetzt der Unterschied zur obigen Variante? ![]() Okay, du lädst User32.dll noch mals neu, aber das brauch ich eigentlich nicht, denn bis das ganze soll kein öffentliches Modul werden, sondern nur für klein Buggy sein... cheers |
||
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nunja ich hatte es halt da, es funktioniert ganz gut und ich wollt auch mal angeben ![]() Zudem verdeutlicht es anderen suchenden wie mans lösen könnte, wenn sie ganz schlau sind kombinieren sie meins mit deinem und haben ne Lösung bzw. ein Beispiel... oder so oO |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group