Seite 36 von 43

Re: WinAPI Library (Snippets) (925)

Verfasst: 30.07.2013 22:00
von RSBasic

Re: WinAPI Library (Snippets) (950)

Verfasst: 31.07.2013 12:49
von mk-soft
Macro´s für WinAPI...

Code: Alles auswählen

CompilerIf Defined(MACRO_HIWORD, #PB_Constant) = 0
  #MACRO_HIWORD = 1
  Macro HIWORD(Param)
    (Param >> 16)
  EndMacro
CompilerEndIf

CompilerIf Defined(MACRO_LOWORD, #PB_Constant) = 0
  #MACRO_LOWORD = 1
  Macro LOWORD(Param)
    (Param & $FFFF)
  EndMacro
CompilerEndIf

CompilerIf Defined(MACRO_MAKEWPARAM, #PB_Constant) = 0
  #MACRO_MAKEWPARAM = 1
  Macro MAKEWPARAM(X,Y)
    (Y << 16 | X)
  EndMacro
CompilerEndIf

CompilerIf Defined(MACRO_MAKELPARAM, #PB_Constant) = 0
  #MACRO_MAKELPARAM = 1
  Macro MAKELPARAM(X,Y)
    (Y << 16 | X)
  EndMacro
CompilerEndIf

CompilerIf Defined(MACRO_MAKELONG, #PB_Constant) = 0
  #MACRO_MAKELONG = 1
  Macro MAKELONG(X,Y)
    (Y << 16 | X)
  EndMacro
CompilerEndIf
Kann man vielleicht in einer globalen Include Packen

Beipiel aus Snippet ToolBar

Code: Alles auswählen

;Autor: Fluid Byte

EnableExplicit

CompilerIf Defined(MACRO_HIWORD, #PB_Constant) = 0
  #MACRO_HIWORD = 1
  Macro HIWORD(Param)
    (Param >> 16)
  EndMacro
CompilerEndIf

CompilerIf Defined(MACRO_LOWORD, #PB_Constant) = 0
  #MACRO_LOWORD = 1
  Macro LOWORD(Param)
    (Param & $FFFF)
  EndMacro
CompilerEndIf

CompilerIf Defined(MACRO_MAKEWPARAM, #PB_Constant) = 0
  #MACRO_MAKEWPARAM = 1
  Macro MAKEWPARAM(X,Y)
    (Y << 16 | X)
  EndMacro
CompilerEndIf

CompilerIf Defined(MACRO_MAKELPARAM, #PB_Constant) = 0
  #MACRO_MAKELPARAM = 1
  Macro MAKELPARAM(X,Y)
    (Y << 16 | X)
  EndMacro
CompilerEndIf

CompilerIf Defined(MACRO_MAKELONG, #PB_Constant) = 0
  #MACRO_MAKELONG = 1
  Macro MAKELONG(X,Y)
    (Y << 16 | X)
  EndMacro
CompilerEndIf


Define EventID

If OpenWindow(0,0,0,500,400,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  If CreateToolBar(1,WindowID(0))
    ToolBarStandardButton(0,#PB_ToolBarIcon_New)
    ToolBarStandardButton(1,#PB_ToolBarIcon_Open)
    ToolBarStandardButton(2,#PB_ToolBarIcon_Save)
    
    SendMessage_(ToolBarID(1),#TB_SETBUTTONSIZE,0,MAKELPARAM(64,30))
    SendMessage_(ToolBarID(1),#TB_AUTOSIZE,0,0)
    
  EndIf
  
  Repeat
    EventID=WaitWindowEvent()
    If EventID = #PB_Event_CloseWindow
      End
    EndIf
  ForEver
EndIf
Sind noch nicht alle Macro´s definiert :wink:

Re: WinAPI Library (Snippets) (950)

Verfasst: 31.07.2013 12:58
von RSBasic
Jo, u.a. auch:

Code: Alles auswählen

Macro MAKEIPRANGE(low, high)
  low + high * $100
EndMacro
Wenn ihr weitere Macros kennt, dann bitte hier posten. Dann kann ich all' diese API-Macros in einer separaten Sammeldatei zusammenfassen. ;)

Re: WinAPI Library (Snippets) (950)

Verfasst: 31.07.2013 13:10
von NicTheQuick
RSBasic hat geschrieben:Jo, u.a. auch:

Code: Alles auswählen

Macro MAKEIPRANGE(low, high)
  low + high * $100
EndMacro
Wenn ihr weitere Macros kennt, dann bitte hier posten. Dann kann ich all' diese API-Macros in einer separaten Sammeldatei zusammenfassen. ;)
Ihr definiert die Makros falsch. Um jeden Parameter müssen noch Klammern drum!

Code: Alles auswählen

Macro MAKEIPRANGE(low, high)
  (low) + (high) * $100
EndMacro
Beispielfehler ohne Klammern:

Code: Alles auswählen

Macro MAKEIPRANGE(low, high)
	low + high * $100
EndMacro
Debug "Falsch:"
Debug MAKEIPRANGE(1 + 2, 3 + 4)
Debug "Richtig:"
Debug (1 + 2) + (3 + 4) * $100

Re: WinAPI Library (Snippets) (950)

Verfasst: 31.07.2013 13:17
von RSBasic
Okay, danke, habs angepasst.

Re: WinAPI Library (Snippets) (950)

Verfasst: 31.07.2013 20:09
von mk-soft
Vielleicht ein neuen Thema erstellen.

Hab meins mal überarbeitet. Filter, Klammersetzung , etc...

Code: Alles auswählen

;-TOP

; Macros for WinAPI
; Authors
; - mk-soft
; - 
; - 
;
; Revision 1.0
;

;------------------------------------------------------------------------------
CompilerIf Defined(MACRO_HIWORD, #PB_Constant) = 0
  #MACRO_HIWORD = 1
  Macro HIWORD(Param)
    (Param >> 16)
  EndMacro
CompilerEndIf
;------------------------------------------------------------------------------
CompilerIf Defined(MACRO_LOWORD, #PB_Constant) = 0
  #MACRO_LOWORD = 1
  Macro LOWORD(Param)
    (Param & $FFFF)
  EndMacro
CompilerEndIf
;------------------------------------------------------------------------------
CompilerIf Defined(MACRO_MAKEWPARAM, #PB_Constant) = 0
  #MACRO_MAKEWPARAM = 1
  Macro MAKEWPARAM(l,h)
    (((h) & $FFFF) << 16 | ((l) & $FFFF))
  EndMacro
CompilerEndIf
;------------------------------------------------------------------------------
CompilerIf Defined(MACRO_MAKELPARAM, #PB_Constant) = 0
  #MACRO_MAKELPARAM = 1
  Macro MAKELPARAM(l,h)
    (((h) & $FFFF) << 16 | ((l) & $FFFF))
  EndMacro
CompilerEndIf
;------------------------------------------------------------------------------
CompilerIf Defined(MACRO_MAKELONG, #PB_Constant) = 0
  #MACRO_MAKELONG = 1
  Macro MAKELONG(a,b)
    (((b) & $FFFF) << 16 | ((a) & $FFFF))
  EndMacro
CompilerEndIf
;------------------------------------------------------------------------------
CompilerIf Defined(MACRO_MAKEWORD, #PB_Constant) = 0
  #MACRO_MAKEWORD = 1
  Macro MAKEWORD(a,b)
    (((b) & $FF) << 8) | ((a) & $FF))
  EndMacro
CompilerEndIf
;------------------------------------------------------------------------------
CompilerIf Defined(MACRO_MAKEINTATOM, #PB_Constant) = 0
  #MACRO_MAKEINTATOM = 1
  Macro MAKEINTATOM(I)
    ((I) & $FFFF)
  EndMacro
CompilerEndIf
;------------------------------------------------------------------------------
CompilerIf Defined(MACRO_MAKELANGID, #PB_Constant) = 0
  #MACRO_MAKELANGID = 1
  Macro MAKELANGID(p, s) 
    (((s) & $FFFF) << 10) | ((p) & $FFFF))
  EndMacro
CompilerEndIf
;------------------------------------------------------------------------------
CompilerIf Defined(MACRO_MAKELCID, #PB_Constant) = 0
  #MACRO_MAKELCID = 1
  Macro MAKELCID(lgid, srtid)
    ((srtid) << 16) | (lgid))
  EndMacro
CompilerEndIf
;------------------------------------------------------------------------------

Re: WinAPI Library (Snippets) (950)

Verfasst: 31.07.2013 20:11
von RSBasic
Sehr gut, thx.

Re: WinAPI Library (Snippets) (950)

Verfasst: 13.08.2013 19:13
von Sicro
http://www.rsbasic.de/aktualisierung/wi ... mitteln.pb

Der Wert von dwTime muss von GetTickCount_() abgezogen werden, um den richtigen Zeitwert zu erhalten:

Code: Alles auswählen

; http://msdn.microsoft.com/en-us/library/windows/desktop/ms646302%28v=vs.85%29.aspx

Structure LASTINPUTINFO
  cbSize.l
  dwTime.l
EndStructure

Define.LASTINPUTINFO plii\cbSize = SizeOf(LASTINPUTINFO)

Delay(5000)

If GetLastInputInfo_(@plii)
  Debug "Der Computer wurde nicht mehr bedient seit: " + Str(GetTickCount_() - plii\dwTime) + " Millisekunden"
Else
  Debug "Abfrage fehlgeschlagen"
EndIf

Re: WinAPI Library (Snippets) (950)

Verfasst: 14.08.2013 18:23
von RSBasic
Das stimmt, aber in dem Code gings nur darum, um zu ermitteln, ob überhaupt eine Änderung stattfand. Deinen Code kann ich ja zusätzlich hinzufügen, um zu ermitteln, wie lang die Idle-Zeit war.

Re: WinAPI Library (Snippets) (950)

Verfasst: 18.04.2014 19:24
von RSBasic
WinAPI Library besitzt nun insgesamt 1.000 Beispielcodes!

WinAPI Library 1.3.7 wurde veröffentlicht (50 neue Beispielcodes)

Hinzugefügt:


ButtonGadget: ComboBoxGadget: EditorGadget: ExplorerListGadget: ExplorerTreeGadget: Frame3DGadget: IPAddressGadget: ListIconGadget: ListViewGadget: Maus und Tastatur: Menü: PanelGadget: Popup-Menü: Prozesse: ScrollAreaGadget: Sonstige: StringGadget: TextGadget: ToolBar: TreeGadget: WebGadget:
Online: http://www.rsbasic.de/winapi-library
Offline: Updaten ;)