SysMenu abfragen

Übersicht BlitzBasic DLLs und Userlibs

Neue Antwort erstellen

Sebastian

Betreff: SysMenu abfragen

BeitragSo, Mai 01, 2005 15:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi @all

Ich hab ja gesagt das ich ne Dll schreiben werde um die Buttons in der Titelleiste eines Fensters abzufragen ....

http://sebastians-site.de/ -> Userlibs

Dazu folgender Sampelcode :

Code: [AUSKLAPPEN]


hWnd = GetActiveWindow() ;Api-funktion

Const MINIMIZE = 1
Const MAXIMIZE = 2
Const CLOSE = 3



InitWinWatch(hWnd) ; Started Event-Captureing


Repeat
If CheckButton(MINIMIZE) Then Print "Minimize" ; Abfrage
If CheckButton(MAXIMIZE) Then Print "Maximize"
If CheckButton(CLOSE) Then Print "Close"



Until KeyHit(1)

StopWinWatch(hWnd) ; Beendet Even-Captureing ACHTUNG : Ohne diesen Befehl crashed die ANwendung beim Beenden !!!!!!

End

;Sebastian 1,5,2005 


Der sich ,denke ich, selbst erklärt ....

Bugs könnt ihr meinetwegen essen oder behalten,
ich habe den support sowie die Weiterentwicklung für sämtliche Applicationen/Libaries die ich unter Windows entwickelt hab eingestellt.
Ich arbeite nur noch unter Unix/Linux.

Die Dll ist unter GPL lizensiert.
Ich bin auf diesem Forum nicht mehr aktiv und die dll stand schon unter GPL,
bevor hier im Forum mit dem PD Quatsch angefangen worden war.
Außerdem wurde ich, als inaktiver User in keinster Weise über die Änderung informiert,
deshalb bezweifle ich, dass man mir wirklich eine Lizens aufzwingen kann.
Wenn da irgendjemand aus der Administration was dagegen hat, ist dieser Thread zu löschen, Danke !
Seit 2 Jahren kein BlitzBasic und kein Windows mehr, und stolz darauf !
  • Zuletzt bearbeitet von Sebastian am Do, Feb 07, 2008 20:50, insgesamt 10-mal bearbeitet
 

noir

BeitragSo, Mai 01, 2005 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
super gemacht! sehr nützlich!! Very Happy
Fragt und man wird euch helfen

Das Alternativ BlitzBasic-Forum: FreeCoder
Einfach chatten: BlitzChat
Code&Text schnell und einfach pasten: FreePasting

skey-z

BeitragSo, Mai 01, 2005 20:29
Antworten mit Zitat
Benutzer-Profile anzeigen
ist es für bplus geschrieben, unter b3d bekomme ich "Function 'getactivwindow' not found.

habe die dll und decls in den userlib ordner gepackt
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
 

noir

BeitragSo, Mai 01, 2005 20:42
Antworten mit Zitat
Benutzer-Profile anzeigen
hat er wohl vergessen Smile

musst du noch ergänzen *.decls

.lib "user32.dll"
GetActiveWindow%():"GetActiveWindow"
Fragt und man wird euch helfen

Das Alternativ BlitzBasic-Forum: FreeCoder
Einfach chatten: BlitzChat
Code&Text schnell und einfach pasten: FreePasting

skey-z

BeitragMo, Mai 02, 2005 0:11
Antworten mit Zitat
Benutzer-Profile anzeigen
jep, habs ans ende der sysmenu.decls angehängt und nun funzt es

[Edit-28.07.05]
ok, fals jemand darauf kommen sollte auf meinen post noch zu antworten, habe schon vor einiger zeit den extra userlib für die user32.dll erstellt
[/Edit]
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

Sebastian

BeitragSo, Jan 22, 2006 15:36
Antworten mit Zitat
Benutzer-Profile anzeigen
So jetzt hab ich ne iegene HP und kann die sysmenu.dll
endlich dauerhaft online lassen. 8) *Jubel*

Also ich hoffe ,dass die Tatsache das ich keine Anfrage per mail zu der dll erhalten hab ,nur auf die Faulheit mir ne Mail zu schreiben zurückzuführen ist.

mfg Sebastian
Seit 2 Jahren kein BlitzBasic und kein Windows mehr, und stolz darauf !
 

blitzatius

BeitragFr, Apr 28, 2006 14:17
Antworten mit Zitat
Benutzer-Profile anzeigen
also, irgendwie hab ich probleme mit der sysmenu.dll:
Die kann nur in dem Verzeichnis liegen, wo auch das exe-programm liegt???


also erstmal mach ich beim quellcode:
calldll("sysmenu.dll","Checkbutton")
calldll("sysmenu.dll","InitWinWatch")
calldll("sysmenu.dll","StopWinWatch")


und dann kommt der übliche schrott, wie auch immer.

also, die dll muss in dem verzeichnis liegen, im welchen die exe-datei liegt.

Wisst ihr warum? ich würde die gerne in einen extra-ordner legen.

Ps.: mit anderen DLL's geht das(in einen anderen ordner)

Sebastian

BeitragSa, Apr 29, 2006 16:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Erst mal solltest du die userlib (.decls-datei) die ich in meiner unendlichen Güte beigelegt habe anstatt calldll benutzen. (Informier dich mal zu Thema userlibs benutzen)

