handheldPC Forum : Powered by vBulletin version 2.2.9 handheldPC Forum > handheldPC Software > Software entwickeln > DWORD mit eVB 3.0 in Registry schreiben
  Vorheriges Thema   Nächstes Thema
Autor
Thema Neues Thema erstellen    Antworten
Penny
Mitglied

Registriert seit: Nov 2009
Beiträge: 14
 
Hardware: Fujitsu Pencentra 200 (HPC Pro, 64MB), WLinx Fast Ethernet 10/100 & Cisco Aironet 340

DWORD mit eVB 3.0 in Registry schreiben

Handheld: Fujitsu Pencentra 200 - HPC-Pro - Win CE2.11

Entwicklungsumgebung: eVB 3.0
SDK für HPC mit Runtimes und Controls vom PPC
da sonst die Programme auf dem Pencentra nicht laufen (MIPS 3000)


Hallo,

in meinem embedded Visual Basic Programm würde ich gerne die Möglichkeit einbauen das automatische Abschalten im Batteriebetrieb zu deaktivieren oder zumindest zu verlängern (Die maximal einstellbare Zeit ist 5min)

Den Reg Key dazu habe ich mit dem TC (Total Commander für CE) hier ausfindig gemacht:

HKLM\SYSTEM\CurrentControlSet\Control\Power\BattPo
werOff

Der Schlüssel liegt dabei als DWORD vor.

Im Netz habe ich das Modul "modreg.bas" gefunden mit welchem mein Programm nun einwandfrei in der Registry lesen und schreiben kann. Allerdings legt es die Einträge in der Registry als "String" Schlüssel an.

Bin dann im Modul auf die Konstante REG_SZ gestoßen und nach Ändern des Wertes von 1 auf 4 werden nun Schlüssel als DWORD angelegt. Soweit so gut...

...nur leider habe ich es trotz intensiver Fahndung und Tests nicht geschafft nun dort auch DWORD Werte reinzuschreiben. Einfach einen Zahlwert zu übergeben haut nicht hin:

Dim Settind as Double
Setting = 0
CESaveSetting Err, App, Section, Key, Setting

Ergibt in Emulation (Remote Reg Editor) und in TC auf dem HPC den (DWORD) Wert: 48
Über CEGetSetting natürlich 0 da es wieder als String ausgelesen wird.

Weitere Versuche mit z.B. Setting = 60 ergibt dann: 3145782

Also wie den Wert 'Setting' in DWORD umwandeln?

Am nächsten war ich noch mit

Setting = chr(60) 'chr(120) chr(180) ...

dran. Der Handheld zeigt dann in der Systemeinstellung "1min" (2min, 3min,...) an.

chr(0) klappt natürlich nicht (Systemeinstellung zeigt "3min") und Jenseits chr(255) ist logischerweise auch Ende... (und hätte mit sauberer Programmierung eher nix zu tun)

Weitere Suche im Netz ergab die Funktion "atof" die es aber nur in C gibt. (Keine Ahnung von C...)

Ich denke ich bin schon fast dran aber die letzten Meter scheine ich ohne Hilfe nicht zu schaffen.
Kann mir Jemand zeigen, wie ich nun einen "sauberen" DWORD Wert mit eVB in die Registry geschrieben bekomme, wie ich notfalls die atof Funktion in mein Basic Programm bastele ohne Ahnung von C zu haben und wie ich diese dann einsetzen muß?

Ich (und mein Handheld) würden sich über eine Lösung freuen :-)

Hier meine Quelle der modreg.bas:

modreg.bas

Gruß & Dank,
Dieter

Diesen Beitrag einem Moderator melden | IP: Gespeichert

Old Post 15.06.2012 17:58
Profil von Penny anzeigen Penny eine Private Nachricht schicken Mehr Beiträge von Penny finden Füge Penny zu Ihrer Buddy-Liste hinzu Beitrag bearbeiten/löschen Zitieren
Alle Zeitangaben in ME(S)Z. Es ist 16:11 Uhr. Neues Thema erstellen    Antworten
  Vorheriges Thema   Nächstes Thema
Druckbare Version zeigen | Diese Seite per eMail verschicken | Dieses Thema abonnieren

Gehe zu:
Thema bewerten:

Forum Regeln:
Es ist Ihnen nicht erlaubt, neue Beiträge zu schreiben.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Ihre eigenen Beiträge zu bearbeiten.
 

Suche - Registrieren - Einstellungen - Mitglieder - Hilfe - Regeln - Abmelden

Based on vBulletin 2.x
Copyright © Jelsoft Enterprises Limited & J. Rothberger.