Seite 3 von 8
Verfasst: 30.09.2006 13:15
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.

Verfasst: 30.09.2006 16:13
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
Verfasst: 04.10.2006 19:06
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)
Verfasst: 06.10.2006 19:36
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
Verfasst: 06.10.2006 23:35
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?
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
Verfasst: 11.10.2006 08:55
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
Verfasst: 11.10.2006 09:05
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.

Verfasst: 11.10.2006 10:26
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
Verfasst: 11.10.2006 11:13
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

)
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)
Verfasst: 11.10.2006 12:03
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