Deutsch
Forum

Verschwindet das Programm hinter der Taskleiste? Problembehandlung?

 
- Seite 1 -



Julian
Schmidt
Hallo,
Ich habe ein Problem und hoffe das einige das Programm testen und Bericht erstatten können.
Nun eine Erörterung des Problems...
Wenn man das Tool über die Taskleiste schiebt und der Taskleiste den Fokus gibt verschwindet es hinter dieser. Dann kann man es leider auch nicht mehr herausziehen.





Tritt dieses Problem auf euren Rechner auch auf?
Ich habe es auf 3 Rechnern getestet...
Auf Win7 Home Premium(Acer) und WinXP Professionell trat das Problem auf.
Bei Win7 Home Premium(HP) dagegen nicht.

Ideen zu Problembehandlung sind erwünscht. Am liebsten allerdings in einem Unterthema.

Download
externer Download

Def ReleaseCapture(0) !"USER32","ReleaseCapture"
windowstyle 64+16+1024
window 0,0-0,0
SetWindowPos %hwnd=%MaxX-380,(%MaxY-80) - 120,35;-1
UserMessages 513
cls RGB(255,0,0)

while 1

    waitinput
    case iskey(27) : end
    case %uMessage=513 : moveWin

Endwhile

proc moveWin

    if getfocus(%Hwnd)

        UseCursor 5
        SendMessage(%hwnd,$112,$F012,0)

    endif

    UseCursor 0
    ReleaseCapture()

endproc


LG

Julian57

5 kB
Hochgeladen:04.08.2011
Ladeanzahl133
Herunterladen
5 kB
Hochgeladen:04.08.2011
Ladeanzahl125
Herunterladen
1.261 kB
Hochgeladen:04.08.2011
Ladeanzahl128
Herunterladen
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
04.08.2011  
 



« Dieser Beitrag wurde als Lösung gekennzeichnet. »


Julian
Schmidt
hmmm...eure Hilfsbereitschaft lässt wirklich zu wünschen übrig....
windowstyle 64+16+1024
window 0,0-0,0
SetWindowPos %hwnd=%MaxX-380,(%MaxY-80) - 120,35;-1
UserMessages 513
cls RGB(255,0,0)

while 1

    waitinput
    case iskey(27) : end
    case %uMessage=513 : hWnd.moveByMouse

Endwhile