An der Tatsache ,dass die dll im gleichen verzeichniss liegen muss kann ich leider nicht ändern ist halt so ......

Zitat:

und dann kommt der übliche schrott, wie auch immer.


Ist übrigens die genauste Problembeschreibung ever seen ......
Seit 2 Jahren kein BlitzBasic und kein Windows mehr, und stolz darauf !
 

blitzatius

BeitragSo, Apr 30, 2006 14:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Sebastian hat Folgendes geschrieben:

Zitat:

und dann kommt der übliche schrott, wie auch immer.


Ist übrigens die genauste Problembeschreibung ever seen ......


Laughing . Ehmm, ich meinte damit, dass dann der code meines prorgamms folgt. ist übrigens egal. was dann folgt, wollt nur sagen, damit ihr nicht meint, dass ich nur die 3-zeilencode hab Wink

Und noch zu der .decls-datei: Die benötigt man nur bei programmieren. Also wenn ich jetzte eine .exe-datei erzeuge, dann spielt die .delcs-datei keine rolle mehr?

Sebastian

BeitragSo, Apr 30, 2006 15:42
Antworten mit Zitat
Benutzer-Profile anzeigen
calldll("sysmenu.dll","Checkbutton")
calldll("sysmenu.dll","InitWinWatch")
calldll("sysmenu.dll","StopWinWatch")

1. Zunächstmal ist der Source absolut sinnlos.
Du musst die .decls-Datei benutzen.
Über Calldll bringen dir die Funktionen gar nix, weil sie keine sinnvollen Parameter haben.

2. Für eine EXE ist die decls nicht mehr nötig.


Mal ne dämliche Frage :
Weißt du überhaupt was du mit der decls datei machen sollst ???
Seit 2 Jahren kein BlitzBasic und kein Windows mehr, und stolz darauf !
 

blitzatius

BeitragSo, Apr 30, 2006 19:18
Antworten mit Zitat
Benutzer-Profile anzeigen
na. klar weiss, was man mit der .decls-datei machen muss: in dend userlib ordner reintun geminsam mit der dll. So ganz dumm bin ich nun auch wieder nicht Wink

Mine Problem mit der SYsmenu.dll ist, dass die im gleichen verzeichnis, wie die .exe-datei sein muss

Sebastian

BeitragMo, Mai 01, 2006 13:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Und warum dann calldll ????

Hach is ja auch egal ..... Confused

Also das die dll im selben Verzeichniss liegen muss daran kann man leider nix änder is in Blitzbasic halt so .....

Man könnte sie höchstens ins system32-Verzeichniss (wars galub ich) von windows kopieren, das geht auch .....
Seit 2 Jahren kein BlitzBasic und kein Windows mehr, und stolz darauf !
 

blitzatius

BeitragDi, Mai 02, 2006 13:25
Antworten mit Zitat
Benutzer-Profile anzeigen
hi. also, dass die dll im selben verzeichnis bei blitzbasic liegen liegen muss, stimmt nicht, denn ich benutz auch noch eine andere dll(blitzSYS.dll) und die hab ich in einem unterVerzeichnis, und diese funktioniert einwandfrei.


Zitat:
Und warum dann calldll ????

Wenn ich eine DLL erstelle, dann weiss das Programm doch nicht, woher die Befehle sind???

Artemis

BeitragDi, Mai 02, 2006 14:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du Blitz3D, BlitzPlus oder Blitz2D?
 

blitzatius

BeitragDi, Mai 02, 2006 14:48
Antworten mit Zitat
Benutzer-Profile anzeigen
hi, ich hab blitz3d 1.89

testet bitte selber mal, ich hab bei mir auch voll lange rumprobiert, die dll in ein unterverzeichnis hineinzutun

Artemis

BeitragDi, Mai 02, 2006 15:24
Antworten mit Zitat
Benutzer-Profile anzeigen
  1. Update Blitz
  2. Die SysMenu.decls userlib-Ordner schieben
  3. Die SysMenu.decls um folgendes erweitern:
    Code: [AUSKLAPPEN]
    .lib "user32.dll"
    GetActiveWindow%():"GetActiveWindow"

  4. Die Datei test.bb und die SysMenu.dll in einen Ordner
  5. Die test.bb in der IDE ausführen
  6. Falls du die SysMenu.dll in dem Unterordner subdir hast, kannst du die SysMenu.decls folgendermaßen ändern:
    Ändere das .lib "SysMenu.dll" in .lib "subdir/SysMenu.dll" (Leider kannst du dann nachher den Ordner nicht wieder umbenennen.)
  7. Fertig

Sebastian

BeitragMi, Mai 03, 2006 14:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Wobei Schritt 3 überflüssig ist.
Das hab ich gleich nachdem es hier aufgefallen ist angefügt.
Seit 2 Jahren kein BlitzBasic und kein Windows mehr, und stolz darauf !
 

blitzatius

BeitragMi, Mai 03, 2006 14:55
Antworten mit Zitat
Benutzer-Profile anzeigen
@ Artemis:Dankeschön So funktioniert es Very Happy . Jucheii.

also so: .lib "subdir/SysMenu.dll". Hatte gar nicht gewusst, dass man sowas auch machen kann Wink

Neue Antwort erstellen


Übersicht BlitzBasic DLLs und Userlibs

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group