Seid UIhr denn wahnsinnig, er weiß nicht was die Registry ist und dann nennt Ihr den Zuganng regedit usw...
Ich empfehle vorher ein Vollbackup TIS, ghost, wbadmin was auch immer ...
Beiträge von Dietmar
-
-
Verstehe ich nicht irgendetwas wird doch wohl eindeutig da zu finden sein, Homepage vom Hersteller o.ä.
Ansonsten darfst Du ja für zig Versionen eine Weiche basteln.Suche z.B. ab Startpfad dann hast Du die Guid / den Pfad wo es installiert ist etc.
-
MSDE oder der große Bruder, bei MSDE/Express ist TCP/IP bei den Protokollen per default aus.
Kannst Du im Konfigurationsmanager aktivieren falls Du den Zugriff so gewählt hast und der Server nicht auf deinem PC (wo AutoIT) läuft. -
Nicht direkt dein Problem aber die Guids (432184D6-8DB9-4214-BE5B-4B0E67FE5787)
bekommst du auch aus der Registry.Ab hier nach etwas eindeutigem suchen:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{GUID}]zu Filegetversion
Stringname kann einer der folgenden allgemeinen Feldnamen sein :
Comments, InternalName, ProductName, CompanyName, LegalCopyright, ProductVersion,
FileDescription, LegalTrademarks, PrivateBuild, FileVersion, OriginalFilename, SpecialBuildes gibt Datei & Produktversion
Gruß Dietmar
-
-
und nochmal zu den Zertifikaten und wie man selber welche erstellt gab es ein Tutorial der einer der letzten Cts,
er Auslöser waren halt nicht signierte Treiber. Das sollte auch online zu finden sein.
Ja zum hionterlegen der Zertifikate wirst Du sicherlich Adminrechte brauchen, da bei Dir ja eh die Meldung kommt wegen #requireadmin / UAC sollte Dich das nicht jucken.Oder man bedient sich fremder Zertifikate, nicht sehr nett http://forum.golem.de/kommentare/sec…86782,read.html
-
Man kann dort fast alles ändern aber das was ich denke, die Meldung die du siehst lässt sich nur mit Zertifikaten lösen.
Ofiziell haben wir gerade den Win7-Logotest gemacht, das wird Dir zu aufwendig sein. In der CT gab es mal vor Kurzen einen Artikel zum selber signeren.
Thema/Problem waren nicht signierte WinTreiber. -
https://autoit.de/index.php?page…a0398d6b0b3c47c
Hier ein Script um eine/mehrere VMwares als Dienst laufen zu lassen.
In der Zip Datei sind die nötigen Tools um einen Dienst zu erzeugen und im Script siehst Du was dann wo in der Registry stehen muss.
Wichtig ist auch das Bild im Anhang -
das ist ja mal ne Info, dann starte die doch mir RunDOS oder Run
Mal so probiert ß
$runpath = FileGetShortName('"c:\Windows\"')
Wofür eigentlich noch FileGetShortName ? -
ja aber listen und starten sind trotzdem 2 paar Schuhe klappt das listen auch nicht ?
-
ich denke mal das der Startaufruf beim vmware server 1 anders ist und die nicht zusammenfinden,
versuche es doch mal mi den Tools sie dem Server(vmware server) beiliegen.Bei den ESX ist es eh via VA oder Perl möglich, die wo ein reguläres OS drunter läuft ticken etwas andes.
Evtl. blockt die Firewall was für ein OS läuft auf dem VM Server, wenn es gehen sollte hast Du es mal in einer Dosbox ausprobiert.
In wieweit es überhaupt klappt dort sieht man evtl. noch ein paar Fehlermeldungen. Das ganze dann auch mal direkt auf dem Server (sofern Windows unter Linux gibts ja genug Scripte fürs Starten/Stoppen der vms) -
Wenn es läuft ist es auf jeden Fall wichtig das die vmware tools in der vm installiert sind damit die vm auch sauber runterfährt,
sonst ist es wie Stecker ziehenTesten kann ich da nix mehr da ich hier zuhause und auf der Arbeit nur noch ESX4/ESX4i vorhanden sind.
-
Das es die Workstation und keine Servervariante ist könnte Dir das helfen.
Der Aufruf zum Starten so wie es zu dem Zeitpunkt noch funktionierte kann man dem Script ja entnehmen.
Bei mir habe ich die als Dienst laufen lassen, nach Anmeldung konnte man die VM auch in der Konsole benuten anonsten nur via RDP/SSH.Habe Dir mal mein Script angehangen wie ich die Dienste eingerichtet habe,
ist also in erster Linie ein Verwaltungstool um die VMs als Dienst zu konfigurieren, aber der Dienst muss die VMs ja auch irgendwie startenSpoiler anzeigen
[autoit]#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
[/autoit] [autoit][/autoit] [autoit]
#AutoIt3Wrapper_icon=Charlie-Brown-2.ico
#AutoIt3Wrapper_outfile=vmware-service.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Res_Comment=Tool zum Erstellen eines VMware-Autostart Dienstes für VMware Workstation
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_LegalCopyright=Dietmar Rolfes
#AutoIt3Wrapper_Res_Language=1031
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.2.10.0
[/autoit] [autoit][/autoit] [autoit]
Author: Dietmar R.
Script Function: VMware Maschine als Dienst einrichten#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]#include <GuiConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include<GetFileList.au3>$Service_Name="VMware-Autostart"
[/autoit] [autoit][/autoit] [autoit]
$vm_dir="My Virtual Machines"
$vm_prg_dir=RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Workstation", "InstallPath")
If $vm_prg_dir="" then file_exe_open()
If StringRight($vm_prg_dir,1) <> "\" Then $vm_prg_dir=$vm_prg_dir & "\"
$scriptdir=@ScriptDir
If StringRight(@ScriptDir,1) <> "\" Then $scriptdir=@ScriptDir & "\"gui_service() ;ProgrammStart bei erfolgreicher RegistrySuche
[/autoit] [autoit][/autoit] [autoit]Func file_exe_open() ;Suchdialog falls kein VMware Eintrag in der Registry gefunden wurde
[/autoit] [autoit][/autoit] [autoit]
$vmexe=FileOpenDialog("Bitte die vmware.exe im Programme Verzeichnis auswählen.", @ProgramFilesDir, "(vmware.exe)",0)
If @error Then
MsgBox(4096,"Programmende","Es wurde keine Datei ausgewählt.")
Exit
Else
$vm_prg_dir=StringTrimRight($vmexe,10)
EndIf
EndFuncFunc gui_service() ;Startgui: Auswahl De- Installation
[/autoit] [autoit][/autoit] [autoit]
GuiCreate("VM-Workstation als Dienst einrichten - Dietmar Rolfes", 381, 181,-1, -1);, BitOR($WS_OVERLAPPEDWINDOW), $WS_CLIPSIBLINGS)) ;Resize deaktiviert
$Group1 = GuiCtrlCreateGroup("", 20, 15, 230, 65)
$Label1 = GuiCtrlCreateLabel("Bitte vergeben Sie einen Dienstnamen.", 30, 30, 200, 20)
$Label2 = GuiCtrlCreateLabel("Dienstname:", 30, 50, 80, 20)
$Service = GUICtrlCreateInput($Service_Name, 100, 50, 110, 20)
$Group2 = GuiCtrlCreateGroup("", 20, 75, 230, 65)
$Label3 = GuiCtrlCreateLabel("Verzeichnis der VMware Maschinen:", 30, 90, 200, 20)
$Search_VMDir = GuiCtrlCreateButton("...", 30, 110, 20, 20)
$VMDir = GUICtrlCreateInput($vm_dir, 60, 110, 150, 20);,$ES_READONLY)
$Start = GuiCtrlCreateButton("Start", 280, 20, 60, 40)
$Abbruch = GuiCtrlCreateButton("Abbruch", 280, 60, 60, 40)
$Hilfe = GuiCtrlCreateButton("Hilfe", 280, 100, 60, 40)
$rm_service = GuiCtrlCreateCheckbox("Vorhandenen Dienst entfernen?", 40, 150, 235, 20)
GuiSetState()
While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $Start
$Service_Name=GUICtrlRead($Service)
If GUICtrlRead($rm_service)=1 Then
rm_service()
Else
If GUICtrlRead($VMDir)="" Or GUICtrlRead($VMDir)="My Virtual Machines" Then
MsgBox(0,"Achtung!","Es muss zuerst das VMware-Maschinen Verzeichnis ausgewählt werden")
Else
start()
EndIf
EndIf
Case $msg = $Abbruch
Exit
Case $msg = $Hilfe
hilfe()
Case $msg = $Search_VMDir
$vm_dir = FileSelectFolder("wo liegen die VMwares?", "")
GUICtrlSetData ($VMDir, $vm_dir)
Case Else
EndSelect
WEnd
Exit
EndFuncFunc start() ;Files kopieren, Dienst erzeugen
[/autoit] [autoit][/autoit] [autoit]
If Not IsDeclared("iMsgBoxAnswer") Then Local $iMsgBoxAnswer
$iMsgBoxAnswer = MsgBox(36,"Weiter zum nächsten Schritt?","Möchten Sie nun den Dienst " & '"' & $Service_Name & '"' & " installieren?" & @CRLF & @CRLF & "Welche VMware Maschinen automatisch gestartet werden sollen," & @CRLF & "können Sie im nächsten Dialog auswählen.")
Select
Case $iMsgBoxAnswer = 6 ;Yes
If Not FileExists($vm_prg_dir & "instsrv.exe") Then FileInstall("C:\Autoit\vmware_service\instsrv.exe", $vm_prg_dir & "instsrv.exe")
If Not FileExists($vm_prg_dir & "srvany.exe") Then FileInstall("C:\Autoit\vmware_service\srvany.exe", $vm_prg_dir & "srvany.exe")
Run('"' & $vm_prg_dir & "instsrv.exe" & '"' & ' "' & $Service_Name & '" ' & '"' & $vm_prg_dir & "srvany.exe" & '"', "", @SW_HIDE)
RegWrite ( "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\" & $Service_Name & "\Parameters", "Application", "REG_SZ",'"' & $vm_prg_dir & $Service_Name & ".cmd" & '"')
If FileExists($vm_prg_dir & $Service_Name & ".cmd") Then FileDelete($vm_prg_dir & $Service_Name & ".cmd")
FileWriteLine($vm_prg_dir & $Service_Name & ".cmd","REM Configfile für VMware Dienst")
FileWriteLine($vm_prg_dir & $Service_Name & ".cmd","REM start vmware.exe -x " & '"Pfad\Maschine1.vmx" ' & '"Pfad\Maschine2.vmx"' & " / Multitab")
FileWriteLine($vm_prg_dir & $Service_Name & ".cmd","REM start vmware.exe -x " & '"Pfad\Maschine1.vmx"' & " / Multi-Window")
FileWriteLine($vm_prg_dir & $Service_Name & ".cmd","REM start vmware.exe -x " & '"Pfad\Maschine2.vmx"' & " / Multi-Window")
FileWriteLine($vm_prg_dir & $Service_Name & ".cmd","REM ------------------------------------------------------------------------" & @CRLF)
FileWriteLine($vm_prg_dir & $Service_Name & ".cmd","set path=%path%," & $vm_prg_dir)
vm_auswahl()
Case $iMsgBoxAnswer = 7 ;No
EndSelect
EndFuncFunc vm_auswahl() ;Anzeige-Gui der gefundenen VMwares mit Checkbox Auswahl
[/autoit] [autoit][/autoit] [autoit]
DIM $Daten = _GetFileList($vm_dir, "*.vmx")
Dim $vm[100]
$h=200
If $Daten[1] = "" Then no_input()
If $Daten[0] > 1 Then $h=200+$Daten[0]*20
GuiCreate("Hier können Sie die zu startenden Maschinen auswählen.", 520, $h,-1, -1); , BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS)) ;Resize deaktiviert
$info = GuiCtrlCreateLabel("Diese VMwares wurden in dem ausgewählten Pfad gefunden,weitere Maschinen können manuell hinzugefügt werden.", 30, 20, 330, 30)
$j=60
for $i = 1 to $Daten[0]
$j=$j+20
$vm[$i] = GuiCtrlCreateCheckbox(StringTrimLeft($Daten[$i],StringLen($vm_dir)), 50, $j, 435, 20)
Next
$Group_5 = GuiCtrlCreateGroup("", 30, 60, 460, $j-25)
$single_window = GuiCtrlCreateCheckbox("Je virtuelle Maschine ein seperates Fenster?", 50, $j+45, 235, 20)
$disable_hints = GuiCtrlCreateCheckbox("Für den Dienst Tips etc deaktivieren?", 50, $j+65, 235, 20)
GUICtrlSetState($disable_hints,$GUI_CHECKED)
$Generate = GuiCtrlCreateButton("OK", 320, $j+65, 50, 40)
$Abbruch = GuiCtrlCreateButton("Ende", 370, $j+65, 50, 40)
$Hilfe = GuiCtrlCreateButton("Hilfe", 420, $j+65, 50, 40)GuiSetState()
[/autoit] [autoit][/autoit] [autoit]
While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $Generate ;Config schreiben
If GUICtrlRead($disable_hints)=1 Then no_hints()
If GUICtrlRead($single_window)<>1 Then FileWrite($vm_prg_dir & $Service_Name & ".cmd","start vmware.exe -x ")
For $k=1 to $Daten[0]
If GUICtrlRead($single_window)<>1 Then
If GUICtrlRead($vm[$k])= 1 Then FileWrite($vm_prg_dir & $Service_Name & ".cmd",'"' & $Daten[$k] & '" ')
Else
If GUICtrlRead($vm[$k])= 1 Then FileWriteLine($vm_prg_dir & $Service_Name & ".cmd","start vmware.exe -x " & '"' & $Daten[$k] & '"')
EndIf
Next
MsgBox(0,"Installation abgeschlossen!","Testen sie einmal den Aufruf per Doppelklick." & @CRLF & @CRLF & "Beim ersten Dienststart müssen noch einmalig ein paar" & @CRLF & "Dialoge deaktiviert werden. (Updates,Tooltips,Floppy,etc)" & @CRLF & @CRLF & "Lassen Sie den Datenaustauch zwischen Dienst und Desktop zu." & @CRLF & "Aktivieren sie hierfür in den Eigenschaften des Dienstes," & @CRLF & "auf dem Reiter [Anmelden] die dazugehörige Checkbox." )
If Not FileExists($vm_prg_dir & "service.jpg") Then FileInstall("C:\Autoit\vmware_service\service.jpg", $vm_prg_dir & "service.jpg")
SplashImageOn("Bitte nicht vergessen den Dienst zu konfigurieren.",$vm_prg_dir & "service.jpg","634","551","-1","-1",2)
Sleep(6000)
SplashOff()
Run('explorer.exe /select, "' & $vm_prg_dir & $Service_Name & ".cmd" &'"')
Exit
Case $msg = $Abbruch
Exit
Case $msg = $Hilfe
hilfe()
Case Else
EndSelect
WEnd
Exit
EndFuncFunc rm_service() ;Anzeige-Gui für die bereits hinterlegten Dienste mit Checkbox Auswahl
[/autoit] [autoit][/autoit] [autoit]
DIM $Inst_SRV = _GetFileList($vm_prg_dir, "*.cmd")
Dim $vm[100]
$h=200
If $Inst_SRV[1] = "" Then no_input()
If $Inst_SRV[0] > 1 Then $h=200+$Inst_SRV[0]*20
GuiCreate("Nicht mehr benötigte Dienste entfernen.", 380, $h,-1, -1); , BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS)) ;Resize deaktiviert
$info = GuiCtrlCreateLabel("Folgende Dienste wurden gefunden und können entfernt werden:", 30, 20, 330, 30)
$j=60
for $i = 1 to $Inst_SRV[0]
$j=$j+20
$vm[$i] = GuiCtrlCreateCheckbox(StringTrimRight(StringTrimLeft($Inst_SRV[$i],StringLen($vm_prg_dir)),4), 50, $j, 280, 20)
Next
$Group_5 = GuiCtrlCreateGroup("", 30, 60, 320, $j-25)
$single_window = GuiCtrlCreateCheckbox("Selektierte Dienste entfernen!", 50, $j+45, 235, 20)
$Generate = GuiCtrlCreateButton("OK", 250, $j+65, 50, 40)
$Abbruch = GuiCtrlCreateButton("Ende", 300, $j+65, 50, 40)GuiSetState()
[/autoit] [autoit][/autoit] [autoit]
While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $Generate
If GUICtrlRead($single_window)=1 Then ;entfernen allgemein
For $k=1 to $Inst_SRV[0]
If GUICtrlRead($vm[$k])= 1 Then ;je Dienst
RunWait("net stop" & '"' & StringTrimRight(StringTrimLeft($Inst_SRV[$k],StringLen($vm_prg_dir)),4) & '"', "", @SW_HIDE)
Run('"' & $vm_prg_dir & "instsrv.exe" & '" "' & StringTrimRight(StringTrimLeft($Inst_SRV[$k],StringLen($vm_prg_dir)),4) & '"' & " remove", "", @SW_HIDE)
FileDelete($Inst_SRV[$k])
Else
EndIf
Next
MsgBox(0,"De-Installation abgeschlossen!","Die ausgewählten Dienste wurden entfernt.")
Exit
Else
MsgBox(0,"Achtung!","Dienste wirklich entfernen?")
EndIf
Case $msg = $Abbruch
Exit
Case Else
EndSelect
WEnd
Exit
EndFuncFunc hilfe()
[/autoit] [autoit][/autoit] [autoit]
If Not IsDeclared("iMsgBoxAnswer") Then Local $iMsgBoxAnswer
$iMsgBoxAnswer = MsgBox(64,"Readme","Was soll ich hiermit?" & @CRLF & "Mit diesem Programm können Sie eine oder auch " & @CRLF & "mehrere virtuelle Maschinen als Dienst starten lassen." & @CRLF & @CRLF & "Was wird am System verändert?" & @CRLF & "Es wird ein neutraler Dienst hinzugefügt. Mit diesem starten " & @CRLF & "Sie ein CMD File in welchem die VMwares hinterlegt sind." & @CRLF & "Diese Datei ist mit einem Editor auch nachträglich editierbar." & @CRLF & @CRLF & "Welche Dateien benötige ich?" & @CRLF & "Die generierte Config-Datei und die beiden Dateien instsrv.exe und srvany.exe" & @CRLF & "werden in das VMware-Verzeichnis kopiert." & @CRLF & @CRLF & "Wenn die Maschinen nicht mehr automtisch starten sollen deaktivieren Sie den Dienst.",25)
Select
Case $iMsgBoxAnswer = -1 ;Timeout
Case Else ;OK
EndSelect
EndFuncFunc no_input()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0,"Hinweis: Es gibt keine gültige Auswahl","Entweder wurden keine VMwares gefunden" & @CRLF & "oder kein Dienst der entfernt werden kann.")
Exit
EndFuncFunc no_hints()
[/autoit]
$pref_ini=StringRegExpReplace(@AppDataCommonDir,"\A(.*\\).*(\\.*)\Z","$1LocalService$2") & "\VMware\preferences.ini"
$build_nr=StringRight(FileGetVersion($vm_prg_dir & "vmware.exe", "ProductVersion"),5)
FileWriteLine($pref_ini,'pref.eula.0.appName = "VMware Workstation"')
FileWriteLine($pref_ini,'pref.eula.0.buildNumber = "' & $build_nr & '"')
FileWriteLine($pref_ini,'pref.eula.size = "1"')
FileWriteLine($pref_ini,'hint.guestos.xp = "FALSE"')
FileWriteLine($pref_ini,'hint.keyboardHook.hookTimeout = "FALSE"')
FileWriteLine($pref_ini,'hint.mks.hostAlphaCursor = "FALSE"')
FileWriteLine($pref_ini,'hints.hideAll = "TRUE"')
FileWriteLine($pref_ini,'pref.tip.startup = "FALSE"')
FileWriteLine($pref_ini,'pref.tip.index = "1"')
FileWriteLine($pref_ini,'webUpdate.checkLast = "1209077619"')
EndFuncHabs geringfügig geändert damit es ohne Fehlermeldung wieder anstartet, Zeile 51 , 20);,$ES_READONLY)
Unter Win7 Vista sollte man noch ein #RequireAdminam Anfang hinzufügen,
bei Dir hapert es vermutlich an der Maskierung des Pfades beim Aufruf " ' " usw.
Hier ist zum Beispiel ein Leerzeichen drin wo man evtl. drüber stolpern kann.Gruß Dietmar
-
Die IniDatei wird doch beim ersten Start via fileinstall mit ausgepackt,oder?
also die Ini um einen Eintrag erweitern
[Settings]
First_Run=0dann beim ersten Start auf 1 toggeln un im Programm halt abfragen und wenn der Wert = 1 dann einen Teil überspringen.
[autoit]
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
Dim $scriptdir = @ScriptDir
If StringTrimRight($scriptdir, 1) <> "\" Then $scriptdir &= "\"
Dim $ini = $scriptdir & "Config.ini"If Iniread($ini,"Settings", "First_Run", "Not Found") = 1 Then
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]
start_hier()
Else
IniWrite($ini,"Settings", "First_Run", "1")
start_erst_hier()
start_hier()
EndifFunc start_erst_hier()
[/autoit][autoit][/autoit][autoit]
MsgBox(0, "Programmstart","Erster Start")
EndfuncFunc start_hier()
[/autoit][autoit][/autoit][autoit]
MsgBox(0, "Programmstart","Programmstart")
EndfuncExit
[/autoit] -
-
Selber lange zeit online gespielt und habe persönlich Abneigungen gegen Leute die gewisse Abläufe automatisieren, so schnell reagiert man halt nicht.
Wer so etwas braucht hat ganz andere Sorgen, zu dem Arbeitlosen. Fand ich nicht ok was Du da von Dir gibst aber stell doch einen ein.
Der spielt dann für Dich und alles ist palettiBot Unterstützung hier im Forum sollte nicht geduldet werden. Wenn man es geschickt anstellt und die Frage anders formuliert die URL rausnimmt und ein paar Zeilen Code postet,
dann hat man auch evtl. Glück das einem geholfen wird. Allerdings musste man sich dann schon mal damit beschäftigen -
[autoit]
Run(@ComSpec & " /c " & 'net use > d:\unc.lst', "", @SW_HIDE)
[/autoit]klappt hier auch ohne UAC usw.
-
C:\Users\Dietmar>net use
Neue Verbindungen werden gespeichert.Status Lokal Remote Netzwerk
---------------------------------------------------------------------------
OK \\vdr02\IPC$ Microsoft Windows Networkmit netuse /del \\vdr02\IPC$ würde man diese Verbindung wieder los.
Lokal ist nicht gepflegt, vielleicht hilft Dir das weiter?
Wichtig Windows gestattet nur eine Verbindung von dem PC/der Sitzung.
Multiples Anmelden an div. Shares vom selben PC funktionieren nur mit "einer" Anmeldung. -
Wenn man es kann kommt man doch mit recht wenig Code aus
Das hätte bei mir um einiges wuchtiger ausgesehen...Besten Dank dafür. das kan ich sicher immer wieder mal gebrauchen
Eine Frage noch wenn ich die gesamte Registry durchsuche, muss ich ja switchen zwischen HKLM HKCU HKCR usw
Ich habe nun eine Schleife gebastelt in der er bis 40 hochzählt und dann immer die Funktion aufruft.
Bei Treffer den Sub_Regkey löscht, habe aber das Gefühl das er immer wieder vorne anfängt und den selben Regkey immer wieder findet.....EDIT: Gar nicht gesehn das Ihr noch fleissig weitergemacht habt, erst beim Bedanken gesehn, dann werde ich auch mal die Neuerungen testen...
Gruß Dietmar
Bei mir waren es 35.52 Sek mit Win7, so ist es jedenfalls ganz nah am Optimum
-
Wenn ich mit
die Registry expotiere kann ich diese Textdatei durchsuchen, wäre machbar.aber ich benötige die komplette Zeile darüber um den Subkey gegenzuprüfen.
ein Beispiel:
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{373FF7F0-EB8B-11CD-8820-08002B2F4F5A}\ToolboxBitmap32]
@="C:\\Windows\\system32\\comctl32.ocx, 16"comctl32.ocx wurde gesucht
Zitat
Dann noch eine rekursive Funktion und schon bekommst Du Deine SucheDu meinst nimm HKLM merke dir alle darin enthalteten, nimm den ersten und schau darin welche es alle gibt .. ... .. .... .. .usw.
das krieg ich nicht hin denke ich
zumindest nicht in Kürze da ist der Regexport zwar hässlich aber für mich überschaubar