Wow, sehr fleißig, vielen lieben Dank für deine zahlreichen Beispielcodes
WinAPI Library (Snippets) (1163 Beispielcodes)
Re: WinAPI Library (Snippets) (548)
@neotoma
Wow, sehr fleißig, vielen lieben Dank für deine zahlreichen Beispielcodes

Wow, sehr fleißig, vielen lieben Dank für deine zahlreichen Beispielcodes
Re: WinAPI Library (Snippets) (548)
Ist mir zufällig beim Durchstöbern aufgefallen:
Hier verschwindet der Effekt, sobald das Fenster den Fokus verliert:
"OpenWindow -> Dünner Rahmen"
Hier erscheint die Schaltfläche in der Taskleiste, wenn der Fokus erst genommen und dann wieder gegeben wird:
"OpenWindow - Schaltfläche aus der Taskleiste entfernen"
Vielleicht kann jemand helfen. 
Hier verschwindet der Effekt, sobald das Fenster den Fokus verliert:
"OpenWindow -> Dünner Rahmen"
Code: Alles auswählen
If OpenWindow(0,0,0,500,250,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_Invisible)
SetWindowLongPtr_(WindowID(0),#GWL_EXSTYLE,$2000)
HideWindow(0,0)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf"OpenWindow - Schaltfläche aus der Taskleiste entfernen"
Code: Alles auswählen
EnableExplicit
Procedure HideFromTaskBar(hWnd.l, Flag.l)
Protected TBL.ITaskbarList
CoInitialize_(0)
If CoCreateInstance_(?CLSID_TaskBarList, 0, 1, ?IID_ITaskBarList, @TBL) = #S_OK
TBL\HrInit()
If Flag
TBL\DeleteTab(hWnd)
Else
TBL\AddTab(hWnd)
EndIf
TBL\Release()
EndIf
CoUninitialize_()
DataSection
CLSID_TaskBarList:
Data.l $56FDF344
Data.w $FD6D, $11D0
Data.b $95, $8A, $00, $60, $97, $C9, $A0, $90
IID_ITaskBarList:
Data.l $56FDF342
Data.w $FD6D, $11D0
Data.b $95, $8A, $00, $60, $97, $C9, $A0, $90
EndDataSection
EndProcedure
If OpenWindow(0,0,0,500,250,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
HideFromTaskBar(WindowID(0),1)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf- Falko
- Admin
- Beiträge: 3535
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit) - Kontaktdaten:
Re: WinAPI Library (Snippets) (548)
Da ich jetzt wieder auf Vsita 32bit umgestiegen bin, habe ich
die WinAPI Library erneut installiert.
Dabei ist mir folgendes aufgefallen:
Die WinAPI Library kann ich so nicht vom Start ... Programm ausführen.
Was half, im Verzeichnis WinAPI Library eine neue Vernküpfung erzeugen
und diese dann ins Startverzeichnis kopieren. Damit funktioniert sie wieder.
Unten rechts der Button für PureBasic funktioniert wohl nur auf ein festes
Verzeichnis. Denn ich bekomme die Fehlermeldung:
Obwohl der im Programm wohl korrekt ist, sollte die html-Seite auch auf http://www.rsbasic.de zeigen.
Gruß Falko
die WinAPI Library erneut installiert.
Dabei ist mir folgendes aufgefallen:
Die WinAPI Library kann ich so nicht vom Start ... Programm ausführen.
Was half, im Verzeichnis WinAPI Library eine neue Vernküpfung erzeugen
und diese dann ins Startverzeichnis kopieren. Damit funktioniert sie wieder.
Unten rechts der Button für PureBasic funktioniert wohl nur auf ein festes
Verzeichnis. Denn ich bekomme die Fehlermeldung:
Die html-Seite im Programmordner zeigt noch den alten Link zu http://www.rsbasic.i3h.deWinAPI Library hat geschrieben: [Window Title]
C:\Program Files\PureBasic\PureBasic.exe
[Content]
"C:\Program Files\PureBasic\PureBasic.exe" konnte nicht gefunden werden. Stellen Sie sicher, dass Sie den Namen richtig eingegeben haben und wiederholen Sie den Vorgang.
[OK]
Obwohl der im Programm wohl korrekt ist, sollte die html-Seite auch auf http://www.rsbasic.de zeigen.
Gruß Falko
-
super_castle
- Beiträge: 557
- Registriert: 29.11.2005 15:05
Re: WinAPI Library (Snippets) (548)
Ein Dosfenster(DosBox) in einem Purebasicwindows setzen(öffnen) und daneben Buttons .
Wie geht so etwas?
Gruss
Wie geht so etwas?
Gruss
Re: WinAPI Library (Snippets) (548)
DOSBox ist ein DOS-Emulator und wahrscheinlich was ganz anderes, als du meinst.
Willst du die Konsole in ein Fenster verfrachten, könnte das mit SetParent_() gehen.
Im Übrigen.. ich schätze, das ist das falsche Topic zum random-Fragen stellen 
Edit: Oh.. ich hab gerade mal ein wenig gestöbert und geblättert.. was dein Profil angeht.. ich frage mich, wieso ich das hier eigentlich noch extra für dich schreibe
Willst du die Konsole in ein Fenster verfrachten, könnte das mit SetParent_() gehen.
Code: Alles auswählen
OpenConsole()
ConsoleTitle("Blablabla")
OpenWindow(0, 0, 0, 650, 400, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
SetParent_(FindWindow_(0, "Blablabla"), WindowID(0))
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindowEdit: Oh.. ich hab gerade mal ein wenig gestöbert und geblättert.. was dein Profil angeht.. ich frage mich, wieso ich das hier eigentlich noch extra für dich schreibe
-
super_castle
- Beiträge: 557
- Registriert: 29.11.2005 15:05
Re: WinAPI Library (Snippets) (548)
Jup, danke.
Sieht schon gut aus. Erscheint im Screen, aber es lässt sich kein "Dir" eingeben bzw es hat keine aktivitäten.
Gruss
Sieht schon gut aus. Erscheint im Screen, aber es lässt sich kein "Dir" eingeben bzw es hat keine aktivitäten.
Gruss
Re: WinAPI Library (Snippets) (548)
Cool, habe den Link irgendwie jetzt erst richtig wargenommen.
Viele kurze einfache Beispiele zu durchaus wichtigen APIs ... danke

Viele kurze einfache Beispiele zu durchaus wichtigen APIs ... danke

PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: WinAPI Library (Snippets) (548)
Ein Fenster in den Fullscreen wechseln und zurück.
Quelle: http://www.vbarchiv.net/tipps/tipp_834- ... modus.html
Quelle: http://www.vbarchiv.net/tipps/tipp_834- ... modus.html
Code: Alles auswählen
#SC_SYSSEPERATOR = $0
;Structure to keep the Infoprmation of a Window for restore them.
Structure sFullscreenWindow
bytState.i
tWinRect.RECT
lWinStyle.i
EndStructure
; For the 'courious' case with more than one Fullscreen-Windows
Global NewMap _Fullscreen_windows.sFullscreenWindow()
; Window-Fullscreen
;
;
Procedure WindowFullscreen(win_id.i, bState.i, bMenuClose.i = #True)
Protected lStyle.i, hMenu
LockWindowUpdate_( GetDesktopWindow_() )
If IsWindow(win_id)
;Noch nicht in der Vollansicht gewesen.
If FindMapElement( _Fullscreen_windows(),Str(win_id) ) = 0 And bState = #False
LockWindowUpdate_( #Null )
ProcedureReturn
EndIf
With _Fullscreen_windows(Str(win_id))
;Ist bereits vollansicht
If \bytState = #True And bState = #True
LockWindowUpdate_( #Null )
ProcedureReturn
EndIf
;Vollansicht?
If bState
\bytState = #True
;Gr÷¯e und Position merken
GetWindowRect_( WindowID(win_id), @\tWinRect )
;Stil merken
\lWinStyle = GetWindowLong_(WindowID(win_id), #GWL_STYLE)
;Titelleiste und (Gr÷¯enõnderungs-)Rahmen entfernen
lStyle = \lWinStyle & ~(#WS_CAPTION | #WS_THICKFRAME)
SetWindowLong_(WindowID(win_id), #GWL_STYLE, lStyle)
ExamineDesktops()
; Fenstergr÷¯e auf Bildschirm-Gr÷¯e setzen
SetWindowPos_(WindowID(win_id), #HWND_NOTOPMOST, 0, 0, DesktopWidth(0),DesktopHeight(0),#SWP_FRAMECHANGED)
; Handle des SystemMen³s ermitteln
hMenu = GetSystemMenu_(WindowID(win_id), #Null)
; Eintrõge aus dem SystemMen³ entfernen
If hMenu
; Wiederherstellen
DeleteMenu_(hMenu, #SC_RESTORE, #MF_BYCOMMAND)
; Verschieben
DeleteMenu_(hMenu, #SC_MOVE, #MF_BYCOMMAND)
; Gr÷¯e õndern
DeleteMenu_(hMenu, #SC_SIZE, #MF_BYCOMMAND)
; Minimieren
DeleteMenu_(hMenu, #SC_MINIMIZE, #MF_BYCOMMAND)
; Maxminieren
DeleteMenu_(hMenu, #SC_MAXIMIZE, #MF_BYCOMMAND)
; Trennlinie
DeleteMenu_(hMenu, #SC_SYSSEPERATOR, #MF_BYCOMMAND)
If bMenuClose = #False
; Schlie¯en
DeleteMenu_(hMenu, #SC_CLOSE, #MF_BYCOMMAND)
EndIf
EndIf
Else
; Status auf Normalansicht setzen
\bytState = #False
; Fenstergr÷¯e wiederherstellen
SetWindowPos_( WindowID(win_id), #HWND_NOTOPMOST, \tWinRect\left, \tWinRect\top, \tWinRect\right - \tWinRect\left, \tWinRect\bottom - \tWinRect\top, #SWP_FRAMECHANGED)
; Fensterstil wiederherstellen
SetWindowLong_( WindowID(win_id), #GWL_STYLE, \lWinStyle )
; Systemmen³ wiederherstellen
GetSystemMenu_( WindowID(win_id), #True)
EndIf
; Systemmen³ neu zeichnen
DrawMenuBar_(WindowID(win_id))
EndWith
EndIf
LockWindowUpdate_( #Null )
EndProcedure
; Vollansicht-Status ermitteln
Procedure WindowFullscreenState(win_id)
ProcedureReturn _Fullscreen_windows(Str(win_id))\bytState
EndProcedure
; Test
Define flag=0
If OpenWindow(0,0,0,500,250,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
ButtonGadget(1,10,10,100,20,"FullscreenSwitch",0)
Repeat
EventID=WaitWindowEvent()
If EventID=#PB_Event_Gadget
Select EventGadget()
Case 1
WindowFullscreen(0, 1!WindowFullscreenState(0))
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
EndIf
; IDE Options = PureBasic 4.50 (Windows - x86)
; CursorPosition = 108
; FirstLine = 83
; Folding = -
; EnableXP
Alle Rechtschreibfehler unterliegen der GPL und dürfen frei kopiert und modifiziert werden.
Re: WinAPI Library (Snippets) (548)
Hallo neotoma,
danke für dein Code
danke für dein Code



