|
| Autor |
Nachricht |
lordblack_ Tutorial Leser

Anmeldedatum: 10.11.2007 Beiträge: 55
|
Registrie datei?
Verfasst am: 03.12.2007, 00:11 |
|
|
Hallo liebe Cmmunity,
Ich möchte gerne eine Registrie datei in mein Prog tun so das wenn ich das prog öffne die .reg ausgeführt wird und sich einträgt.
kann mir einer sagen wie ich das verwirkliche?
Edit: Die reg datei soll erst ausgeführt werden wenn ich ein button klick! nicht beim starten des progs |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 03.12.2007, 10:13 |
|
|
Nunja. Du könntest sie als Ressource einbinden oder einfach an deine exe Datei anhängen und dann auslesen.
Aber ich finde dass das vollkommen unnötig ist.
Du kannst die reg Datei einfach während der Laufzeit erstellen und ausführen.
Dein Prog soll also die Datei erstellen lassen und dann den Text hineinschreiben.
Oder was noch logischer wäre ist, wenn dein Prog gleich von selbst die Änderungen in der Registry vornimmt. Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
King of Chaos_ Coder

Anmeldedatum: 26.09.2007 Beiträge: 235
|
Verfasst am: 03.12.2007, 10:16 |
|
|
| Zitat: | | Oder was noch logischer wäre ist, wenn dein Prog gleich von selbst die Änderungen in der Registry vornimmt. |
dafür is ja die funktionion bei Vb da *gg*
vielleicht weis er einfach ned wie das geht ...
sollte das so sein schreib mir einfach kurze pm dann kann ichs dir ja erklären
oder 255-539-405
oder du postest es einfach hier *gg* xD
glg
hf & GL |
|
| |
|
 |
lordblack_ Tutorial Leser

Anmeldedatum: 10.11.2007 Beiträge: 55
|
Verfasst am: 03.12.2007, 20:38 |
|
|
habe dich mal in icq geaddet
und danke für die antworten:P
| Zitat: | | vielleicht weis er einfach ned wie das geht ... |
genau das ist mein problemm hehe |
|
| |
|
 |
King of Chaos_ Coder

Anmeldedatum: 26.09.2007 Beiträge: 235
|
Verfasst am: 03.12.2007, 20:52 |
|
|
| hab keine anfrage bekommen ^^ |
|
| |
|
 |
lordblack_ Tutorial Leser

Anmeldedatum: 10.11.2007 Beiträge: 55
|
Verfasst am: 04.12.2007, 01:11 |
|
|
| 266-767-050 adde du mich mal pls:P |
|
| |
|
 |
toilette_ Coder

Anmeldedatum: 20.10.2007 Beiträge: 86
|
Verfasst am: 04.12.2007, 09:23 |
|
|
open "C:\registrydatei.reg" for output as #1
write #1, "das was in der .reg sein soll"
close #1
shell "C:\registrydatei.reg"
so müsste das ungefähr... |
|
| |
|
 |
King of Chaos_ Coder

