WinAPI Library (Offline)

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
Falko
Admin
Beiträge: 3531
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.0
Kontaktdaten:

Beitrag von Falko »

ts-soft hat geschrieben:
Falko hat geschrieben: Unter Vista Ultimate 64-Bit kann ich noch nicht einmal einen Source
in einer geöffneten PB-IDE oder gleich IDE mit Source geöffnet
bekommen. Da passiert nun nichts mehr
Das sollte dann aber ein Problem deiner Config/deiner Antivir/deines
Windows sein.

Bei mir läuft es bei obiger Konfiguration absolut fehlerfrei!
Dann sollte es wohl an der Config liegen:
F:\PureBasic4_3_X86\PureBasic.exe /PORTABLE
Das müsste aber zumindestens dann laufen, wenn die IDE geöffnet ist, oder?

Also mit der Version 1.0.7 davor hat es noch gelaufen.

Gruß Falko
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Falko hat geschrieben:Dann sollte es wohl an der Config liegen:
F:\PureBasic4_3_X86\PureBasic.exe /PORTABLE
Dann ist es klar. RSBasic muß dem WinExec_ ja den Pfad zur PureBasic.exe
übergeben und nicht nur die Datei. Der Eintrag wird ja bei /PORTABLE nicht
aktualisiert, da findet er dann nur die zuletzt registrierte, die nicht starten
will, weil die PORTABLE an ist :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Beitrag von Bisonte »

Getestet ist es von mir nicht nur sporadisch... ;) Aber das habt ihr ja schon geklärt.
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

WinAPILibrary öffnet immer die x64 Version der IDE, die ist aber garnicht
Default in der Registry :?

Irgendwas ist an Deiner Abfrage da Faul :wink:

Gruß

Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@ts-soft
Die PB-Datei wird so ausgeführt:

Code: Alles auswählen

