Seite 1 von 1

UpdateWindow_(WindowID(0)) und andere Funktionen

Verfasst: 04.09.2019 14:54
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

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

Verfasst: 04.09.2019 14:56
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.

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

Verfasst: 04.09.2019 15:08
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?

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

Verfasst: 04.09.2019 15:14
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

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

Verfasst: 04.09.2019 16:48
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

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

Verfasst: 04.09.2019 17:22
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!

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

Verfasst: 04.09.2019 17:25
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.

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

Verfasst: 04.09.2019 18:21
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...)

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

Verfasst: 04.09.2019 21:11
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