Anmeldedatum: 26.09.2007 Beiträge: 235
|
Verfasst am: 04.12.2007, 10:33 |
|
|
ja das dürfte so in etwa gehen
aber warum sollte mans mit ner extra reg datei machen?
als nächstes dann via res oder was? ! xD
ne mal ernsthaft ^^
Hier mal ne Kleine beschreibung wie man mit der registery in Visual basic umgeht ^^ gl and hf ^^
'zunächst alle benötigten API-Deklarationen
Private Declare Function RegOpenKey Lib "advapi32.dll" _
Alias "RegOpenKeyA" (ByVal hKey As Long, _
ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32.dll" _
Alias "RegQueryValueExA" (ByVal hKey As Long, _
ByVal lpValueName As String, ByVal lpReserved As Long, _
lpType As Long, lpData As Any, lpcbData As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" _
Alias "RegSetValueExA" (ByVal hKey As Long, _
ByVal lpValueName As String, ByVal Reserved As Long, _
ByVal dwType As Long, lpData As Any, ByVal cbData As Long) _
As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" _
(ByVal hKey As Long) As Long
Private Declare Function RegCreateKey Lib "advapi32.dll" _
Alias "RegCreateKeyA" (ByVal hKey As Long, _
ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegDeleteValue Lib "advapi32.dll" _
Alias "RegDeleteValueA" (ByVal hKey As Long, _
ByVal lpValueName As String) As Long
Const HKEY_CURRENT_USER = &H80000001
Const REG_SZ = 1
Const REG_BINARY = 3
'Wert (String/Text) für einen bestimmten
'Schlüsselnamen speichern. Sollte der Schlüssel nicht
'existieren, wird dieser autom. erstellt.
'
'Parameterbeschreibung
'---------------------
'hKey (Hauptschlüssel) : z.B. HKEY_CURRENT_USER
'sPath (Schlüsselpfad) : z.B. MeineAnwendung
'sValue (Schlüsselname): z.B. Path
'iData (Schlüsselwert) : z.B. c:\programme\MeineAnwendung
Sub fStringSpeichern(hKey As Long, sPath As String, _
sValue As String, iData As String)
Dim vRet As Variant
RegCreateKey hKey, sPath, vRet
RegSetValueEx vRet, sValue, 0, REG_SZ, ByVal iData, _
Len(iData)
RegCloseKey vRet
End Sub
'Wert (Binär 0-255) für einen bestimmten
'Schlüsselnamen speichern. Sollte der Schlüssel nicht
'existieren, wird dieser autom. erstellt.
'
'Parameterbeschreibung
'---------------------
'hKey (Hauptschlüssel) : z.B. HKEY_CURRENT_USER
'sPath (Schlüsselpfad) : z.B. MeineAnwendung
'sValue (Schlüsselname): z.B. Code
'iData (Schlüsselwert) : z.B. 220
Sub fStringSpeichernLong(hKey As Long, sPath As String, _
sValue As String, iData As String)
Dim vRet As Variant
RegCreateKey hKey, sPath, vRet
RegSetValueEx vRet, sValue, 0, REG_BINARY, _
CByte(iData), 4
RegCloseKey vRet
End Sub
'Wert für einen bestimmten
'Schlüsselnamen auslesen.
'
'Parameterbeschreibung
'---------------------
'hKey (Hauptschlüssel) : z.B. HKEY_CURRENT_USER
'sPath (Schlüsselpfad) : z.B. MeineAnwendung
'sValue (Schlüsselname): z.B. Path
'Rückgabewert : z.B. c:\programme\MeineAnwendung
Function fWertLesen(hKey As Long, sPath As String, _
sValue As String)
Dim vRet As Variant
RegOpenKey hKey, sPath, vRet
fWertLesen = fRegAbfrageWert(vRet, sValue)
RegCloseKey vRet
End Function
'Wird von "fWertLesen" aufgerufen und gibt den Wert
'eines Schlüsselnamens zurück. Hierbei wird autom.
'ermittelt, ob es sich um einen String oder Binärwert
'handelt.
Function fRegAbfrageWert(ByVal hKey As Long, _
ByVal sValueName As String) As String
Dim sBuffer As String
Dim lRes As Long
Dim lTypeValue As Long
Dim lBufferSizeData As Long
Dim iData As Integer
lRes = RegQueryValueEx(hKey, sValueName, 0, _
lTypeValue, ByVal 0, lBufferSizeData)
If lRes = 0 Then
If lTypeValue = REG_SZ Then
sBuffer = String(lBufferSizeData, Chr$(0))
lRes = RegQueryValueEx(hKey, sValueName, 0, _
0, ByVal sBuffer, lBufferSizeData)
If lRes = 0 Then
fRegAbfrageWert = Left$(sBuffer, _
InStr(1, sBuffer, Chr$(0)) - 1)
End If
ElseIf lTypeValue = REG_BINARY Then
lRes = RegQueryValueEx(hKey, sValueName, 0, _
0, iData, lBufferSizeData)
If lRes = 0 Then
fRegAbfrageWert = iData
End If
End If
End If
End Function
'Löschen eines Schlüsselnamens
'
'Parameterbeschreibung
'---------------------
'hKey (Hauptschlüssel) : z.B. HKEY_CURRENT_USER
'sPath (Schlüsselpfad) : z.B. MeineAnwendung
'sValue (Schlüsselname): z.B. Path
Sub fWerteLoeschen(hKey As Long, sPath As String, _
sValue As String)
Dim vRet As Variant
RegCreateKey hKey, sPath, vRet
RegDeleteValue vRet, sValue
RegCloseKey vRet
End Sub
Beispiel:
In Ihrer Anwendung möchten Sie den zuletzt für einen Ausdruck benutzen Drucker in der Registry speichern (fStringSpeichern). Vor dem Drucken soll dieser Drucker dann als Standard-Auswahl zur Verfügung stehen (fWertLesen).
'zuletzt eingestellten Drucker ermitteln
Dim prnName As String
prnName = fWertLesen(HKEY_CURRENT_USER, _
"MeineAnwendung", "Drucker")
'Wenn noch kein Eintrag gespeichert ist,
'soll der Standard-Drucker verwendet werden
If prnName = "" Then prnName = Printer.DeviceName
'Druckerauswahl...
...
'Auswahl speichern
fStringSpeichern HKEY_CURRENT_USER, "MeineAnwendung", _
"Drucker", prnName
Um nicht mehr benötigte Einträge in der Registry wieder zu löschen, steht die Funktion fWerteLoeschen zur Verfügung.
'Löschen der Druckerauswahl
fWerteLoeschen HKEY_CURRENT_USER, "MeineAnwendung", _
"Drucker"
by vb-@rchiv |
|
| |
|
 |
ZiG_ Überflieger

Anmeldedatum: 07.03.2007 Beiträge: 1248
|
Verfasst am: 04.12.2007, 15:18 |
|
|
Ich würde sagen eine reg Datei kann praktisch sein, wenn man einem Benutzer die Möglichkeit geben will Änderungen vorzunehmen an so einer reg Datei.
Wenn das fix ins Programm integriert ist, lässt sich da nicht mehr viel ändern.
Kommt halt drauf an was man programmieren will.
Außerdem denke ich ist es evt. praktisch wenn es sich um sehr viele Einträge handelt und man keine Lust hat das alles im Code unterzubringen.
Aber normal würde man es natürlich per code machen. Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde) |
|
| |
|
 |
|
|