RunProgram(#PB_Compiler_Home+"PureBasic.exe"...)
Ich kann aber auch die Konstante + "PureBasic.exe" weglassen und die PB-Datei direkt starten, wenn das die bessere Variante ist.
Somit wird dann nur das Standard-Programm ausgeführt.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

RSBasic hat geschrieben:@ts-soft
Die PB-Datei wird so ausgeführt:

Code: Alles auswählen

RunProgram(#PB_Compiler_Home+"PureBasic.exe"...)
Ich kann aber auch die Konstante + "PureBasic.exe" weglassen und die PB-Datei direkt starten.
Somit wird dann nur Standard-Programm ausgeführt.
Ist das dann für dich die bessere Variante?
#PB_Compiler_Home ist eine CompilerDirektive, die wird auf Deinem
Rechner ausgewertet, aber nicht mehr woanders :mrgreen:
Die kann man nicht in der Exe verwenden!

Code: Alles auswählen

Procedure.s GetPBFolder(index = 0)
  Protected hKey1.l, Type.l, Res.l, Folder$, lpbData.l, cbData.l, PBRegKey.s
  cbData = 1024  ;The PB entry is really quite long!
  lpbData = AllocateMemory(cbData)
  Folder$=""
  hKey1=0
  Type=0
  Res=-1
  If lpbData
    Select OSVersion()
      Case #PB_OS_Windows_95,#PB_OS_Windows_98,#PB_OS_Windows_ME
        PBRegKey="Software\Classes\PureBasic.exe\shell\open\command"
        Res=RegOpenKeyEx_(#HKEY_LOCAL_MACHINE, PBRegKey, 0, #KEY_ALL_ACCESS, @hKey1)
      Case #PB_OS_Windows_NT3_51,#PB_OS_Windows_NT_4,#PB_OS_Windows_2000,#PB_OS_Windows_Server_2003
        PBRegKey="Applications\PureBasic.exe\shell\open\command"
        Res=RegOpenKeyEx_(#HKEY_CLASSES_ROOT, PBRegKey, 0, #KEY_ALL_ACCESS, @hKey1)
      Case #PB_OS_Windows_XP, #PB_OS_Windows_Vista,#PB_OS_Windows_Server_2008,#PB_OS_Windows_Future
        PBRegKey="Software\Classes\PureBasic.exe\shell\open\command"
        Res=RegOpenKeyEx_(#HKEY_CURRENT_USER, PBRegKey, 0, #KEY_ALL_ACCESS , @hKey1)
    EndSelect
    If Res = #ERROR_SUCCESS And hKey1
      If RegQueryValueEx_(hKey1, "", 0, @Type, lpbData, @cbData)=#ERROR_SUCCESS
        Folder$ = PeekS(lpbData)
        Select index
          Case 0
            Folder$ = GetPathPart(StringField(Folder$,2,Chr(34)))
          Case 1
            Folder$ = StringField(Folder$,6,Chr(34))
          Case 2
            Folder$ = StringField(Folder$,8,Chr(34))
          Case 3
            Folder$ = StringField(Folder$,10,Chr(34))
        EndSelect
      EndIf
      RegCloseKey_(hKey1)
    EndIf
    FreeMemory(lpbData)
  EndIf
  ProcedureReturn Folder$
EndProcedure

RunProgram(GetPBFolder() + "PureBasic.exe"...
So ist es besser!

Hab gerade nen kl. Fehler gefunden, in:
ListIconGadget / Hintergrundbild hinzufügen sollte die Strukture wie folgt aussehen:

Code: Alles auswählen

Structure lvbkimage
  ulFlags.i
  hbm.i
  pszImage.s
  cchImageMax.l
  xOffsetPercent.l
  yOffsetPercent.l
EndStructure
Dann klappts auch mit dem x64 Nachbarn :wink:

PS: Wo bleibt das Scintilla?

Gruß

Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@ts-soft
Hallo,

danke für dein Code.

Der Fehler (ListIconGadget / ExplorerListGadget > Hintergrundbild hinzufügen) werde ich demnächst beheben, danke.

>PS: Wo bleibt das Scintilla?
Ich arbeite zur Zeit an einem anderen Projekt und wenn dieses fertig ist, dann mach ich mit WAL weiter.
Vielleicht kriege ich morgen mein neues Programm fertig.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Andesdaf
Moderator
Beiträge: 2658
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

> Vielleicht kriege ich morgen mein neues Programm fertig.
Ich bin gespannt. <)
Win11 x64 | PB 6.00 (x64)
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

WinAPI Library 1.1.0 wurde veröffentlicht

Hinzugefügt:


Desktop:
• Desktop-Handle ermitteln

ExplorerListGadget:
• Breite der Spalte festlegen

Laufwerke:
• Laufwerkname umbenennen

ListIconGadget:
• Breite der Spalte festlegen

ListViewGadget:
• Anzahl der ausgewählten Items ermitteln
• Anzahl der Items ermitteln
• Ausgewählter Item ermitteln
• Höhe der Items ändern
• Höhe des Items ermitteln
• Item entfernen
• Item hinzufügen

Download: http://www.rsbasic.i3h.de/downloads/winapi_library.zip oder updaten.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

WinAPI Library 1.1.1 wurde veröffentlicht

Hinzugefügt:


Menü:
• Menü deaktivieren

OpenWindow:
• Ermitteln, ob es versteckt ist

PanelGadget:
• Alle Paneltabs entfernen
• Anzahl der Panel-Reihen ermitteln
• Ausgewählter Reiter ermitteln
• Ermitteln, auf welchem Item der Mauscursor sich befindet
• Panel-Item auswählen
• Paneltab entfernen

Sonstige:
• Build-Nummer ermitteln
• NT-Version ermitteln
• Service Pack-Version ermitteln

ToolBar:
• Icon mit Text


Download: http://www.rsbasic.i3h.de/downloads/winapi_library.zip oder updaten.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Antworten