SysMenu abfragen
Übersicht

![]() |
SebastianBetreff: SysMenu abfragen |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
super gemacht! sehr nützlich!! ![]() |
||
Fragt und man wird euch helfen
Das Alternativ BlitzBasic-Forum: FreeCoder Einfach chatten: BlitzChat Code&Text schnell und einfach pasten: FreePasting |
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hat er wohl vergessen ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() |
Sebastian |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sebastian hat Folgendes geschrieben: Zitat: und dann kommt der übliche schrott, wie auch immer. Ist übrigens die genauste Problembeschreibung ever seen ...... ![]() ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 ![]() Mine Problem mit der SYsmenu.dll ist, dass die im gleichen verzeichnis, wie die .exe-datei sein muss |
||
![]() |
Sebastian |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und warum dann calldll ????
Hach is ja auch egal ..... ![]() 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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hast du Blitz3D, BlitzPlus oder Blitz2D? | ||
blitzatius |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
|
||
![]() |
Sebastian |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@ Artemis:Dankeschön So funktioniert es ![]() also so: .lib "subdir/SysMenu.dll". Hatte gar nicht gewusst, dass man sowas auch machen kann ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group