proc hWnd.moveByMouse

    declare mpos#,x1&,y1&, x2&,y2&
    dim mpos#,8
    external("user32","GetCursorPos",mpos#)
    var wix&=%winLeft-long(mpos#,0)
    var wiy&=%winTop-long(mpos#,4)

    while iskey(1)

        external("user32","GetCursorPos",mpos#)
        x1&=(long(mpos#,0)+wix&)
        case x1&<workarea("Links") : x1&=workarea("Links")
        case x1&>workarea("Rechts")-(%winRight-%winLeft) : x1&=workarea("Rechts")-(%winRight-%winLeft)
        y1&=(long(mpos#,4)+wiy&)
        case y1&<workarea("Oben") : y1&=workarea("Oben")
        case y1&>workarea("Unten")-(%winBottom-%winTop) : y1&=workarea("Unten")-(%winBottom-%winTop)
        setWindowPos %hWnd=x1&,y1& - (%winRight-%winLeft),(%winBottom-%winTop);0

    Endwhile

    dispose mpos#

endProc

Proc workarea

    DEF SysParameterInfo(4) ! "user32","SystemParametersInfoA"
    Parameters position$
    Declare Rect#,x%
    Dim Rect#,16
    SysParameterInfo(48,0,Rect#,0)
    case position$="Links" : x%=Long(Rect#,0)
    case position$="Oben" : x%=Long(Rect#,4)
    case position$="Rechts" : x%=Long(Rect#,8)
    case position$="Unten" : x%=Long(Rect#,12)
    Dispose Rect#
    Return x%

endproc


1.262 kB
Hochgeladen:07.08.2011
Ladeanzahl108
Herunterladen
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
07.08.2011  
 



Ja ist ja völlig normal.

Darum kann man Fenster z.B. per mit-der-Maus-an-der-Titelzeile-Festhalten auch nicht hinter die Tastbar verschieben.

Du musst den tatsächlichen Arbeitsbereich beachten -

Rolf Koch hat imho eine Unit gepostet mit der sich der Arbeitsbereich ermitteln lässt.
 
04.08.2011  
 




Julian
Schmidt
iF (04.08.11)
Rolf Koch hat imho eine Unit gepostet mit der sich der Arbeitsbereich ermitteln lässt.


Vermutlich meinst du die Unit[...] 
Allerdings kommt bei dem Beispiel in XProfanX2 eine Fehlermeldung. Liegt imho daran das die Datei sechs Jahre alt ist.



[OFFTOPIC]XProfan.com ist seit einer halben Stunden bei mir in Firefox(5.0) nicht mehr aufrufbar, selbst wenn ich über eine andere Proxy surfe. Über SRWare Iron funktioniert der Aufruf.[/OFFTOPIC]

47 kB
Hochgeladen:05.08.2011
Ladeanzahl118
Herunterladen
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
05.08.2011  
 




Julian
Schmidt
Alternativ zu der Unit kann man die Workarea über eine Prozedur ermitteln. Nur wie kann ich das Verschieben des Programms auf die Workarea begrenzen?

Workarea:
Proc workarea

    DEF SysParameterInfo(4) ! "user32","SystemParametersInfoA"
    Parameters position$
    Declare Rect#,x%
    Dim Rect#,16
    SysParameterInfo(48,0,Rect#,0)
    case position$="Links" : x%=Long(Rect#,0)
    case position$="Oben" : x%=Long(Rect#,4)
    case position$="Rechts" : x%=Long(Rect#,8)
    case position$="Unten" : x%=Long(Rect#,12)
    Dispose Rect#
    Return x%

endproc

cls
print "Workarea = "+Str$(workarea("Links"))+","+Str$(workarea("Oben"))+" - "+Str$(workarea("Rechts"))+","+Str$(workarea("Unten"))
print "Bildschirm = 0,0 - "+Str$(%MaxX)+","+Str$(%MaxY)

while 1

    waitinput

Endwhile


Programm_Grundgerüst:
Def ReleaseCapture(0) !"USER32","ReleaseCapture"
windowstyle 64+16+1024
window 0,0-0,0
SetWindowPos %hwnd=%MaxX-380,(%MaxY-80) - 120,35;-1
UserMessages 513
cls RGB(255,0,0)

while 1

    waitinput
    case iskey(27) : end
    case %uMessage=513 : moveWin

Endwhile

proc moveWin

    if getfocus(%Hwnd)

        UseCursor 5
        SendMessage(%hwnd,$112,$F012,0)

    endif

    UseCursor 0
    ReleaseCapture()

endproc

 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
05.08.2011  
 




Julian
Schmidt
hmmm...eure Hilfsbereitschaft lässt wirklich zu wünschen übrig....
windowstyle 64+16+1024
window 0,0-0,0
SetWindowPos %hwnd=%MaxX-380,(%MaxY-80) - 120,35;-1
UserMessages 513
cls RGB(255,0,0)

while 1

    waitinput
    case iskey(27) : end
    case %uMessage=513 : hWnd.moveByMouse

Endwhile

proc hWnd.moveByMouse

    declare mpos#,x1&,y1&, x2&,y2&
    dim mpos#,8
    external("user32","GetCursorPos",mpos#)
    var wix&=%winLeft-long(mpos#,0)
    var wiy&=%winTop-long(mpos#,4)

    while iskey(1)

        external("user32","GetCursorPos",mpos#)
        x1&=(long(mpos#,0)+wix&)
        case x1&<workarea("Links") : x1&=workarea("Links")
        case x1&>workarea("Rechts")-(%winRight-%winLeft) : x1&=workarea("Rechts")-(%winRight-%winLeft)
        y1&=(long(mpos#,4)+wiy&)
        case y1&<workarea("Oben") : y1&=workarea("Oben")
        case y1&>workarea("Unten")-(%winBottom-%winTop) : y1&=workarea("Unten")-(%winBottom-%winTop)
        setWindowPos %hWnd=x1&,y1& - (%winRight-%winLeft),(%winBottom-%winTop);0

    Endwhile

    dispose mpos#

endProc

Proc workarea

    DEF SysParameterInfo(4) ! "user32","SystemParametersInfoA"
    Parameters position$
    Declare Rect#,x%
    Dim Rect#,16
    SysParameterInfo(48,0,Rect#,0)
    case position$="Links" : x%=Long(Rect#,0)
    case position$="Oben" : x%=Long(Rect#,4)
    case position$="Rechts" : x%=Long(Rect#,8)
    case position$="Unten" : x%=Long(Rect#,12)
    Dispose Rect#
    Return x%

endproc


1.262 kB
Hochgeladen:07.08.2011
Ladeanzahl108
Herunterladen
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
07.08.2011  
 



Reine Fleißarbeiten erledigt man am besten immer gleich selbst -

beim Lösen logischer Probleme oder wenns an Infos/ Wissen fehlt dann ist Hilfe erfahrungsgemäß stets fix parat.
 
07.08.2011  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

6.751 Betrachtungen

Unbenanntvor 0 min.
Georg Teles vor 31 Tagen
RudiB.15.09.2022
Peter Max Müller20.09.2013
Julian Schmidt18.07.2013
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

Julian Schmidt (4x)
iF (2x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie