JHRegistry_xxx Library aktualisiert für PB5.40

Anwendungen, Tools, Userlibs und anderes nützliches.

Brauchbarkeit der Lib

unbrauchbar (bitte sagen warum)
4
15%
geht so (auch das hat einen Grund ...)
4
15%
brauchbar, aber (das sollte immer Kommentiert sein)
5
19%
gut brauchbar (Blumen bei meiner Frau abgeben ...)
13
50%
 
Insgesamt abgegebene Stimmen: 26

Frank Smart
Beiträge: 26
Registriert: 20.07.2005 15:21

Beitrag von Frank Smart »

brauchbar, aber (das sollte immer Kommentiert sein)

Mir würde es besser gefallen, wenn du es als Include gelöst hättest und nicht als Lib, denn Libs sind auf eine Version fixiert. Und bei Opensource könnte die Community sich einbringen. Aber das ist deine Entscheidung. 8)
Benutzeravatar
sharkpeter
Beiträge: 474
Registriert: 29.08.2004 16:18
Wohnort: Dresden
Kontaktdaten:

Beitrag von sharkpeter »

@Frank Smart,
kann man machen, muß man aber nicht. Aber danke für die offene Meinung.

neues Update 2.04

- Hilfe noch mal aufgeräumt
- Änderung bzw. Ergänzung zur CreateShortcut Funktion

Gruß Jens
PB3.94 bis 6.xx / (Win98/98SE/ME/XPProSP3/WINVista-X32)/WIN7HP-X64/WIN8PRO-X32/WIN10-64

Nichts wissen macht nichts, sich dumm stellen aber schon.
Benutzeravatar
Joel
Beiträge: 851
Registriert: 21.04.2006 19:22

Beitrag von Joel »

Ich habe eine Frage: Ich möchte mein Programm bei Computer-start, Starten lassen. Wenn ich in den Befehlbei Wert einen Datei Pfad schreibe klappt dass nicht, dazu brauch ich einen Zahlen Code.

Wie bekomme ich diesen Zahlen Code aus dem Pfad herausgerechnet,gibt es dazu ein Programm oder geht das auch ohne diesen Code?

Code: Alles auswählen

HKey.l = #HKEY_CURRENT_USER
    SKey.s ="Network\"
    Wert.s="C:\Programme\Test.exe"    ; Zahlen Wert ?
JHRegSetBinary(HKey, SKey, "Test6789", Wert, #True)
----------------------------------------------------------

PB 5.20 Beta 10 | Windows 7
Benutzeravatar
sharkpeter
Beiträge: 474
Registriert: 29.08.2004 16:18
Wohnort: Dresden
Kontaktdaten:

Beitrag von sharkpeter »

@Joel,

ich verstehe dein Anliegen im Zusammenhang mit der Funktion SetBinary nicht.
Lies doch mal das Hilfefile. Mit dieser Funktion schreibst du mal einfach ausgedrückt
eine Zahlenkolonne in die Registry und nicht einen "direkt" lesbaren Text.

Bitte konkretisiere deine Anfrage einmal.

Gruß Jens
PB3.94 bis 6.xx / (Win98/98SE/ME/XPProSP3/WINVista-X32)/WIN7HP-X64/WIN8PRO-X32/WIN10-64

Nichts wissen macht nichts, sich dumm stellen aber schon.
Benutzeravatar
Falko
Admin
Beiträge: 3535
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.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

Joel hat geschrieben:Ich habe eine Frage: Ich möchte mein Programm bei Computer-start, Starten lassen. Wenn ich in den Befehlbei Wert einen Datei Pfad schreibe klappt dass nicht, dazu brauch ich einen Zahlen Code.

Wie bekomme ich diesen Zahlen Code aus dem Pfad herausgerechnet,gibt es dazu ein Programm oder geht das auch ohne diesen Code?

Code: Alles auswählen

HKey.l = #HKEY_CURRENT_USER
    SKey.s ="Network"
    Wert.s="C:\Programme\Test.exe"    ; Zahlen Wert ?
JHRegSetBinary(HKey, SKey, "Test6789", Wert, #True)
@Joel, schon mal dein gestriegen Post in folgenden Link gelesen? :freak:
http://www.purebasic.fr/german/viewtopic.php?t=10182

Geht das etwa bei Dir nicht? Du willst doch über die Registry ein Programm automatisch starten, wenn ich dich richtig verstanden habe.

Übrigens, Wert ist ein String und keine Zahl. Schau dir mal die Registie mit Regedit mal genau an.


MfG Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Graffiti
Beiträge: 173
Registriert: 30.08.2004 08:34
Wohnort: Thailand

Beitrag von Graffiti »

@sharkpeter

das Tool wäre nicht schlecht, aber mit der Hilfe komm ich nicht so recht klar
wie setze ich dies z.B. um

REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter]
"ComDB"=hex:1F,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

damit kann man die virtuellen ComPorts setzen, löschen, definieren
bei 1F ist bis Com5 noch belegt, alle anderen sind frei
in der Systemsteuerung würde dann bis COM5 "bereits belegt" stehen
ist für USB/COM Wandler sehr interresant, da man eigentlich nie weiß welcher angesprochen wird

gruß Graffiti
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 »

@Graffiti
Ich hab jetzt Jens seine Lib nicht, aber dieser Wert ist Binär und besteht aus
32 Byte. Also Wert in Memory schreiben und den Pointer zum Memory an die
Registry Funktion übergeben.

Code: Alles auswählen

*MEM = AllocateMemory(32); 32 Byte
If *MEM
  PokeB(*MEM, $1F); erstes Byte ändern, der Rest steht auf #NULL
EndIf
Ich hoffe mal die Lib erwartet es so. :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
Graffiti
Beiträge: 173
Registriert: 30.08.2004 08:34
Wohnort: Thailand

Beitrag von Graffiti »

mit der Lib kann ich eigentlich dies nicht ausführen:

Beispiel:
Lib_Reg_Pfad= "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter"
Lib_Reg_Name = "ComDB"
Lib_Reg_Set = "hex:1F,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 "

also wesentlich komplizierter als eine *.reg ins Programm miteinzubauen.

ich glaube ich habe den Sinn der Lib doch noch nicht richtig verstanden
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 »

Hab mir mal die Lib geladen, geht also wie folgt:

Code: Alles auswählen

*MEM = AllocateMemory(32); 32 Byte
If *MEM
  PokeB(*MEM, $1F); erstes Byte ändern, der Rest steht auf #NULL
  result.l = JHRegSetBinary(#HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Control\COM Name Arbiter", "ComDB",Str(*MEM))
  FreeMemory(*MEM)
  Debug result
EndIf
Wobei Du das $1F natürlich entsprechend änderst

Gruß
Thomas

// Nachtrag:
Laut Hilfe gehts auch so: (bei 32 Byte finde ich die Variante aber nicht so schön :mrgreen: )

Code: Alles auswählen

result.l = JHRegSetBinary(#HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Control\COM Name Arbiter", "ComDB","1F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00", 1)
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
Graffiti
Beiträge: 173
Registriert: 30.08.2004 08:34
Wohnort: Thailand

Beitrag von Graffiti »

also doch sehr einfach, wenn man es verstanden hat.
Ich bin mit den Beispielen in der Hilfe durcheinander gekommen.
ist eine prima Lib

Danke für die Hilfestellung
Antworten