UpdateWindow_(WindowID(0)) und andere Funktionen

Anfängerfragen zum Programmieren mit PureBasic.
Michael(362)
Beiträge: 16
Registriert: 28.07.2019 12:51

UpdateWindow_(WindowID(0)) und andere Funktionen

Beitrag von Michael(362) »

Moin,
Gleich die nächste Frage.
Wo findet man Informationen über Funktionen wie z.B.

Code: Alles auswählen

UpdateWindow_(WindowID(0))
?
In der Hilfe von PureBasic habe ich nichts gefunden.
Gruß Michael
PureBasic 5.72 LTS (Windows - x86)
Windows 10 x86
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: UpdateWindow_(WindowID(0)) und andere Funktionen

Beitrag von RSBasic »

Es ist eine von Windows bereitgestellte WinAPI.Funktion und Informationen findest du auf MSDN auf microsoft.com: https://docs.microsoft.com/en-us/window ... datewindow
Wichtig: Wenn du diese Funktion nutzen möchtest, dann beachte, dass dein Programm nur unter Windows funktioniert.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Michael(362)
Beiträge: 16
Registriert: 28.07.2019 12:51

Re: UpdateWindow_(WindowID(0)) und andere Funktionen

Beitrag von Michael(362) »

Das heißt, ich kann alle Methoden der User32.dll verwenden OHNE die Dll einzubinden?
Geht das auch mit anderen von Microsoft mitgelieferten Dll's?
PureBasic 5.72 LTS (Windows - x86)
Windows 10 x86
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: UpdateWindow_(WindowID(0)) und andere Funktionen

Beitrag von RSBasic »

Die meisten WinAPI-Funktionen (circa 90 % schätze ich mal) sind bereits von PB importiert und können direkt mit <Funktionsname>_() ohne DLL-Import verwendet werden.
Es ist nicht nur die User32.dll-Datei, sondern viele anderen DLL-Dateien von Windows. (Kernel32.dll, Netapi32.dll, Gdi32.dll, Advapi32.dll, Wininet.dll, ...)
Fehlende WinAPI-Funktionen kannst du mit OpenLibrary manuell importieren und ebenfalls in PB nutzen.

Wenn du Beispielcodes brauchst, kannst du gerne diese Seite (enthält derzeit 1.138 Codes) benutzen: https://www.rsbasic.de/winapi-library/
Dank der WinAPI-Schnittstelle hast du deutlich mehr Möglichkeiten, als mit den nativen PB-Funktionen. Aber bedenke, dass es nicht mehr plattformunabhängig ist. Wenn du nur Windows nutzt und du nur Windows-Programme bereitstellen möchtest, dann wäre das egal.

Du kannst außerdem die Autovervollständigungsliste für WinAPI-Funktionen ebenfalls aktivieren: Datei > Einstellungen > Editor > Automatisches Vervolständigen > Angezeigte Einträge > [X] API-Funktionen
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Mijikai
Beiträge: 754
Registriert: 25.09.2016 01:42

Re: UpdateWindow_(WindowID(0)) und andere Funktionen

Beitrag von Mijikai »

Ich empfehle VisualStudio von MS herunterzuladen um alle Window Libraries zu erhalten.
Da es weitaus angenehmer ist fehlende Apis direkt über die dafür gedachte Import-Funktion zu laden als manuell mit OpenLibrary().

Beispiel:

Code: Alles auswählen

Import "kernel32.lib"
  GetProcAddress.i(ModuleHandle.i,ProcName.p-ascii)
EndImport
Michael(362)
Beiträge: 16
Registriert: 28.07.2019 12:51

Re: UpdateWindow_(WindowID(0)) und andere Funktionen

Beitrag von Michael(362) »

@Mijikai
Du meinst doch nicht z.B. Visual Studio Community?

Ich habe mir nämlich PureBasic gekauft um dieses sch.... Visual Studio Community von der Festplatte zu löschen.
Es beansprucht etliche Gigabyte Festplattenspeicher und mitlerweile dauert das Laden von Projekten bis zu 10 Min.
Ich habe es schon deinstalliert und neu installiert, es hat nichts geholfen.

Da habe ich PureBasic gefunden und bin begeistert von schmalen Installation und Schnelligkeit.
Nie wieder Visual Studio Community!
PureBasic 5.72 LTS (Windows - x86)
Windows 10 x86
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: UpdateWindow_(WindowID(0)) und andere Funktionen

Beitrag von RSBasic »

Du brauchst kein VS. Wenn du eine Funktion findest, die in PB noch nicht existiert, dann gibt es hier im Forum meistens bereits einen Import-Code.
Ansonsten einfach fragen. Jemand erstellt den Import-Code für dich.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Mijikai
Beiträge: 754
Registriert: 25.09.2016 01:42

Re: UpdateWindow_(WindowID(0)) und andere Funktionen

Beitrag von Mijikai »

Ich halte nichts von VS (habs nur wegen der Libs & Tools) aber evtl. is MASM auch eine Möglichkeit
um an diese Dinge zu kommen.

Wie gesagt ich würde soweit möglich alle Funktionen direkt (richtig) importieren, anders geht es auch
ist halt unschön und mit mehr Code/Aufwand verbunden.

Manchmal hat mann auch Glück und die fehlenden APIs sind sogar in den PureBasic Libs enthalten.
Einfach testen ;)

(Keine Ahnung warum PB nur kastrierte Libs mitbringt...)
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: UpdateWindow_(WindowID(0)) und andere Funktionen

Beitrag von RSBasic »

Hier noch zwei wichtige Links meiner Meinung nach:
Liste aller WinAPI-Funktionen von A bis Z: https://docs.microsoft.com/en-us/previo ... 8(v=vs.85)
Liste aller WinAPI-Funktionen in Kategorien: https://docs.microsoft.com/en-us/previo ... 6(v=vs.85)

Auch diese Seite ist nicht schlecht: http://www.pinvoke.net/index.aspx
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Antworten