Avatar billede Donkanalie Nybegynder
11. juli 2011 - 14:16 Der er 9 kommentarer

Start explorer.exe som shell

Hey hey.

Jeg har lavet et lille program i Visual Basic 2010 som jeg kalder "Argentum". Dette lille program vil jeg gerne starte op i stedet for explorer.exe. Det vil sige at efter hvor man normalt logger starter "Argentum" i stedet for at vise skrivebord så der bare er sort skærm. Det er lykkedes mig gennem regedit " HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon " Her ligger en værdi, Shell, explorer.exe. Den har jeg erstattet med Shell, Argentum.exe, og det virker fint. Men når brugeren nu er logget ind i "Argentum" så skal de også have muligheder for at starte explorer.exe så skrivebordet vises. Hvorden gør man det? Jeg kan kun starte stifinder, altså processen explorer.exe og ikke shell'en? Skal jeg logge af og logge in for at kunne starte en ny shell. Eller skal jeg gøre det på en helt anden måde eller hvad forslår i?
Avatar billede Blueeyez Mester
11. juli 2011 - 14:53 #1
Hvilket styresystem?
Avatar billede Donkanalie Nybegynder
11. juli 2011 - 15:20 #2
Windows 7 Pro x64. Jeg tænkte om man kunne ændre Reg-keyen til explorer.exe og så lukke min App og starte explorer.exe?
Avatar billede Blueeyez Mester
11. juli 2011 - 15:45 #3
Altså den egentlige metode jeg helt kan forestille mig, som er simpel, ville jo være hvis du oprettede en genvej med tasterne fx ctrl + h = luk Argentum / start explorer og så ctrl + j = luk explore / start Argentum

Grundet er, jeg går ud fra du fint kan starte den app der op inde i windows når du er der, men problemet er jo at når du lukker explorer så er du jo begrænset og derfor så ville en tast genvej nok være den bedste løsning, dog skal den som du kan se have begge funktioner som betyder den ene process skal først dø og så starte den op, grundet jeg vælger og sige begge skal dø fra start er en mindre sikkerhed for at det er lukket det du vil lukke af de 2.. og så skal du undlade og starte noget når du logger ind altså dvs, ingen explore og ingen Argentum før genvejstast eller explore fra start og så kan du jo blot trykke på genvejs tasten? :)
Avatar billede Donkanalie Nybegynder
11. juli 2011 - 16:30 #4
Det kunne man godt, men problemet er at hvis du har angivet en anden Shell i registret end explorer.exe så kan Windows explorer ikke åbnes som Shell. Og det jeg har brug for er at brugeren ikke kan få adgang til skrivebordet og windows explorer før Argentum lukker. Hvis man angiver en anden Shell end explorer.exe, logger på og lukker argentum, prøver at åbne explorer.exe, så åbner den windows stifinder hvor jeg skal bruge skrivebordet. Så jeg når jeg lukker argentum og vil åbne skrivebordet skal Shell ændres fra argentum.exe til explorer.exe før jeg kan execute explorer.exe
Avatar billede kjulius Novice
11. juli 2011 - 17:09 #5
Jeg er på ingen måde ekspert, men jeg har fundet en artikel, som måske kan give et fif om, hvordan det kan gøres. Den er dog ikke baseret på Windows 7, så det skal nok tages med et gran salt.

Men som jeg læser artiklen, så er der i registreringsdatabasen en key, som angiver et program, som skal starte den shell der er angivet i registreringsdatabasen. Det kan bruges til at angive et andet program (dit argentum program) i stedet, som så bliver startet før den normale explorer/windows shell. Herefter er det så dit programs opgave at starte explorer/windows shell (der står stadig det samme standard entry i den key, du har ændret), når det er tid til at starte den.

Prøv at kigge på det - det kunne jo være, at det virker i W7...

http://support.microsoft.com/kb/142905
Avatar billede Blueeyez Mester
11. juli 2011 - 17:24 #6
#4 Nu ved jeg ikke lige hvordan det program du vil have op og køre fungerer, men det lyder blot som et ekstra login system?
Avatar billede Donkanalie Nybegynder
11. juli 2011 - 18:20 #7
Det består i at man ikke må kunne bruge skrivebordet uden at registrer sig og udfylde en formular. Det er kun til test og udvikling. Undersøger forskellige metoder og dette er et af dem.
Avatar billede Donkanalie Nybegynder
11. juli 2011 - 18:42 #8
Men kan ikke få mit program til at ændre i Windows Registry. Den skal ændre Shell for explore.exe til argentum.exe. jeg har lavet en .bat som gør det uden brugeren skal acceptere. Men når jeg executer .bat filen i Argentum så ændre den ikke Shell. Hvis jeg bare executer min batch gør den som den skal. : http://img535.imageshack.us/img535/9906/explorerv.jpg .
Men det kan da ikke være rigtigt at man i VB ikke kan ændre i registry og skal gøre det i batch?
Avatar billede Donkanalie Nybegynder
11. juli 2011 - 18:45 #9
#5 Ja det kunne være en mulighed. Jeg har jo alligevel fjernet muligheden for at lukke Argentum. Det vil jeg da lige se på. Tak for tippet. :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester