Forum | | | | - Page 1 - |
| Julian Schmidt | Hi,
through this Thread would like I the WinXP-bow from Screencapture[...] to fix.
it deals itself thereby circa a display-Error which under WinXP appears. under Window 7 & Co sees one a Black eingefärbten background and a white Steuerkreuz which whom Cursor chasing. under WinXP is nothing To see.
Def SetLayeredWindowAttributes(4) !"USER32","SetLayeredWindowAttributes"
def SetWindowRgn(3) !"USER32","SetWindowRgn"
def RectRgn(4) !"GDI32","CreateRectRgn"
Declare fenster&[], x&, posx&, posy&
Window Style 240+1024
Window %MaxX,%MaxY,0,0
Whileloop 2
fenster&[&loop]=Create("Window",%hwnd,"",%MaxX,%MaxY,0,0)'fenster&[1] - black Blende
SetTransparent(fenster&[&loop],IF(&loop=1,55,20))'fenster&[2] - Durchsichtiger Klickschutz
SetWindowPos fenster&[&loop]=0,0 - %MaxX, %MaxY;-1
EndWhile
ShowCursor 0
WhileNot iskey(27)
Waitinput 10
posx&=CursorPos("X1")
posy&=CursorPos("Y1")
StartPaint fenster&[1]
CLS 0
EndPaint
CutRgnDLG(fenster&[1],RectRgn(0,posy&,posx&,posy&+1),RectRgn(posx&+1,posy&,%MaxX,posy&+1),RectRgn(posx&,0,posx&+1,posy&),RectRgn(posx&,posy&+1,posx&+1,%MaxY))
CutRgnDLG(fenster&[2],RectRgn(0, 0, posx&, posy&),RectRgn(posx&+1, 0, %MaxX, posy&),RectRgn(0, posy&+1, posx&, %MaxY),RectRgn(posx&+1, posy&+1, %MaxX, %MaxY))
Endwhile
end
Proc SetTransparent
Parameters Hwnd%, Perc%
External("USER32","SetWindowLongA",Hwnd%, -20, External("USER32","GetWindowLongA",Hwnd%,-20) | $80000)
SetLayeredWindowAttributes(Hwnd%, 0, (255 * Perc%) / 100, $2)
ENDPROC
Proc CutRgnDLG
Parameters hdl&
Declare region&,wRgn&
wRgn&=RectRgn(0,0,width(hdl&)+100,height(hdl&)+100)
whileloop 2,%PCount
region&=@&(&loop)
External("GDI32","CombineRgn",wRgn&,region&,wrgn&,3)
DeleteObject region&
EndWhile
SetWindowRgn(hdl&, wRgn&, 1)
Return wRgn&
ENDPROC
Proc WindowRect
Parameters hdl&,mode$
mode$=Lower$(mode$)
Declare x%, b#
Dim b#,16
External("USER32", "GetWindowRect",hdl&,b#)
Case @&(3)<>0 : External("USER32","ScreenToClient",@&(3),b#) : External("USER32","ScreenToClient",@&(3),b#+8)
Case mode$="breite" : x%=Long(b #,8)-Long(b #,0)
Case mode$="höhe" : x%=Long(b #,12)-Long(b #,4)
Case mode$="x1" : x%=Long(b #,0)
Case mode$="y1" : x%=Long(b #,4)
Case mode$="x2" : x%=Long(b #,8)
Case mode$="y2" : x%=Long(b #,12)
Dispose b#
Return x%
ENDPROC
Proc CursorPos
Parameters mode$
mode$=Lower$(mode$)
Declare x%, mpos#
Dim mpos#,8
External("user32","GetCursorPos",mpos#)
Case @&(2)<>0 : External("USER32","ScreenToClient",@&(2),mpos#)
Case mode$="x1" : x%=long(mpos#,0)
Case mode$="y1" : x%=long(mpos#,4)
Case mode$="x2" : x%=IF(@&(2)<>0,WindowRect(@&(2),"Breite"),%maxx)-long(mpos#,0)
Case mode$="y2" : x%=IF(@&(2)<>02,WindowRect(@&(2),"Höhe"),%maxy)-long(mpos#,4)
Dispose mpos#
Return x%
ENDPROC
LG
Julian |
| | | | |
| | | | | - Page 1 - |
| Julian Schmidt | | | | | |
| | | on it liegts not,
The question is go ahead generally set or. the code moreover shows Although a trouble but describe no konkretes trouble or. is vlt. even To bulkily as the erkenntlich is the it for a bestimmtes trouble goes.
in example white I to Andreas Miethes allude not at all More on welchem stood the Text is.
Mach still time a Dreizeiler the the trouble aufzeigt and benenne the konkrete trouble over again. |
| | | | |
| | Julian Schmidt | not absolutely one 3. Zeiler ought to but ok his. i want the no Titelleiste and welt eingeblendet go. Windowstyle shining somehow not To functions.
Def SetLayeredWindowAttributes(4) !"USER32","SetLayeredWindowAttributes"
def SetWindowRgn(3) !"USER32","SetWindowRgn"
def RectRgn(4) !"GDI32","CreateRectRgn"
cls
Var dlg&=Create("Window",%hwnd,"",0,0,%MaxX,%MaxY)
SetTransparent(dlg&,50)
Showwindow(dlg&,1)
CutRgnDLG(dlg&,RectRgn(0,0,0,0))
WhileNot iskey(27)
Endwhile
end
Proc SetTransparent
Parameters Hwnd%, Perc%
External("USER32","SetWindowLongA",Hwnd%, -20, External("USER32","GetWindowLongA",Hwnd%,-20) | $80000)
SetLayeredWindowAttributes(Hwnd%, 0, (255 * Perc%) / 100, $2)
ENDPROC
Proc CutRgnDLG
Parameters hdl&
Declare region&,wRgn&
wRgn&=RectRgn(0,0,width(hdl&)+100,height(hdl&)+100)
whileloop 2,%PCount
region&=@&(&loop)
External("GDI32","CombineRgn",wRgn&,region&,wrgn&,3)
DeleteObject region&
EndWhile
SetWindowRgn(hdl&, wRgn&, 1)
Return wRgn&
ENDPROC
|
| | | | |
| | | | - Page 2 - |
| | | I wealth that the what You want so not functions there You einerseits a dialog benötigst (so Transluzenz with all OS functions) and on the other hand of Appearance since one Static.
Maximal goes well only: CompileMarkSeparationDef SetLayeredWindowAttributes(4) !"USER32","SetLayeredWindowAttributes"
def SetWindowRgn(3) !"USER32","SetWindowRgn"
def RectRgn(4) !"GDI32","CreateRectRgn"
cls
Var dlg&=Create("Dialog",%hwnd,"",100,100,300,300)
SetTransparent(dlg&,50)
setstyle dlg&,(getstyle(dlg&) | ws_caption) - ws_caption
'Showwindow(dlg&,1)
'CutRgnDLG(dlg&,RectRgn(0,0,0,0))
waitinput
end
Proc SetTransparent
Parameters Hwnd%, Perc%
External("USER32","SetWindowLongA",Hwnd%, -20, External("USER32","GetWindowLongA",Hwnd%,-20) | $80000)
SetLayeredWindowAttributes(Hwnd%, 0, (255 * Perc%) / 100, $2)
EndProc
Proc CutRgnDLG
Parameters hdl&
Declare region&,wRgn&
wRgn&=RectRgn(0,0,width(hdl&)+100,height(hdl&)+100)
whileloop 2,%PCount
region&=@&(&loop)
External("GDI32","CombineRgn",wRgn&,region&,wrgn&,3)
DeleteObject region&
EndWhile
SetWindowRgn(hdl&, wRgn&, 1)
Return wRgn&
ENDPROC
with minimalem welt.
whom could but ggf. even cut off with Region. |
| | | | |
| | Andreas Miethe
| If the Fensterstil on $F0 staid is, then ought to it functions, How supra already written.
though fürchte I you are there in a deadend. it go so not any items eingefangen or. displayed. I have z.B. a couple "Minianwendungen" on the walk, The go so not displayed.
CompileMarkSeparation $H windows.ph
Def SetLayeredWindowAttributes(4) !"USER32","SetLayeredWindowAttributes"
def SetWindowRgn(3) !"USER32","SetWindowRgn"
def RectRgn(4) !"GDI32","CreateRectRgn"
Declare fenster&[], x&, posx&, posy&
WindowStyle $F0
Window %MaxX,%MaxY,0,0
Whileloop 2
fenster&[&loop]=Create("Dialog",%hwnd,"",%MaxX,%MaxY,0,0)'fenster&[1] - Schwarze Blende
SetStyle fenster&[&loop],GetStyle(%hwnd)
SetTransparent(fenster&[&loop],IF(&loop=1,55,20))'fenster&[2] - Durchsichtiger Klickschutz
SetWindowPos fenster&[&loop]=0,0 - %MaxX, %MaxY;-1
EndWhile
ShowCursor 0
WhileNot iskey(27)
Waitinput 10
posx&=CursorPos("X1")
posy&=CursorPos("Y1")
StartPaint fenster&[1]
CLS 0
EndPaint
CutRgnDLG(fenster&[1],RectRgn(0,posy&,posx&,posy&+1),RectRgn(posx&+1,posy&,%MaxX,posy&+1),RectRgn(posx&,0,posx&+1,posy&),RectRgn(posx&,posy&+1,posx&+1,%MaxY))
CutRgnDLG(fenster&[2],RectRgn(0, 0, posx&, posy&),RectRgn(posx&+1, 0, %MaxX, posy&),RectRgn(0, posy&+1, posx&, %MaxY),RectRgn(posx&+1, posy&+1, %MaxX, %MaxY))
Endwhile
end
Proc SetTransparent
Parameters Hwnd%, Perc%
External("USER32","SetWindowLongA",Hwnd%, -20, External("USER32","GetWindowLongA",Hwnd%,-20) | $80000)
SetLayeredWindowAttributes(Hwnd%, 0, (255 * Perc%) / 100, $2)
EndProc
Proc CutRgnDLG
Parameters hdl&
Declare region&,wRgn&
wRgn&=RectRgn(0,0,width(hdl&)+100,height(hdl&)+100)
whileloop 2,%PCount
region&=@&(&loop)
External("GDI32","CombineRgn",wRgn&,region&,wrgn&,3)
DeleteObject region&
EndWhile
SetWindowRgn(hdl&, wRgn&, 1)
Return wRgn&
EndProc
Proc WindowRect
Parameters hdl&,Modus$
Modus$=Lower$(Modus$)
Declare x%, b#
Dim b#,16
External("USER32", "GetWindowRect",hdl&,b#)
Case @&(3)<>0 : External("USER32","ScreenToClient",@&(3),b#) : External("USER32","ScreenToClient",@&(3),b#+8)
Case Modus$="breite" : x%=Long(b#,8)-Long(b#,0)
Case Modus$="höhe" : x%=Long(b#,12)-Long(b#,4)
Case Modus$="x1" : x%=Long(b#,0)
Case Modus$="y1" : x%=Long(b#,4)
Case Modus$="x2" : x%=Long(b#,8)
Case Modus$="y2" : x%=Long(b#,12)
Dispose b#
Return x%
EndProc
Proc CursorPos
Parameters Modus$
Modus$=Lower$(Modus$)
Declare x%, mpos#
Dim mpos#,8
External("user32","GetCursorPos",mpos#)
Case @&(2)<>0 : External("USER32","ScreenToClient",@&(2),mpos#)
Case Modus$="x1" : x%=long(mpos#,0)
Case Modus$="y1" : x%=long(mpos#,4)
Case Modus$="x2" : x%=IF(@&(2)<>0,WindowRect(@&(2),"Breite"),%maxx)-long(mpos#,0)
Case Modus$="y2" : x%=IF(@&(2)<>02,WindowRect(@&(2),"Höhe"),%maxy)-long(mpos#,4)
Dispose mpos#
ENDPROC
|
| | | XProfan X2Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 01/29/13 ▲ |
| |
| | Julian Schmidt | iF (29.01.13)
I wealth that the what You want so not functions there You einerseits a dialog benötigst (so Transluzenz with all OS functions) and on the other hand of Appearance since one Static.
is correct, I must dialog take. has indeed Andreas here written.[...] functions so far with the Wegschneiden the Titelleiste.
iF (29.01.13)
whom could but ggf. even cut off with Region.
then should I but everything so umprogrammieren, the The welt ausßerhalb the Bildschirms lying, the one no vent arise. or does it somehow differently?
Andreas Miethe (29.01.13)
If the Fensterstil on $F0 staid is, then ought to it functions, How supra already written.
Have I then already tested and has with my integrally supra geposteten View source with the Windows as Dialogue is not functions!
Andreas Miethe (29.01.13)
though fürchte I you are there in a deadend. it go so not any items eingefangen or. displayed. I have z.B. a couple "Minianwendungen" on the walk, The go so not displayed.
Meinst You so the my Window not always whom Fokus get, and your Minianwendungen this überlappen or How? CompileMarkSeparationDef SetLayeredWindowAttributes(4) !"USER32","SetLayeredWindowAttributes"
def SetWindowRgn(3) !"USER32","SetWindowRgn"
def RectRgn(4) !"GDI32","CreateRectRgn"
Declare fenster&[], x&, posx&, posy&
WindowStyle $F0
Window %MaxX,%MaxY,0,0
Whileloop 2
fenster&[&loop]=Create("Dialog",%hwnd,"",%MaxX,%MaxY,0,0)'fenster&[1] - Schwarze Blende
SetTransparent(fenster&[&loop],IF(&loop=1,55,20))'fenster&[2] - Durchsichtiger Klickschutz
SetWindowPos fenster&[&loop]=0,0 - %MaxX, %MaxY;-1
setstyle fenster&[&loop],(getstyle(fenster&[&loop]) | 12582912) - 12582912
EndWhile
ShowCursor 0
WhileNot iskey(27)
Waitinput 10
posx&=CursorPos("X1")
posy&=CursorPos("Y1")
StartPaint fenster&[1]
CLS 0
EndPaint
CutRgnDLG(fenster&[1],RectRgn(0,posy&,posx&,posy&+1),RectRgn(posx&+1,posy&,%MaxX,posy&+1),RectRgn(posx&,0,posx&+1,posy&),RectRgn(posx&,posy&+1,posx&+1,%MaxY))
CutRgnDLG(fenster&[2],RectRgn(0, 0, posx&, posy&),RectRgn(posx&+1, 0, %MaxX, posy&),RectRgn(0, posy&+1, posx&, %MaxY),RectRgn(posx&+1, posy&+1, %MaxX, %MaxY))
Endwhile
end
Proc SetTransparent
Parameters Hwnd%, Perc%
External("USER32","SetWindowLongA",Hwnd%, -20, External("USER32","GetWindowLongA",Hwnd%,-20) | $80000)
SetLayeredWindowAttributes(Hwnd%, 0, (255 * Perc%) / 100, $2)
EndProc
Proc CutRgnDLG
Parameters hdl&
Declare region&,wRgn&
wRgn&=RectRgn(0,0,width(hdl&)+100,height(hdl&)+100)
whileloop 2,%PCount
region&=@&(&loop)
External("GDI32","CombineRgn",wRgn&,region&,wrgn&,3)
DeleteObject region&
EndWhile
SetWindowRgn(hdl&, wRgn&, 1)
Return wRgn&
EndProc
Proc WindowRect
Parameters hdl&,Modus$
Modus$=Lower$(Modus$)
Declare x%, b#
Dim b#,16
External("USER32", "GetWindowRect",hdl&,b#)
Case @&(3)<>0 : External("USER32","ScreenToClient",@&(3),b#) : External("USER32","ScreenToClient",@&(3),b#+8)
Case Modus$="breite" : x%=Long(b#,8)-Long(b#,0)
Case Modus$="höhe" : x%=Long(b#,12)-Long(b#,4)
Case Modus$="x1" : x%=Long(b#,0)
Case Modus$="y1" : x%=Long(b#,4)
Case Modus$="x2" : x%=Long(b#,8)
Case Modus$="y2" : x%=Long(b#,12)
Dispose b#
Return x%
EndProc
Proc CursorPos
Parameters Modus$
Modus$=Lower$(Modus$)
Declare x%, mpos#
Dim mpos#,8
External("user32","GetCursorPos",mpos#)
Case @&(2)<>0 : External("USER32","ScreenToClient",@&(2),mpos#)
Case Modus$="x1" : x%=long(mpos#,0)
Case Modus$="y1" : x%=long(mpos#,4)
Case Modus$="x2" : x%=IF(@&(2)<>0,WindowRect(@&(2),"Breite"),%maxx)-long(mpos#,0)
Case Modus$="y2" : x%=IF(@&(2)<>02,WindowRect(@&(2),"Höhe"),%maxy)-long(mpos#,4)
Dispose mpos#
ENDPROC
CompileMarkSeparationDef SetLayeredWindowAttributes(4) !"USER32","SetLayeredWindowAttributes"
def SetWindowRgn(3) !"USER32","SetWindowRgn"
def RectRgn(4) !"GDI32","CreateRectRgn"
Windowstyle $F0
cls
Var dlg&=Create("Dialog",%hwnd,"",0,0,%MaxX,%MaxY)
setstyle dlg&,(getstyle(dlg&) | 12582912) - 12582912
SetTransparent(dlg&,50)
Showwindow(dlg&,1)
CutRgnDLG(dlg&,RectRgn(0,0,0,0))
WhileNot iskey(27)
Endwhile
end
Proc SetTransparent
Parameters Hwnd%, Perc%
External("USER32","SetWindowLongA",Hwnd%, -20, External("USER32","GetWindowLongA",Hwnd%,-20) | $80000)
SetLayeredWindowAttributes(Hwnd%, 0, (255 * Perc%) / 100, $2)
ENDPROC
Proc CutRgnDLG
Parameters hdl&
Declare region&,wRgn&
wRgn&=RectRgn(0,0,width(hdl&)+100,height(hdl&)+100)
whileloop 2,%PCount
region&=@&(&loop)
External("GDI32","CombineRgn",wRgn&,region&,wrgn&,3)
DeleteObject region&
EndWhile
SetWindowRgn(hdl&, wRgn&, 1)
Return wRgn&
ENDPROC
|
| | | | |
| | Andreas Miethe
| Julian Schmidt (29.01.13)
Meinst You so the my Window not always whom Fokus get, and your Minianwendungen this überlappen or How?
the has with the Focus nothing To do. The Minianwendungen go simply not displayed and can so neither by Screenshot eingefangen go.
here time 2 Images
original
your overlay
|
| | | XProfan X2Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 01/30/13 ▲ |
| |
| | Julian Schmidt | hmmmm....ok at that me get tappt im dunkeln recognized. was but first integrally stupid in the Vordergrund, because I the Dialogue is not on Alway-On-Top staid have. what have you got there for a OS. Werd I me in Ner VM time look at.
Julian Schmidt (29.01.13)
iF (29.01.13) whom could but ggf. even cut off with Region.
then should I but everything so umprogrammieren, the The welt ausßerhalb the Bildschirms lying, the no vent arise. or does it somehow differently?
[OFFTOPIC]last Aktueller View source see [...] [/OFFTOPIC] |
| | | | |
| | Andreas Miethe
| | | | XProfan X2Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 01/30/13 ▲ |
| |
| | Julian Schmidt | Benutz so did i, what kind of Version Home Premium, Ultimate? lying evtl. on it that you no Areo activate have. go in Systemsteuerung\statement and Anpassung\Anpassung. what kind of (Base-)solid have you got tuned? |
| | | | |
| | Andreas Miethe
| Win7 32 / 64 bit Home Premium.
no Aero for optimale performance adjusted.
the I will neither Change !
there must itself already your Program adjust |
| | | XProfan X2Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 01/30/13 ▲ |
| |
| | Julian Schmidt | Andreas Miethe (30.01.13)
The Minianwendungen go simply not displayed and can so neither by Screenshot eingefangen go.
Habs me straight again the trouble angeschaut. my Source [...] shining The Minianwendungen really not To erfassen. at least as long as the Areo off is.
me missing straight The zünde idea circa this trouble from the world To create. The only Possibility The me falls in, is on another engineering To set. iF having moreover indeed somewhere what pictured.... |
| | | | |
|
AnswerTopic-Options | 23.611 Views |
Themeninformationenthis Topic has 3 subscriber: |