0cool
Goto Top

registry datei importieren

Hey Leute,

OS WIN XP
ich will mit C reg Dateien in die registry importieren. Jetzt kenn ich mich in der C Programmierung nur ein bisschen aus.
Kann mir einer sagen wie ich das mit C hinbekomme?
Die Reg datei existiert schon, der pfad zur reg datei ist statisch.

Hintergrund für die Geschichte ist die, das ich im Geschäft rechner aufsetze und nicht jedesmal im IE alle internen einstellungen von hand machen will.
Klar kann ich mit einer Batch Datei mit

Ich hab mal ein bissch gebastelt aber irgend wie klappt das nicht so ganz
Fehler: Ungültiger Vorgang

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
void main()
{
int resultat;
resultat = system ("reg.exe \\ import adobe.reg");
if (resultat <= 0){
switch (errno) {
case E2BIG:
printf ("\nArgument zu lang!");
break;
case ENOENT:
printf ("\nKommandoprozess nicht gefunden!");
break;
case ENOEXEC:
printf ("\nKommandoprozess ungueltig!");
break;
case ENOMEM:
printf ("\nNicht genuegend Speicherplatz");
}
exit(1);
}
}

reg datei lieg im gleichen verzeichniss wie die exe datei

Natürlich sollen die user nicht in der datei rumstöbern können (geht sie ja auch nix an face-smile ). Also wäre ein exe Datei das beste.

Danke für eure Hilfe

0cool

Content-Key: 68754

Url: https://administrator.de/contentid/68754

Ausgedruckt am: 02.10.2022 um 03:10 Uhr

Mitglied: Natureshadow
Natureshadow 18.09.2007 um 07:42:20 Uhr
Goto Top
Für sowas benutzt man normalerweise eine Domäne und Gruppenrichtlinien.

Aber was machen die beiden \\ ad in dem system()-Aufruf?
Mitglied: 31640
31640 01.10.2007 um 10:37:25 Uhr
Goto Top
also ich hätts so gemacht:

system();
oder WinExec();

mit dem parameter "regedit s adobe.reg"
bzw "regedit
s /"C://some//adobe.reg/""

gruß
Mitglied: 0cool
0cool 09.03.2008 um 14:02:31 Uhr
Goto Top
erst mal danke für eure Hilfe.
@Natureshadow: Du hast recht mit den Gruppenrichtlinien.

mein anliegen ist im Prinzip noch das gleiche aber doch ein bisschen anders face-smile

bei manchen useren muss ab und zu der Proxy ausgeschaltet werden weil sie über umts und VPN auf das Firmen Netzwerk zugreifen und aus irgend einem Grund zwar auf das Firmennetzwerk zugreifen können aber nicht serven können. Das geht nur wenn der Proxy auf dem PC über die eine Reg Datei deaktiviert wird. Bei nächsten anmelden an der Domäne holt er sich wieder über die Gruppenrichtlinien den Key zum Proxy Aktivieren.

Jetzt will ich über eine exe die mit C++ erstellt wird die Regdatei Schreiben, dann registrieren und wieder löschen, damit die user nicht an die Reg datei rankommen.

Folgenden Code haben ich gebastelt:

#include <iostream>
#include <stdlib.h>
#include<fstream>
#include <windows.h>

using namespace std;

int main(int argc, char *argv[])
{
ofstream out("V:\\programmieren\\c++\\hallo.reg");
out<<"Windows Registry Editor Version 5.00"<<endl;
out<<"\r\n"<<endl;
out<<"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Acrobat Reader\\8.0\\Installer]"<<endl;
out<<"\"VersionMin\"=dword:00010001"<<endl;
system ("PAUSE");
system ("regedit.exe -s V:\\programmieren\\c++\\hallo.reg");
system("PAUSE");
DeleteFile("V:\\programmieren\\c++\\hallo.reg");
system("PAUSE");
return 0;
}


die reg datei wird ohne probleme erstellt. Sie wird aber nicht registriert und nicht gelöscht.

wo liegt der fehler in meiner Programmierung??

Was noch interessant wäre wie kann ich die länge der Pausen bestimmen ohne das ich auf enter drücken muss??
sozusagen eine vordifinierte Pausen länge.

Danke für eure Hilfe

0cool
Mitglied: Natureshadow
Natureshadow 09.03.2008 um 14:42:24 Uhr
Goto Top

bei manchen useren muss ab und zu der Proxy
ausgeschaltet werden weil sie über umts
und VPN auf das Firmen Netzwerk zugreifen und
aus irgend einem Grund zwar auf das
Firmennetzwerk zugreifen können aber
nicht serven können. Das geht nur wenn
der Proxy auf dem PC über die eine Reg
Datei deaktiviert wird.

Huh? Ja, klar, jemand, der sich per VPN einwählt, soll auch nicht über diesen Tunnel auf das Internet zugreifen. Das heißt, er darf weder einen netzinternen Proxy benutzen noch ein Gateway am anderen Ende des Tunnels als STandardgateway eingetragen haben.

Die Proxysache würde ich über eine WPAD-Datei ("Automatische Proxy-Konfiguration") regeln, die sich der Browser jedes Mal beim Starten von http://wpad/wpad.dat holt. Diese kann dann entscheiden, ob ein Proxy zurückgegeben wird, oder ob der Client ohne Proxy surfen soll.

Schau übrigens mal hier: http://www.c-plusplus.de/forum/viewtopic-var-p-is-283018.html

-nik
Mitglied: 0cool
0cool 09.01.2009 um 21:32:26 Uhr
Goto Top
Hey Leute ich habe die Lösung ich erstelle den reg Eintrag über eine bat Datei mit reg add das klappt wunderbar.

Gruß

0cool