Gå til innhold

Hvordan lage script som endrer HKEY_CURRENT_USER?


Anbefalte innlegg

Skrevet

Trenger å endre noe i HKEY_CURRENT_USER\control panel\International\

 

dette må kunne gjøres automatisk fra et script som kjøres når et annet program installeres eller startes (mao en del av installasjonsprosedyren til dette programmet). NOen som vet hvordan det kan gjøres?

 

Helt eksakt så skal

 

sDecimal og sMonDecimalSep stilles til "." fra "," hvis de ikke har det fra før.

 

Dette kan gjøres manuelt fra control panel, men de som skal bruke programmet er ikke datakyndige, så da hadde det vært best om det kunne gjølres automatisk.

 

takker for hjelp!

Videoannonse
Annonse
Skrevet (endret)

1. Gå til mappen.

2. Fil - eksporter.

3. Endre fra , til . i notepad

4. Når du nå åpner .reg-filen vil det stilles til "."

 

Var det sånn du mente?

Endret av PepsiCo
Skrevet
1. Gå til mappen.

2. Fil - eksporter.

3. Endre fra , til . i notepad

4. Når du nå åpner .reg-filen vil det stilles til "."

 

Var det sånn du mente?

7549843[/snapback]

 

Hmm...nesten. Men det er litt viktig at bare de to verdiene jeg nevnte i den første posten blir endret. Jeg så at filen som ble generert hadde verdier på alle variablene i mappen. er det mulig å ta bort disse fra filen i notepad, og bare la de to variablene jeg vil endre verdien på stå igjen? eller blir det rot?

Skrevet
jeg tok sjangsen og prøvde det, og det gikk fint ann å fjerne det som ikke skal skiftes på :thumbup:

7550072[/snapback]

 

Hehe, tok sjansen og prøvde jeg også... ser ut til å funke det! takker! Bare en ting til slutt. dette er noe som må kjøres når et program skrevet i VB startes. er det mulig å kjøre reg-filen via vb-kode? prøvde å lagre reg-fila som en bat, men da funka det ikke...

 

og en siste ting.. er det mulig å hente disse verdiene ved hjelp av et script i tillegg? slik at de originale verdiene kan lagres og gjenopprettes når programmet lukkes?

Skrevet

Et vbs-script som koordinerer endring av registeret, kjøring av programmet og tilbakestilling av registeret:

 

Set WshShell = WScript.CreateObject("WScript.Shell")

Return = WshShell.Run("fil_1.reg",,true) 'endrer reg.

Return = WshShell.Run("pgm.exe",,true) 'program utføres

Return = WshShell.Run("fil_2.reg",,true) 'tilbakestiller reg.

 

Lagre scriptet og fil_1.reg og fil2_reg i mappen der programmet ligger. fil_1.reg og fil_2.reg lager du som ovenfor forklart. Bytt så ut programmets snarvei med en snarvei til scriptet og eventuelt gi snarveien et passende ikon.

Skrevet
Et vbs-script som koordinerer endring av registeret, kjøring av programmet og  tilbakestilling av registeret:

 

Set WshShell = WScript.CreateObject("WScript.Shell")

Return = WshShell.Run("fil_1.reg",,true) 'endrer reg.

Return = WshShell.Run("pgm.exe",,true) 'program utføres

Return = WshShell.Run("fil_2.reg",,true) 'tilbakestiller reg.

 

Lagre scriptet og fil_1.reg og fil2_reg i mappen der programmet ligger. fil_1.reg og fil_2.reg lager du som ovenfor forklart. Bytt så ut programmets snarvei med en snarvei til scriptet og eventuelt gi snarveien et passende ikon.

7554226[/snapback]

 

Takk for svar! Nå gjenstår bare en ting...

 

I utgangspunktet vet jeg ikke hva reg-instillingene er på de datamaskinene som skal kjøre programmet, ettersom at de kommer til å være spredt utover hele landet. Derfor: er det mulig å automatisk greie å opprette en regfil med instillingene som er på datamaskinen uten å gjøre dette manuelt gjennom regedit?

Skrevet

Nå har jeg prøvd meg fram litt, men ser ut til at det ikke fungere helt etter planen:

 

jeg prøvde å kjøre scriptet du ga meg, men noen problemer oppsto:

 

Når man starter dette programmet, er det egentlig bare en database man åpner, men startes via en snarvei, siden det er en del tillegg som også må startes: target i snarveien ser slik ut:

 

"C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE" /wrkgrp C:\Dhis14\DHIS_USR.mdw

C:\Dhis14\DHIS_Core.mdb

 

Hvordan skal jeg gjøre det da?

 

Prøvde å sette snarveinavnet inn i scriptfila, men ga noen feilmeldinger:

Det virket som om den prøvde å kjøre hele scriptet på en gang, uten å vente på at hovedprogrammet skulle avsluttes. Derfor, å endre registry ved oppstart fungerte, dog med en feilmelding. men scriptet ble tydeligvis avluttet etter det, siden det ikke ble endret tilbake til originale instillinger etter programslutt.

 

Er det forresten mulig å legge inn i reg uten at brukeren blir advart om det?

Skrevet

Her er et eksempel på hvordan man med vbs-script kan starte opp en snarvei som ligger på skrivebordet (her MS Word):

 

Set WshShell = WScript.CreateObject("WScript.Shell")

filnavn = "cmd.exe /k " & """" & "c:/Documents and Settings/" _

& "Eier/Skrivebord/Microsoft Word.lnk" & """"

Return = WshShell.Run (filnavn,,true) 'program utføres

 

Et problem her at dos-boksen er synlig!

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...