• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 628
  • Last Modified:

How to create a vbscript for a text box?

Hi all,

I'm new to VBScripts. I need a script for a textbox with a titlebar that has a OK button and the data from the textbox is written to a registry key in a specific location in the registry without overwriting the key if the script is ran again.

Hope I didn't confuse anyone.  Any help will be appricated!!

Thanks.
0
keonh
Asked:
keonh
  • 5
  • 5
1 Solution
 
TakedaTCommented:
Do you mean an inputbox rather than a textbox?
0
 
keonhAuthor Commented:
Yes, inputbox or a textbox that you can type in. Like a login dialog box. I guess it can be called either depending on its use. I remember it being called a textbox a long time ago. :)
0
 
TakedaTCommented:
Can you provide more info?
1 The name of the key.
2 Does this key already exist or does it need to be created?
3 Where does the input data get written to, an actual key name, value name, or value data?

0
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

 
keonhAuthor Commented:
The key will be need to be written to HKEY_LOCAL_MACHINE\SOFTWARE\Image
as a String Vaule named Tech (Vaule Name) and the value data needs to be what was typed in the box.

Let me know if you need more info.
0
 
TakedaTCommented:
I think this is what you are looking for.
Const HKEY_LOCAL_MACHINE = &H80000002
 
strComputer="."
strRegKey="SOFTWARE\Image"
strValue = "Tech"
bKeyExists = False
 
Set objReg=GetObject("winmgmts:{impersonationlevel=impersonate}!\\" &_
	strComputer & "\root\default:StdRegProv")
objReg.EnumKey HKEY_LOCAL_MACHINE,"SOFTWARE",arrSubKeys
 
For Each subkey In arrSubKeys
    If subkey = "Image" then
    	bKeyExists = True
    	wscript.quit
    End If
Next
strNewVal = InputBox("Enter the value")
objReg.CreateKey HKEY_LOCAL_MACHINE,strRegKey
objReg.SetStringValue HKEY_LOCAL_MACHINE,strRegKey,strValue,strNewVal

Open in new window

0
 
keonhAuthor Commented:
Takeda, This works great!!

I do have one change, I noticed that the input box doesn't run after the first entry because the Image key is created.. That's fine but I would like to validate against the "Tech" key value and not the Image sub key. If the Tech key has a value, then quit, but a value is required.

Thanks again!!

0
 
TakedaTCommented:
Not a problem, but I am not at a pc right now, I will fix it for you hopefully later tonight.
0
 
keonhAuthor Commented:
No problem!! I can wait. Its not like I can figure it out. Btw, can you recommend any scripting books for beginners? Thanks again!!
0
 
TakedaTCommented:
Here you go.  Honestly, what I know, I have learned from online tutorials/helpdocs and just years of experience.  But, if you are looking for good sources of reference, then MSDN is a good place to go.  If you have none/minimal knowledge of vbscript, then just a simple google search for vbscript tutorials can help get you started.  No one book is going to be enough.

http://msdn.microsoft.com/en-us/library/sx7b3k7y(VS.85).aspx

And of course, EE has plenty of examples for you to learn from.  Thats why Im here.
Const HKEY_LOCAL_MACHINE = &H80000002
 
strComputer="."
strRegKey="SOFTWARE\Image"
strValue = "Tech"
bKeyExists = False
 
Set objReg=GetObject("winmgmts:{impersonationlevel=impersonate}!\\" &_
	strComputer & "\root\default:StdRegProv")
objReg.EnumKey HKEY_LOCAL_MACHINE,"SOFTWARE",arrSubKeys
 
For Each subkey In arrSubKeys
    If subkey = "Image" then
    	bKeyExists = True
    End If
Next
If bKeyExists = False then
	objReg.CreateKey HKEY_LOCAL_MACHINE,strRegKey
End If
 
objReg.GetStringValue HKEY_LOCAL_MACHINE,strRegKey,strValue,strTech
If vartype(strTech)<>8 then
	strNewVal = InputBox("Enter the value")
	objReg.SetStringValue HKEY_LOCAL_MACHINE,strRegKey,strValue,strNewVal
Elseif strTech = "" then
	strNewVal = InputBox("Enter the value")
	objReg.SetStringValue HKEY_LOCAL_MACHINE,strRegKey,strValue,strNewVal
Else
	wscript.quit
End If

Open in new window

0
 
keonhAuthor Commented:
Thanks TakedaT!! This is perfect!!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 5
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now