API für Fenster

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
KatSeiko
Beiträge: 367
Registriert: 19.07.2008 07:47

API für Fenster

Beitrag von KatSeiko »

Gibt es irgendwo eine Liste mit API-Befehlen? Ich suche speziell solche, die für Fenster wichtig sind. Leider bin ich über die Forum-suche nicht fündig geworden (oder hab die falschen Begriffe verwendet)...

__________________________________________________
Thread verschoben
Anfänger>APIs
02.12.2008
RSBasic
Win7 Ultimate x64, PureBasic 5.11

There is no substitute..
BildBildBild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7032
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

Also

Hier im Forum gibs ein Forumbereich der nennt sich API, dort findest du sogar ein Thema welche WICHTIG ist.
Die suche nach "Window+API" enthält auch den Link zu diesem Wichtigen Thema: Wichtig: WinAPI Library (Snippets) (172)

Dort findest du einen sehr guten LINK über API und auch sepiell für Fenster ...
WinAPI Library - OpenWindow

Ich denke dort findest du alles was du brauchst ...
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
Benutzeravatar
KatSeiko
Beiträge: 367
Registriert: 19.07.2008 07:47

Beitrag von KatSeiko »

Genau sowas wie Deinen zweiten Link hab ich gesucht! :allright:

Ich frag mich nur, warum ich das nicht früher gefunden habe. Nur leider fehlen dabei drei wichtige Dinge... :(
Win7 Ultimate x64, PureBasic 5.11

There is no substitute..
BildBildBild
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
KatSeiko
Beiträge: 367
Registriert: 19.07.2008 07:47

Beitrag von KatSeiko »

Tja, mit C hab ich's nicht so besonders (obwohl ich jahrelang PHP geschrieben hab)... Wo finde ich denn, wie ich ein Fenster randlos machen kann?
Win7 Ultimate x64, PureBasic 5.11

There is no substitute..
BildBildBild
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@KatSeiko
Meinst du wie #PB_Window_BorderLess, nur bei einem fremden Fenster?

Code: Alles auswählen

RunProgram("notepad.exe","","",0)
Delay(100)
Handle = FindWindow_(0,"Unbenannt - Editor")
If Handle
  SetWindowLong_(Handle,#GWL_STYLE,GetWindowLong_(Handle,#GWL_STYLE)&~#WS_THICKFRAME)
  SetWindowLong_(Handle,#GWL_STYLE,GetWindowLong_(Handle,#GWL_STYLE)&~#WS_DLGFRAME)
EndIf
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
KatSeiko
Beiträge: 367
Registriert: 19.07.2008 07:47

Beitrag von KatSeiko »

Japp, das passt... :allright:

Wo Du grad dran bist... Wie lasse ich denn den Taskbar-Eintrag für Editor-Fenster im Beispiel blinken?
Win7 Ultimate x64, PureBasic 5.11

There is no substitute..
BildBildBild
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

http://www.rsbasic.i3h.de/index.php?opt ... &Itemid=59

Code: Alles auswählen

If OpenWindow(0,0,0,500,250,"Test",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  FlashWindow_(WindowID(0),1)
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Oder: http://www.purebasic.fr/german/viewtopic.php?t=1650

\\Edit:
Bzw. so:

Code: Alles auswählen

RunProgram("notepad.exe","","",0)
Delay(100)
Handle = FindWindow_(0,"Unbenannt - Editor")
If Handle
  SetWindowLong_(Handle,#GWL_STYLE,GetWindowLong_(Handle,#GWL_STYLE)&~#WS_THICKFRAME)
  SetWindowLong_(Handle,#GWL_STYLE,GetWindowLong_(Handle,#GWL_STYLE)&~#WS_DLGFRAME)
EndIf
FlashWindow_(Handle,1)
Delay(2000)
FlashWindow_(Handle,1)
Delay(2000)
FlashWindow_(Handle,1)
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
KatSeiko
Beiträge: 367
Registriert: 19.07.2008 07:47

Beitrag von KatSeiko »

Umm... Hilfe!

In meinem Programm hab ich jetzt folgenden Code stehen:

Code: Alles auswählen

SetWindowLong_(hWnd,#GWL_STYLE,GetWindowLong_(hWnd,#GWL_STYLE)&~#WS_THICKFRAME)
SetWindowLong_(hWnd,#GWL_STYLE,GetWindowLong_(hWnd,#GWL_STYLE)&~#WS_DLGFRAME)
SetWindowPos_(hWnd, 0, 0, 0, 0, 0, #SWP_NOSIZE|#SWP_NOZORDER)
Das hat aber zur Folge, dass die Mauseingaben im Programm weiterhin so passieren, als ob das Fenster an der alten Position stehen. Wie teile ich dem Programm mit, dass sein Fenster verschoben wurde?
Win7 Ultimate x64, PureBasic 5.11

There is no substitute..
BildBildBild
Antworten