Requested API Structure and constants

Got an idea for enhancing PureBasic? New command(s) you'd like to see?
Quin
Addict
Addict
Posts: 1155
Joined: Thu Mar 31, 2022 7:03 pm
Location: Colorado, United States
Contact:

Re: Requested API Structure and constants

Post by Quin »

Code: Select all

#PROCESS_QUERY_LIMITED_INFORMATION = $1000  
Source: https://learn.microsoft.com/en-us/windo ... ess-rights
infratec
Always Here
Always Here
Posts: 7785
Joined: Sun Sep 07, 2008 12:45 pm
Location: Germany

Re: Requested API Structure and constants

Post by infratec »

Since we can not longer ignore IPv6:

#AF_INET6

Code: Select all

CompilerIf Not Defined(AF_INET6, #PB_Constant)
  CompilerSelect #PB_Compiler_OS
    CompilerCase #PB_OS_Linux
      #AF_INET6 = 10
    CompilerCase #PB_OS_MacOS
      #AF_INET6 = 30
    CompilerCase #PB_OS_Windows
      #AF_INET6 = 23
  CompilerEndSelect
CompilerEndIf
in6_addr

Code: Select all

CompilerIf Not Defined(in6_addr, #PB_Structure)
  Structure in6_addr Align #PB_Structure_AlignC
    StructureUnion
      s6_addr.a[16]
      s6_addr16.u[8]
      s6_addr32.l[4]
    EndStructureUnion
  EndStructure
CompilerEndIf
SOCKADDR_IN6

Code: Select all

CompilerIf Not Defined(SOCKADDR_IN6, #PB_Structure)
  Structure SOCKADDR_IN6 Align #PB_Structure_AlignC
    CompilerIf #PB_Compiler_OS = #PB_OS_MacOS
      sin6_len.a
      sin6_family.a
    CompilerElse
      sin6_family.u
    CompilerEndIf
    sin6_port.u
    sin6_flowinfo.l
    sin6_addr.in6_addr
    sin6_scope_id.l
  EndStructure
CompilerEndIf
Ventural
User
User
Posts: 31
Joined: Mon Jul 17, 2017 3:51 am
Location: Cocoa, FL
Contact:

Re: Requested API Structure and constants

Post by Ventural »

SYSTEM_POWER_STATUS has been updated.
https://learn.microsoft.com/en-us/windo ... wer_status

Code: Select all

Structure SYSTEM_POWER_STATUS
  ACLineStatus.b
  BatteryFlag.b
  BatteryLifePercent.b
  SystemStatusFlag.b   ; <- Showing as "Reserved1.b" in Structure Viewer
  BatteryLifeTime.l
  BatteryFullLifeTime.l
EndStructure
AZJIO
Addict
Addict
Posts: 2257
Joined: Sun May 14, 2017 1:48 am

Re: Requested API Structure and constants

Post by AZJIO »

Constants for AssocQueryString()

Code: Select all

Enumeration  	
	#ASSOCSTR_COMMAND = 1
	#ASSOCSTR_EXECUTABLE
	#ASSOCSTR_FRIENDLYDOCNAME
	#ASSOCSTR_FRIENDLYAPPNAME
	#ASSOCSTR_NOOPEN
	#ASSOCSTR_SHELLNEWVALUE
	#ASSOCSTR_DDECOMMAND
	#ASSOCSTR_DDEIFEXEC
	#ASSOCSTR_DDEAPPLICATION
	#ASSOCSTR_DDETOPIC
	#ASSOCSTR_INFOTIP
	#ASSOCSTR_QUICKTIP
	#ASSOCSTR_TILEINFO
	#ASSOCSTR_CONTENTTYPE
	#ASSOCSTR_DEFAULTICON
	#ASSOCSTR_SHELLEXTENSION
	#ASSOCSTR_MAX
EndEnumeration
I often use opening a file in a program associated with .txt, for example, to open a js file in Notepad, but not to execute it. Or any other file that doesn't have any associations, but I know it's a text file.
Sergey
User
User
Posts: 83
Joined: Wed Jan 12, 2022 2:41 pm

Re: Requested API Structure and constants

Post by Sergey »

Already present Macro MsiEnumProducts_(arg1, arg2) and Macro MsiGetProductInfo_(arg1, arg2, arg3, arg4)
Need Macro MsiEnumPatches_(arg1 - 5) and Macro MsiGetPatchInfo_(arg1 - 4) too in msi.imp for Import "msi.lib"
Fred
Administrator
Administrator
Posts: 18498
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Re: Requested API Structure and constants

Post by Fred »

If you can, feel free to create patch for these adds, directly on https://github.com/fantaisie-software/purebasic (located in Residents/ dir)
User avatar
naf
User
User
Posts: 18
Joined: Fri Aug 18, 2023 3:19 pm
Location: Europe

Re: Requested API Structure and constants

Post by naf »

Code: Select all

 #PB_OpenGL_GetContext 
The setter #PB_OpenGL_SetContext is useful, but there is no getter. The getter is necessary when the user has the freedom to dynamically create and and close windows and their OpenGLgadget()'s. Is there a quick workaround by importing something from a library and skipping the standard GetGadgetAttribute() ? Thanks. (PB v.6.21 on linux Zorin, msi GP72 2QE Leopard Pro)

The same question came when using wegGL / webView: viewtopic.php?p=636229#p636229
Last edited by naf on Thu Jan 22, 2026 2:03 pm, edited 1 time in total.
Fred
Administrator
Administrator
Posts: 18498
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Re: Requested API Structure and constants

Post by Fred »

It's not an API constant...
User avatar
naf
User
User
Posts: 18
Joined: Fri Aug 18, 2023 3:19 pm
Location: Europe

Re: Requested API Structure and constants

Post by naf »

GetGadgetAttribute(openGLgadgetNum, #PB_OpenGL_SetContext ) only returns 0, not working. How can we get the context number after openGLgadget creation? -in order to store it for later use.
Fred
Administrator
Administrator
Posts: 18498
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Re: Requested API Structure and constants

Post by Fred »

Please open another topic, thanks.
Rinzwind
Enthusiast
Enthusiast
Posts: 713
Joined: Wed Mar 11, 2009 4:06 pm
Location: NL

Re: Requested API Structure and constants

Post by Rinzwind »

Little John wrote: Mon Jun 20, 2022 8:46 pm

Code: Select all

#KEYEVENTF_UNICODE = 4
#KEYEVENTF_SCANCODE = 8
https://github.com/tpn/winsdk-10/blob/m ... /WinUser.h
For some reason still not added?
Same

Code: Select all

#PROCESS_QUERY_LIMITED_INFORMATION = $1000
Also please add

Code: Select all

#MOUSEEVENTF_HWHEEL = $01000
Is this topic tracked? Anyone busy using win32 hits these simple things.

It seems like build-in constants had a cutoff date of WIndows XP or something. No effort was made to add newer constants and structures. Should be a public github project I guess with strict and useful doc with translation rules (or even automated)?
Last edited by Rinzwind on Sat Jan 31, 2026 6:39 am, edited 2 times in total.
User avatar
Bisonte
Addict
Addict
Posts: 1333
Joined: Tue Oct 09, 2007 2:15 am

Re: Requested API Structure and constants

Post by Bisonte »

Rinzwind wrote: Fri Jan 30, 2026 5:36 am ...
Should be a public github project I guess with strict and useful doc with translation rules (or even automated)?
It is... see Freds post earlier :
If you can, feel free to create patch for these adds, directly on https://github.com/fantaisie-software/purebasic (located in Residents/ dir)
PureBasic 6.21 (Windows x64) | Windows 11 Pro | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
English is not my native language... (I often use DeepL.)
Post Reply